Создание блога на MODx. Урок 7 — Оформление внутренних страниц блога и подключение комментариев

В сегодняшнем уроке мы с вами разберем на практике несколько моментов, необходимых для оформления внутренних страниц блога: добавим на внутренние страницы вывод даты публикации, блок «Поделиться в социальных сетях», цепочку навигации и комментарии к заметке.

Во время прохождения прошлых уроков мы с вами вынесли содержимое колонки с основным контентом страницы в отдельный чанк — MAIN-INSIDE. Отправляемся его редактировать.

Сейчас в чанке MAIN-INSIDE находится вывод заголовка и вывод содержимого страницы с помощью конструкции:

<div id="main">
<h2>[*pagetitle*]</h2>
[*content*]
</div>

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

Заголовки страницы

Давайте немного поработаем с выводом заголовков <h2> для статьи. Довольно часто посетители блога меня спрашивают, зачем в MODx предусмотрено два поля для ввода заголовков ресурса («Заголовок» и «Расширенный заголовок») и в каких случаях нужно использовать то или иное поле. Постараюсь ответить на этот вопрос исходя из собственной практики. Иногда случается, что заголовки ресурсов необходимо размещать не только на самой странице с заметкой  в качестве главного заголовка страницы, но и в других местах на сайте, например, в каком-нибудь слайдере последних новостей, в котором место под вывод подобного заголовка может быть ограничено. В таких случаях, чтобы не поплыл дизайн вашего блока фиксированных размеров, и пригодится использование более короткого заголовка, а на странице статьи можно использовать развернутое название.

Предвидя ваш вопрос: «почему бы в этом случае всегда не использовать только краткие заголовки», отвечаю — поисковые машины все еще в большой степени при анализе страницы (о чем публикация) ориентируются именно на главный заголовок статьи и заголовок страницы, прописанный в теге <title>. Поэтому его лучше сделать более информативным, но при этом не слишком длинным.

Для того, чтобы изначально заложить возможность использования в MODx и кратких заголовков и расширенных, мы опять возвращаемся к использованию плагина PHx, который установили во время  5 урока.

Давайте реализуем следующее: если при редактировании ресурса заполнить оба поля «Заголовок» (pagetitle) и «Расширенный заголовок» (longtitle), то на страницах будет выводится содержимое поля longtitle, если же это поле с расширенным заголовком оставить пустым, то на страницах будет выведена информация из поля pagetitle. Делается это с помощью следующей условной конструкции:

<h2>[+phx:if=`[*longtitle*]`:is=``:then=`[*pagetitle*]`:else=`[*longtitle*]`+]</h2>

Эту конструкцию мы помещаем в чанк MAIN-INSIDE вместо обычного вывода заголовка. 

Список меток для статьи

После того, как мы закончили с заголовками статей, давайте добавим вывод для каждой статьи перечень меток, сопровождающих её. Эти метки мы уже выводили при создании анонсов статей на страницах категорий. Добавляем в чанке MAIN-INSIDE после вывода заголовка <h2> следующую конструкцию:

[+phx:if=`[*tags*]`:is=``:then=``:else=`<p class="post-info">[[tagLinks? &id=`[*id*]` &tv=`tags` &separator=`,` &element=`span` &fap=`1` &path=`index.html` &label=` `]]</p>`+]

С помощью этой конструкции мы проверяем, вписаны ли в TV параметре tags какие-нибудь теги, и при их наличии выводим их на странице с CSS классом post-info. Обратите внимание: сейчас для указания TV параметра, в который вписаны теги и ID текущей страницы мы используем [*tags*] и [*id*], в то время как в шаблоне вывода Ditto при реализации анонсов заметок нам приходилось использовать [+tags+] и [+id+].

После всех внесенных изменений содержимое чанка будет следующим:

<div id="main">
<h2>[+phx:if=`[*longtitle*]`:is=``:then=`[*pagetitle*]`:else=`[*longtitle*]`+]</h2>
[+phx:if=`[*tags*]`:is=``:then=``:else=`<p class="post-info">[[tagLinks? &id=`[*id*]` &tv=`tags` &separator=`,` &element=`span` &fap=`1` &path=`index.html` &label=` `]]</p>`+]
[*content*]
</div>

В CSS находим следующие строки:

.post .post-info a:link,.post .post-info a:visited {  color: #1372a8;  border: none;  font-size: 11px;	padding: 1px;}
.post .post-info a:hover {background:#33799b; color:#FFF;}

и заменяем на 

.post-info a:link,.post-info a:visited {  color: #1372a8;  border: none;  font-size: 11px;	padding: 1px;}
.post-info a:hover {background:#33799b; color:#FFF;}

Т.е. просто убираем дополнительный селектор .post, для того, чтобы у нас список меток был оформлен одинаково и на страницах категорий и непосредственно на страницах с полным текстом заметки, на которых нет контейнера с классом post.

Блок «Поделиться в социальных сетях» и дата публикации

Давайте после основного контента на странице добавим дату публикации статьи, чтобы посетители при желании могли увидеть, насколько она актуальна и как давно написана эта статья и блок «Поделиться в социальных сетях», с помощью которого ваши посетители смогут размещать ссылку на страницу вашего сайта в социальных сетях, своих блогах или микроблогах.

При выводе даты публикации на странице мы воспользуемся модификатором плагина плагином PHx — date.

Реализуем такой вывод даты публикации, в котором при наведении курсора будет появляться информация о времени публикации. Сделать это можно с помощью следующей конструкции:

<acronym title="Дата публикации: [*pub_date:date=`%d.%m.%y в %H:%M`*]">[*pub_date:date=`%d.%m.%Y`*]</acronym>

Для реализации блока «Поделиться» воспользуемся Яндекс API. Переходим на страницу: api.yandex.ru/share. В левой колонке выбираем сервисы, иконки которых будут отображаться на страницах сайта, при этом в правой колонке можно будет выбрать один из нескольких представлений блока. Выбрав необходимые сервисы и указав внешний вид, необходимо скопировать содержимое поля «Код». Этот JavaScript код в дальнейшем нужно будет вставить на страницу блога в том месте, где мы хотим видеть блок «Поделиться».

Блок Поделиться от яндекса

Предлагаю для этого блога сразу создать отдельный чанк с именем, например, yandex-share и скопировать туда сгенерированный код.

Чанк для блока поделиться

Изменить порядок отображения иконок на сайте можно с помощью изменения порядка в котором вписаны названия сервисов в следующей строчке кода:

data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,friendfeed,moikrug"

После сохранения чанка yandex-share давайте оформим вывод блока «Поделиться в социальных сетях» и даты публикации в конце статьи. 

В чанк MAIN-INSIDE перед закрывающимся дивом с id="main" прописываем следующую конструкцию с указанными CSS классами блоков:

<div class="pub_date_share">
<div class="pub_date"><acronym title="Дата публикации: [*pub_date:date=`%d.%m.%y в %H:%M`*]">[*pub_date:date=`%d.%m.%Y`*]</acronym></div>
<div class="ya-share">{{yandex-share}}</div>
</div>

При этом CSS добавим стили для позиционирования и стилевого оформления внесенной разметки:

.pub_date_share{overflow:hidden; margin: 25px 0;}
.pub_date{ background: url(../images/clock.gif) no-repeat 2px center; padding-left:25px; width:120px; float:left; margin-left:25px;}
.ya-share{ float:right; width:350px; text-align:right; margin-right:25px;}

После этого каждая заметка с шаблоном «Внутренняя страница» в конце будет содержать блок следующего вида:

Блок снизу страницы сайта

Строка навигации «Хлебные крошки»

Сейчас давайте добавим вывод цепочки навигации на внутренних страницах сайта. Это поможет сделать навигацию по сайту еще более удобной. Помимо этого, цепочка навигации добавит дополнительную перелинковку страниц, которая должна положительно сказаться на видимости вашего сайта поисковыми системами.

Для создания хлебных крошек использовать будем сниппет Breadcrumbs. При желании вы можете прочитать более подробный урок, об этом сниппете и реализации цепочек навигации

Добавим после блока pub_date_share следующую конструкцию:

<div id="breadcrumb">[[Breadcrumbs?  &homeCrumbDescription=`Перейти на главную страницу` &linkDescField=`longtitle`]]</div>

И в CSS файле добавим стили для этой цепочки навигации.

#breadcrumb{ margin:0 25 10px 0; border:1px solid #d4d4d4; background:#f3f4f5; color:#666666; font-size:11px; padding:0 10px;}
#breadcrumb a{ color:#33799b;}

После добавления стилей внешний вид цепочки навигации будет следующим:

Хлебные крошки на внутренних страницах

Комментирование материалов блога

В качестве системы комментирования на блоге будем использовать Disqus, которая стоит в настоящий момент у меня на блоге.

Основные плюсы этой системы:

  • Управление комментариями по e-mail (можно отвечать на комментарии или удалять их со своего почтового ящика, не заходя на сам сайт)
  • Возможность использовать на нескольких сайтах и блогах одновременно и при этом управлять комментариями из одного места
  • Надежная спам-защита
  • Древовидная система комментирования
  • Авторизация пользователей через самые распространенные социальные сервисы: Google, Twitter, Facebook или используя Open ID
  • Приятный внешний вид комментариев с использованием Ajax подгрузки
  • Возможность пользователей подписаться на новые комментарии к любой статье

Внимание: подключение комментариев от Disqus к вашему блогу можно осуществить, только если он уже выложен в интернете. Если же вы делаете блог на локальном компьютере, то рекомендую пока ознакомиться с процессом подключения системы комментирования, а произвести непосредственно интеграцию вы сможете после того, как вы разместите свой блог на хостинге.

Добавление комментирования сводится к двум этапам:

  1. Реализации комментариев на странице с заметкой
  2. Подключение счетчика оставленных комментариев на страницах категорий

Чтобы реализовать первый этап отправляемся на сайт disqus.com, на котором необходимо пройти регистрацию: нажимаем на кнопку «Sign Up».

Регистрация в системе Disqus

После этого мы попадаем на страницу регистрации, на которой необходимо ввести все основные данные.

Заполняем поля при регистрации Disqus

Заполняем поля следующим образом:

  • Site URL — вписываете URL адрес вашего блога.
  • Site Name — имя вашего блога.
  • Site Shortname — уникальный идентификатор вашего блога в системе Disqus (поле не может содержать в себе пробелов или знаков кириллицы), в дальнейшем мы будем использовать содержимое этого поля при подключении JavaScript кода комментариев к блогу.
  • Username — имя пользователя, которое вы будете использовать при авторизации в Disqus.
  • Password — ваш пароль.
  • Email adress — адрес вашего реального ящика электронной почты, используя который вы будете управлять комментариями.

После заполнения всех полей нажимаем кнопку «Continue» для перехода странице с основными настройками.

Русский язык в Disqus

На этом шаге можно выбрать из выпадающего списка русский язык, а остальные поля оставить без изменений. Для перехода к следующему шагу нажмите на кнопку «Continue».

На третьем шаге выбираем вариант установки — выберите Universal Code. В этом случае мы будем интегрировать комментарии на сайт с помощью JavaScript кода, который можно вставить практически куда угодно.

Выбор варианта установки

Копируем предложенный код:

Предложенный код для вставки комментирования

и помещаем его в чанк с именем, например, COMMENTS.

Создаем новый чанк COMMENTS

При этом обязательно (!) измените значение переменной disqus_shortname. Впишите туда значение идентификатора, который вы вписали в поле «Site Shortname» на первом шаге при регистрации в системе Disqus.

Помимо переменной disqus_shortname желательно указать  уникальный идентификатор страницы. Делается это с помощью добавления еще одной переменной — disqus_identifier. В значении этой переменной необходимо вписать какую-нибудь уникальную строку, чтобы каждой странице с комментариями был присвоен уникальный идентификатор. Уникальный идентификатор можно сгенерировать с помощью специальных тегов MODx:

var disqus_identifier = '[(site_url)][*id*]';

Добавление переменной disqus_identifier может избавить вас в дальнейшем от возможных проблем с отображением комментариев. Например, без использования этой переменной, комментарии, оставленные на с странице с http://www.exemple могут не отображаются на странице http://exemple и наоборот. Так как Disqus считает эти URL (с www и без) абсолютно разными страницами.

После внесения изменений в JavaScript код Disqus сохраняем чанк COMMENTS и добавляем его вызов в чанк MAIN-INSIDE сразу после блока <div id="breadcrumb">. После этого если посмотреть в браузере любую страницу с шаблоном «Внутренняя страница» можно увидеть следующую форму для отправки комментариев. 

Форма комментирования Disqus

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

Отправка комментария

После отправки комментариев по умолчанию они будут подгружаться ниже этой формы.

Добавляем стиль в CSS файл, чтобы убрать отступы вокруг аватарки в комментариях:

#dsq-content .dsq-avatar img{ padding:0;}

Как вы видите, добавление комментариев от Disqus оказалось очень простым, для этого нам понадобилось всего лишь после регистрации на disqus.com скопировать универсальный код, поместить его в чанк, внеся небольшие изменения и вызвать этот чанк с кодом на странице, на которой мы хотим подключить комментарии.

Настройка комментариев Disqus

Все настройки ваших комментариев будут производиться на вкладке «Settings» панели управления комментариями. Попасть туда можно перейдя из пункта меню Admin после авторизации на сайте discus.com.

Настройки комментирования

Я вам вкратце расскажу о настройках, какие имеются в Disqus, чтобы вы представляли себе, что именно можно изменить в комментировании материалов вашего блога.

На вкладке «Settings» в левой колонке будет отображаться меню для перехода по страницам с разными настройками: General, Moderation, Appearance, Access Control. Подробнее о каждой группе настроек читайте дальше.

При внесении любых правок в настройках комментариев внизу страницы появится панель с кнопками, используя которые можно применить изменения либо отказаться от внесенных правок.Применить изменения

На странице General можно оставить все настройки без изменений. Здесь в добавок к тем настройкам, которые мы уже заполняли на втором шаге регистрации, можно указывать кто именно сможет оставлять комментарии: любые пользователи, либо только зарегистрированные с проверенным e-mail (не рекомендую менять этот параметр) и выбрать часовой пояс.

На странице Moderation доступны следующие настройки модерации комментариев:

  • Pre-Moderation — включить проверку публикуемых комментариев до публикации или нет. Если выставить Yes, то перед публикацией на блоге комментарий должен быть подтвержден администратором или модератором.
  • Automatic Closing — закрыть возможность комментирования поста после определенного количества дней. Если в качестве количества дней указан 0, то комментарии для статьи не будут закрыты никогда.
  • Links in Comments — если поставить галочку, то все комментарии, содержащие в себе ссылку, будут публиковаться в блоге только после одобрения модератора.
  • Image Uploads — если поставить галочку, то все комментарии с прикрепленными изображениями будут публиковаться в блоге только после одобрения модератора.
  • Flagged Comments — позволяет пользователям пожаловаться на комментарий, при указанном числе жалоб от пользователей, комментарий будет скрыт от посетителей сайта.

На странице Appearance вы сможете настроить внешний вид ваших комментариев, используя следующие настройки: 

  • Theme — выбор внешнего вида комментариев. Сейчас доступно две темы.
  • Mobile Theme — включить отображение мобильной версии  для посетителей, просматривающих сайт с мобильных устройств. По умолчанию включено.
  • Threading — использовать вложенные (древовидные) комментарии или нет. По умолчанию включена вложенность.
  • Thread Max Depth — разрешенный уровень вложенности комментариев.
  • Pagination — при большом количестве комментариев к статье, они будут разбиты на страницы. С помощью этой настройки вы сможете указать, какое количество комментариев будет на странице, при разбиении странице. По умолчанию — 5, максимум — 250. Вы можете указать любое число, например, 20. 
  • Pagination Type — тип постраничного разбиения комментариев. Либо подгрузка комментариев по нажатии на ссылку «Больше комментариев», либо постраничное разбиение с номерами страниц. По умолчанию включен первый вариант.
  • Default Sort — сортировка комментариев по умолчанию. Доступно несколько вариантов: сначала новые, сначала старые, сначала самые популярные (количество нажатий «Нравится»), или сначала отображать комментарии, быстро набирающие популярность. При просмотре комментариев на странице статьи посетитель может из выпадающего списка выбрать подходящую ему сортировку.
  • Comment Form Position — отображение комментариев выше или ниже формы. По умолчанию все комментарии отображаются под формой комментирования.
  • Avatar Pictures — с помощью этого параметра можно включить/отключить отображение аватарок пользователей и указать их размер.
  • Default Avatar — аватарка пользователя по умолчанию. Отображается при комментировании материалов не авторизованными пользователями.
  • Liked Comments — с помощью этого параметра можно выбрать вариант отображения тех, кому понравился тот или иной комментарий: указывать имена, либо просто количество человек, нажавших на кнопку «Нравится».
  • Truncate Comments — максимальное количество слов комментария. По умолчанию размер комментария не ограничен.
  • Date/Time Formatting — формат вывода даты публикации комментария. Доступны абсолютный (сегодня во столько-то) или относительный формат (столько-то времени назад).
  • Comment Count Link — текст ссылки на комментарии в счетчике, в зависимости от количества комментариев. Предлагаю в поле Zero Comments вписать — Нет комментариев, а в остальные два поля — Комментарии ({num}). В этом случае вы не столкнетесь с несовпадением окончаний.

На странице Access Control можно закрывать возможность комментирования для некоторых пользователей по e-mail, по IP либо по стоп-словам, при наличии которых в комментарии он не будет опубликован до одобрения модератором.

Добавляем счетчик комментариев на страницу категорий

После того, как мы поместили вызов чанка COMMENTS на внутреннюю страницу блога и внесли требуемые изменения в настройку комментирования, нам необходимо еще вывести информацию о количестве оставленных комментариев для каждой статьи на страницах категорий. Для этого снова отправляемся на сайт disqus.com, следуем по пути → вкладка Install → Universal Code и копируем код для счетчика, который необходимо будет вставить в шаблон «Категории» перед закрывающимся тегом body.

Код для счетчика комментирования

Помещаем этот код в чанк с именем, например, disqus-count:

Чанк с кодом счетчика

При этом также как и в случае с кодом самого блока комментариев, в коде счетчика обязательно (!) впишите значение вашего идентификатора.

После создания чанка отправляемся редактировать шаблон «Категория» (Элементы → Управление элементами → Шаблоны) и помещаем вызов disqus-count перед закрывающимся тегом body.

Редактирование шаблона

Затем отправляемся редактировать чанк minipost с шаблоном вывода анонсов заметок.

И заменяем временную ссылку:

<li class="comment"><a href="#">Комментарии</a></li>

на следующую конструкцию:

<li class="comment"><a href="[(site_url)][~[+id+]~]#disqus_thread">Подгрузка...</a></li>

Теперь на страницах категорий, около каждого анонса заметки, будет отображаться ссылка на комментарии с автоматическим указанием количества комментариев. При этом отображаться эти комментарии будут в виде, заданном в параметре Comment Count Link, на странице Appearance в панели настроек комментирования.

Ссылка на комментарии

Внимание: счетчик срабатывает не мгновенно, и если посетитель оставил комментарий к заметке блога, а на странице категорий значение счетчика не изменилось это не значит, что все сломалось. Спустя короткий промежуток времени будет отображаться реальное количество комментариев к заметке.

На этом вывод комментариев мы закончили.

Управление отображением комментариев на странице

Иногда у владельца сайта может появиться необходимость закрыть комментирование на какой-нибудь странице.

Давайте добавим возможность при редактировании заметки блога отключать/включать для нее комментарии. Чтобы отключить вывод комментариев на какой-нибудь странице, нам просто нужно на этой странице убрать вызов чанка COMMENTS, в котором хранится JavaScript код для подгрузки комментариев Disqus. Сделать это можно с помощью плагина, которым мы уже несколько раз пользовались во время прохождения курса — плагина PHx. 

Для начала создадим новый TV параметр: Элементы → Управление элементами → Параметры (TV) → Новый параметр (TV)

Создание TV параметра в MODx

При создании TV параметра заполняем поля следующим образом:

  • Имя параметра — comments
  • Заголовок — Комментарии
  • Описание — Разрешить пользователям оставлять комментарии к заметке
  • Тип ввода — DropDown List Menu
  • Возможные значения — Да||Нет
  • Значение по умолчанию — Да

И не забудьте указать в качестве шаблона, который может использовать этот TV параметр —  «Внутренняя страница».

После этого при редактировании внутренних страниц сайта с шаблоном «Внутренняя страница»  у вас появится дополнительное поле в виде выпадающего списка. С помощью которого мы сможете в дальнейшем управлять (включать/отключать) возможность комментирования для данной страницы.

Дополнительное поле в виде выпадающего списка

Поле этого отправляемся редактировать чанк MAIN-INSIDE в котором у нас идет вызов чанк с комментариями.

Добавим логическую проверку при выводе чанка COMMENTS с помощью плагина PHx: если TV параметр comments содержит в себе значение «Да», то выводим на странице чанк COMMENTS, в противном случае ничего не выводим. Делается эта проверка с помощью конструкции:

[+phx:if=`[*comments*]`:is=`Да`:then=`{{COMMENTS}}`:else=``+]

Таким образом мы в дальнейшем сможем легко управлять возможностью комментирования, не влезая в код и не создавая дополнительные шаблоны.

Работа со сниппетом UltimateParent

В завершении сегодняшнего урока  мне хотелось бы рассказать вам еще об одном сниппете, и привести пример его использования на практике. Сниппет называется UltimateParent он включен в дистрибутив MODx Evolution и с его помощью можно получить ID родительских ресурсов для любой страницы. Прочитать более подробно про сниппет и про возможные параметры можете в викиучебнике. В самом общем случае сниппет можно вызвать на странице с помощью конструкции:

[[UltimateParent]]

и результатом работы этого сниппета будет вывод на странице ID главного родительского ресурса.

Сейчас я расскажу, как это можно использовать на практике.

Если вы внимательно следите за ходом всех уроков, или сами параллельно создаете блог на MODx по этим урокам, то, наверное, обратили внимание, что у нас для всех внутренних страниц предусмотрен один шаблон «Внутренняя страница». При этом эти страницы могут отличаться по функционалу. Например, нам не нужно отображать дату публикации, блок «Поделиться» и комментарии для таких страниц как «Контактная информация», «О проекте» или «Карта сайта». Эти блоки должны отображаться только для страниц, которые являются статьями блога, но не для всех внутренних страниц сайта.

Для решения этой проблемы мы можем, например, создать еще один шаблон, в котором не будет вызова ненужных нам блоков, но мы пойдем другим путем.

Если посмотреть на структуру сайта, которую мы создавали на начальных уроках, то мы видим, что все страницы, относящиеся непосредственно к содержимому блога (категории, подкатегории и статьи) вложены в ресурс-папку с id равным 1.

Дерево сайта на MODx

То есть у всех статей блога есть один объединяющий фактор — общий главный родительский документ. Учитывая, что с помощью сниппета UltimateParent мы легко для каждой статьи блога можем вывести ID этого главного родителя, то воспользовавшись конструкцией следующего вида:

[+phx:if=`[[UltimateParent]]`:is=`1`:then=`вывод какого-нибудь содержимого`:else=``+]

мы сможем выводить любое содержимое для страниц у которых главный родительский документ имеет идентификатор равный единице.

Давайте таким образом изменим вывод в чанке MAIN-INSIDE блоков,  которые идут после основного содержимого страницы. Находим конструкцию:

<div class="pub_date_share">
<div class="pub_date">
<acronym title="Дата публикации: [*pub_date:date=`%d.%m.%y в %H:%M`*]">[*pub_date:date=`%d.%m.%Y`*]</acronym>
</div>
<div class="ya-share">{{yandex-share}}</div>
</div>
<div id="breadcrumb">[[Breadcrumbs?  &homeCrumbDescription=`Перейти на главную страницу` &linkDescField=`longtitle`]]</div>
[+phx:if=`[*comments*]`:is=`Да`:then=`{{COMMENTS}}`:else=``+]

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

[+phx:if=`[[UltimateParent]]`:is=`1`:then=`<div class="pub_date_share"><div class="pub_date"><acronym title="Дата публикации: [*pub_date:date=`%d.%m.%y в %H:%M`*]">[*pub_date:date=`%d.%m.%Y`*]</acronym></div><div class="ya-share">{{yandex-share}}</div></div><div id="breadcrumb">[[Breadcrumbs?  &homeCrumbDescription=`Перейти на главную страницу` &linkDescField=`longtitle`]]</div>[+phx:if=`[*comments*]`:is=`Да`:then=`{{COMMENTS}}`:else=``+]`:else=``+]

Итоговое содержимое чанка MAIN-INSIDE вы можете скачать в конце урока в разделе с файлами к уроку. 

Файлы к уроку

  • coolblue.css — измененный файл со стилями
  • MAIN-INSIDE — чанк с оформлением содержимого внутренних страниц
  • yandex-share — чанк с кодом блока «Поделиться в социальных сетях»
  • COMMENTS — чанк с вызовом комментариев (не забудьте в коде изменить значение идентификатора)
  • disqus-count — чанк с кодом счетчика комментариев, вызываемый на странице категорий (не забудьте в коде изменить значение идентификатора)
  • minipost — чанк с шаблоном вывода анонсов заметок блога
  • Шаблон «Внутренняя страница» — шаблон для внутренних страниц, с внесенными изменениями
  • Шаблон «Категории» — шаблон для страниц категорий, с внесенными изменениями.

Как я не пытался поместить все, о чем хотелось рассказать, в один урок — у меня это не вышло. Так как в этом случае статья получилась бы неприлично большой, и, дабы не сбрасывать все в одну кучу и не утомлять вас огромным уроком, все недосказанные в этой статье моменты мы перенесем в следующий урок, который я постараюсь написать в ближайшее время.

Автор: Ефимов Виктор

Вы можете также посмотреть другие уроки по созданию блога на MODx:

09.12.2011
top


blog comments powered by Disqus
Рубрики
3 месяца отличного хостинга бесплатно
Система Orphus