Як організувати виведення новин на MODx

  1. Правимо висновок новин в нижньому блоці сайту

Сьогодні ми з вами розберемо те, як створити сторінку з новинами. Цей інструмент часто використовується компаніями для залучення додаткового трафіку, який приходить саме на інформаційні запити.

Перш ніж ми почнемо правити код, пропоную створити 3 тестові новини і зробити їх дочірніх до пункту меню «Новини».

Ось як це зробив я.

Ось як це зробив я

Обов'язково заповнюйте поле "Загальні відомості". У цьому типі записів воно нам знадобиться.

У цьому типі записів воно нам знадобиться

Тепер переходимо безпосередньо до інструментів, які ми будемо використовувати. Для цих цілей ми застосуємо сниппет Ditto. Я можу сміливо сказати, що це найбільш корисний і часто використовуваний сниппет в MODx. Він дозволяє виводити статті або новини у вигляді блогу, створювати карту сайту і інші фішки, які покращують весь проект.

Даний сниппет має безліч параметрів, а конструкція їх застосування така ж як і увсех інших фрагментів.

[[Ditto? & Amp; параметр1 = `значеніе` & amp; параметр2 =` значеніе`]]

Всі ці параметри ви можете знайти в документації і користуватися ними як довідковими даними.

Давайте відразу задіємо цей елемент. Для цього переходимо до дерева матеріалів, і натискаємо редагувати на пункті меню «Новини».

В область з контентом вставляємо ось таку конструкцію:

[[Ditto]]

[[Ditto]]

Перевіряємо результат на сайті.

Перевіряємо результат на сайті

Досить хороший результат, враховуючи, що ми витратили на це, не більше 20 сек.

Але часто потрібно змінити саму схему виведення цих новин, наприклад, формат дати, додати кнопку докладніше та інше.

Саме тут на допомогу і приходять параметри Ditto.

Щоб змінити формат виведення матеріалів потрібно створити новий чанк і прив'язати його до Ditto, за допомогою спеціальної конструкції:

[[Ditto? & Tpl = `novosti`]]

, Де novosti - це ім'я чанка який ми тільки що створили.

Що поміщати в код цього чанка? Тут ми будемо застосовувати кілька параметрів:

[+ longtitle +] - буде відображати заголовок новини

[+ date +] - атрибут для виведення дати публікації матеріалу

[+ introtext +] - вступний текст статті.

Так, що створюємо чанк - «novosti» і поміщаємо туди наш код:

<Div id = "news"> <h2> [+ pagetitle +] </ h2> <div class = "introtext"> <span class = "date"> [+ date +] </ span> [+ introtext +] </ div > </ div>

А в статті «Новини» вставляємо конструкцію:

[[Ditto? & Tpl = `novosti`]]

Як бачите, пропали посилання з заголовків статей.

Давайте, це виправимо і заодно додамо посилання читати далі. Для цього трохи змінимо чанк «nvosti».

Кінцевий код буде мати вигляд:

<Div id = "news"> <h2> <a href="[~[+id+]~]" title="[+pagetitle+]"> [+ pagetitle +] </a> </ h2> <div class = "introtext"> <span class = "date"> [+ date +] </ span> [+ introtext +] </ div> <div class = "readmore"> <a href = "[~ [+ id +] ~]" > Читати далі → </a> </ div> </ div>

, Де href = "[~ [+ id +] ~]» - посилання на сторінку новини.

Ось приклад коду, який можна використовувати для виведення новин.

[[Ditto? & Tpl = `news-article` & dateSource =` pub_date` & dateFormat = `% d.% M.% Y`]]

Тут, & dateSource - тип дати, наприклад публікації, або останньої зміни.

& DateFormat - формат дати, який можна виправити на будь-який потрібний для вас.

& DateFormat - формат дати, який можна виправити на будь-який потрібний для вас

Правимо висновок новин в нижньому блоці сайту

Я наведу приклади змін і дещо прокоментую.

По-перше, створюємо новий чанк з назвою - «bottom_news». В який поміщаємо ось цей код:

<Div class = "entry"> <div class = "entry-inner"> <div class = "date"> [+ date +] </ div> <div class = "cnt"> <p> <a href = " [~ [+ id +] ~] "title =" [+ pagetitle +] "> [+ pagetitle +] </a> </ p> <p class =" meta "> <a href =" [~ [+ id +] ~ ] "title =" Перейти до повного тексту новини "> Читати далі → </a> </ p> </ div> </ div> </ div>

Тут все зроблено за принципом розказаному вище.

Тепер редагуємо чанк - «BOTTOM» і замість коду.

<Div class = "entry"> <h3> Latest Blog Posts </ h3> <div class = "entry-inner"> <div class = "date"> <strong> 01 </ strong> <span> 2012 </ span> <em> feb </ em> </ div> <div class = "cnt"> <p> <a href="#"> Lorem ipsum dolor sit <br /> amet, consectetur dor </a> < / p> <p class = "meta"> <a href="#"> by John Doe </a> / <a href="#"> Category Name </a> </ p> </ div> < / div> <div class = "entry-inner"> <div class = "date"> <strong> 28 </ strong> <span> 2012 </ span> <em> jan </ em> </ div> < div class = "cnt"> <p> <a href="#"> Lorem ipsum dolor sit <br /> amet, consectetur dor </a> </ p> <p class = "meta"> <a href = "#"> by John Doe </a> / <a href="#"> Category Name </a> </ p> </ div> </ div> <div class = "entry-inner"> <div class = "date"> <strong> 11 </ strong> <span> 2012 </ span> <em> feb </ em> </ div> <div class = "cnt"> <p> <a href = " # "> Lorem ipsum dolor sit <br /> amet, consectetur dor </a> </ p> <p class =" meta "> <a href="#"> by John Doe </a> / <a href = "#"> Category Name </a> </ p> </ div> </ div> </ div>

Вставляємо наступний:

<Div style = "float: left; width: 286px; padding-right: 40px;"> <h3> Новини компанії </ h3> [[Ditto? & Tpl = `bottom_news` & startID =` 6` & dateSource = `pub_date` & dateFormat =` <span style = "font-weight: bold; font-weight: 16px! Important; color: # 00acef; text-align: center;"> % d.% m </ span> <br /> <span style = "font-weight: bold; text-align: center; font-weight: 16px! important;">% Y` </ span>]] < / div>

Тут з'явився новий параметр Ditto & started - в значенні, якого потрібно вказати id матеріалу, звідки ми будемо виводити новини. У мене він під номером 6.

Тиснемо зберегти і йдемо перевіряти результат.

На цьому сьогодні все. У наступному уроці ми торкнемося ще одну гілку функціоналу MODx, а саме TV параметри.

Ditto?
Що поміщати в код цього чанка?
Ditto?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: