FAQ для MODx

Однажды потребовалось сделать FAQ на MODx. Гуглил готовый сниппет. На тот момент ничего готового не нашлось. Что-то написал сам. Чуть позже появился EZfaq  - не понравилось (быть может сырая бета).
Пришла идея как реализовать систему вопросов и ответов на Ditto. Упрощённый вариант здесь публикую. Идея очень проста - каждая пара вопрос/ответ помещается в отдельный документ. Весь список находится в отдельной дочерней папке (контейнере). Таких наборов FAQ на сайте может быть произвольное количество ( например по каждому продукту или теме). Можно прикрутить ajax, фильтрацию и теги, задействовать пагинацию. Можно добавить eForm что бы посетители писали вопросы непосредственно в тему и администратор, получив нотификацию на почту, помещал ответ в уже готовый документ. Ну и естественно абсолютная свобода по вёрстке. Два вызова ditto - исключительно дань традиции - список вопросов и далее ответы . Идеология MODx - древовидная структура документов не нарушается.
 

1) Создаём чанк {{faq}} со следующим содержимым:

  1.  
  2. <a name="top"></a>
  3. <div class="FaqBlock">
  4. [!Ditto? &id=`Faqline` &display=`all` &parents=`[*id*]` &paginate=`0` &showPublishedOnly=`1` &tpl=`faq_tpl`!]
  5. </div>
  6.  
  7. <div class="FaqBlock">
  8. [!Ditto? &id=`FaqAns` &display=`all` &parents=`[*id*]` &paginate=`0` &showPublishedOnly=`1` &tpl=`faqans_tpl`!]
  9. </div>
  10.  
2) Содержимое чанка faq_tpl:

  1.  
  2. <div><a href="[~[*id*]~]#[+id+]">[+pagetitle+]</a></div>
  3.  
3) Содержимое чанка faqans_tpl:

  1.  
  2. <hr />
  3. <a name="[+id+]"></a>
  4. <div class="question"><b><i>Вопрос: </i></b> [+pagetitle+]</div>
  5. <div class="answertitle"><b><i>Ответ: </i></b></div>
  6. <div class="answer">[+content+]</div>
  7. <div class="back"><a href="[~[*id*]~]#top">На верх</a></div>
  8.  
4) Создаём папку FAQ и помещаем в область содержимого вызов чанка {{faq}}

5) Публикуем дочерние документы в этой папке. Вопрос помещаем в область pagetitle, ответ в content.

  пример того что получилось

В админке это выглядит так:

Последнее изменение документа: 26 Август 2010
Showing comments 1 to 10 of 14 | Next | Last
Zoxon
Posts: 10
Comment
Можно сделать проще
Reply #14 on : Срд Октябрь 26, 2011, 05:02:19
Можно сделать проще, хранить все вопросы и ответы на них в одном документе. Выводить только заголовки, а по клику на вопросе просто разворачивать ответ средствами JavaScript.
Просто и удобно.
admin
Posts: 3
Comment
Re: FAQ для MODx
Reply #13 on : Чтв Август 26, 2010, 19:11:52
Спасибо, исправил
Евгений
Posts: 10
Comment
Re: FAQ для MODx
Reply #12 on : Чтв Август 26, 2010, 12:22:41
Содержимое чанка faqans_tpl

<div class="answertitle"><b><i>Ответ: </i></b><div>

Содержит ошибку тег <div> не закрыт
Ярослав
Posts: 10
Comment
Спассибо
Reply #11 on : Чтв Июнь 24, 2010, 22:49:29
Спасибо большое!

Все получилось с первого раза. Незначительные "помехи" которые возникнут, решаются на "раз-два"
Дмитрий
Posts: 10
Comment
Re: FAQ для MODx
Reply #10 on : Втр Май 25, 2010, 12:19:00
Могу привести полный код. Пример, к сожалению, находится на сайте, который я только делал, но не являюсь владельцем.
admin
Posts: 3
Comment
Re: FAQ для MODx
Reply #9 on : Вск Май 23, 2010, 20:40:48
Причём тут извинения?
С удовольствием размещу Ваш рабочий пример или ссылку на него.
Дмитрий
Posts: 10
Comment
Re: FAQ для MODx
Reply #8 on : Вск Май 23, 2010, 18:34:26
Извините конечно, но зачем изобретать велосипед? не проще с jot это делать?
Там просто добавить массив answer и форму доделать.
Black_ScorpioN
Posts: 10
Comment
FAQ для MODx (Проблемы)
Reply #7 on : Пнд Март 29, 2010, 12:40:22
все разобрался
Black_ScorpioN
Posts: 10
Comment
FAQ для MODx (Проблемы)
Reply #6 on : Пнд Март 29, 2010, 12:27:28
после того как все сделал он мне не выводит вопросы а пишет вот это &tpl either does not contain any placeholders or is an invalid chunk name, code block, or filename. Please check it. Хотя в я сделал как в инструкции
admin
Posts: 3
Comment
to Amy
Reply #5 on : Чтв Декабрь 10, 2009, 10:30:48
Прошу прощения , не успел ответить на вопрос.
Думаю проще всего использовать PHx для этого.
http://wiki.modxcms.com/index.php/PHx#userinfo.3D.60field.60

Проверяем пользовательские данные и либо показываем форму , либо нет.
Хотелось бы взглянуть на Ваше решение :) .
Showing comments 1 to 10 of 14 | Next | Last

Write a comment

  • Required fields are marked with *.

If you have trouble reading the code, click on the code itself to generate a new random code.