Работаю по всей России

vasilisa1210@mail.ru

Главная » Уроки » Уроки по Modx Evo » [Modx Evo] Новости Ditto Modx

[Modx Evo] Новости Ditto Modx

  1. Создаем новый ресурс, называем его «Новости», переходим на вкладку Настройки страницы и снимаем галочку около "Кэшируемый" (это необходимо, что бы работал переключатель страниц)
  2. Все дочерние документы этого ресурса будут нашими новостями. В поле Заголовок вводим заголовок новости, в поле Summary вводим сокращенную новость, в самое большое окно вводим полный текст новости. Обязательно включить галочку на Опубликовать. Для создания дочернего документа правой кнопкой нажимаем на документе «Новости» и выбираем «Дочерний док.» (“Create document here”)
  3. Создаем чанк , например ”tpl_news” который будет содержать html-шаблон вывода статьи. 

    <div class="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+]~]" title="Перейти к полному тексту новости">Читать дальше →</a></div>
    </div>

  4. css прописываем

    .news {padding:0; margin:0 0 15px 0;}
    .news h2 {padding:0px; margin:0px; border:none;}
    .news h4 {padding:0px; margin:0px; border:none; font-size: 13px; font-weight:bolder; color:#3359CC;}
    .news .introtext{padding:5px 0 0 0;}
    .news .introtext .date {font-style:italic;}
    .news .readmore {text-align:right;}

  5. Что бы создать страницу вывода всех новостей в самом большом окошке ресурса «Новости» (или создаем новый ресурс и выполняем пункт 1) вызываем КЕШИРИРУЕМЫЙ Ditto
    &summarize=`5` — задаем количество новостей на странице
    &paginate=1 — включаем режим разбивки на страницы, тем самым отключаем архив
    &tpl=` tpl_news ` - ссылаемся на ранее созданный нами шаблон вывода статей.

    [[Ditto? &startID=`5` &summarize=`20` &tpl=`tpl_news` &paginate=`1`]] Показаны [+start+] - [+stop+] из [+total+] Новостей [+previous+] [+pages+] [+next+]

  6. Что бы создать блок нескольких последних новостей на главной странице, в нужном месте вызываем Ditto 

[[Ditto? &id=`news` &startID=`11,15` &summarize=`3` &tpl=`ditto_news`&sortBy=`menuindex`&sortDir=`ASC`]]

Сортировка:

&sortBy=`menuindex` или date или любой TV

 &sortDir=`ASC` или DESC

Дополнение:

[+createdon:date=`%d.%m.%Y`+] // дата создания документа
[+editedon:date=`%d.%m.%Y`+] // дата последнего редактирования документа
[+pub_date:date=`%d.%m.%Y`+] // дата публикации документа

Фото к новости

Создаем TV с именем foto и типом - картинка, применяем к шаблону вывода новостей, вписываем TV в шаблоны вывода новостей:

[+phx:if=`[*foto*]`:is=``:then=`<img alt="Нет фотографии" src="[*nofoto*]">`:else=`<img alt="[*pagetitle*]" src="[*foto*]">`+]

Создаем второй TV с именем nofoto и типом ввода Image, применяем к шаблону новостей, в значение по умолчанию прописываем путь к кртинке - заглушке.