Категории

MODx Revolution - cоздание гостевой книги (2-я часть)

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

  • в начале создадим новый TV-параметр, с помощью которого мы бы могли указывать категорию вопросов. Лично я для этих целей выбрал Тип ввода - Список (одиночный выбор) и указал Возможные значения - MODx||Drupal||CodeIgniter||Kohana||phpBB.
  • создадим несколько дочерних элементов, в которых поле Описание будет использоваться администратором сайта для того чтобы указать вопрос, а поле Анотация для ответа.
  • с помощью сниппета-обвёртки getResourcesTag, который входит в состав дополнения tagLister выведем дочерние элементы контейнера в виде ссылок на основное содержимое
<ul>
    [[!getResourcesTag@pagination?
      &element=`getResources`
      &elementClass=`modSnippet`
      &tpl=`list_question`
      &parents=`164`
      &limit=`5`
      &includeTVs=`1`
      &hideContainers=`1`
    ]]
</ul>
<ul class="pagination">  
  [[!+page.nav]]  
</ul>  
  • в параметр &tpl=`list_question` мы передаем шаблон, который будет определять какие данные нам нужно выводить - в моём случае это Расширенный заголовок определённого дочернего ресурса и ссылку на него.
<li><a href="[[~[[+id]]]]">[[+longtitle]]</a></li>
  • теперь давайте создадим новый шаблон для отображения конкретного вопроса/ответа и в моём случае он будет иметь примерно следующий вид
<h1>[[*longtitle]]</h1>
<p><strong>Вопрос:</strong></p>
[[*description]]
<p><strong>Ответ:</strong></p>
[[*introtext]]
<p><strong>Обсуждение:</strong></p>
[[$hyper_comment]]
  • для того чтобы у нас выводились комментарии нужно в начале зарегистрироваться на сайте HyperComments и использую бесплатный аккаунт, который позволяет администрить только один сайт с одним модератом, копируем код, который нам предлагает система и помещаем его в чанк [[$hyper_comment]] - в моём случае код выглядит таким образом
<div id="hypercomments_widget"></div>
<script type="text/javascript">
var _hcp = _hcp || {};_hcp.widget_id = 5154;_hcp.widget = "Stream";
(function() { 
var hcc = document.createElement("script"); hcc.type = "text/javascript"; hcc.async = true;
hcc.src = ("https:" == document.location.protocol ? "https" : "http")+"://widget.hypercomments.com/apps/js/hc.js";
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hcc, s.nextSibling); 
})();
</script>
<a href="http://hypercomments.com" class="hc-link" title="comments widget">comments powered by HyperComments</a>

На этом пока всё - до встречи в следующей серии.

Наверх ↑

закрыть х
Новые уроки на постоянной основе!

Некоторые уроки вы сможете посмотреть на моем канале YouTube, но полноценный доступ только для email-подписчиков. Необходимо подписаться на рассылку, чтобы получать оповещения о новых уроках на почту

  • Fireworks, Photoshop, Illustrator
  • HTML, CSS, JavaScript
  • PHP, MySQL
  • CMS, PHP фреймворки, JS библиотеки
  • Инфобизнес, Email-маркетинг
Бесплатно!

Только для email-подписчиков!