Skip to content
  1. Компоненты
  2. msReviews
  3. Интеграция на сайте
  4. msQnaBlock

Сниппет msQnaBlock

Компонует msQuestions и msQuestionForm в одной обёртке .msreviews-qna-stack с настраиваемым порядком блоков.

Назначение

Один вызов вместо двух сниппетов Q&A. Порядок «список → форма» или «форма → список» задаёт formPosition или настройка msreviews_qna_form_position.

Где вызывать

  • Шаблон msProduct вместо пары msQuestionForm + msQuestions.
  • Не оборачивайте в pdoPage: пагинация только через отдельный msQuestions + msQuestionForm в .msreviews-qna-stack.

Зависимости

  • MiniShop3, msReviews
  • Внутренние вызовы msQuestions и msQuestionForm (те же параметры проксируются)
  • msReviewsLexiconScript — для формы

Параметры

ПараметрПо умолчаниюОписание
product_idid ресурсаID товара MS3
formPosition(настройка)after — список, затем форма; before / first / top — форма первой. Пусто — msreviews_qna_form_position
limit20Лимит вопросов (→ msQuestions)
faqOnly0Только с ответом
formClass(пусто)Классы формы
showHeading1Заголовок формы
formHeading(лексикон)Заголовок формы
captchaHtml(пусто)HTML капчи

Параметры msQuestions (tpl, wrapper, limit, offset, totalVar и др.) проксируются во внутренний runSnippet. pdoPage через msQnaBlock не поддерживается.

Форма после списка (по умолчанию)

fenom
{'!msQnaBlock' | snippet : [
  'product_id' => $_modx->resource.id,
  'formPosition' => 'after'
]}
modx
[[!msQnaBlock? &product_id=`[[*id]]` &formPosition=`after`]]

Форма перед списком

fenom
{'!msQnaBlock' | snippet : [
  'product_id' => $_modx->resource.id,
  'formPosition' => 'before',
  'showHeading' => 0
]}
modx
[[!msQnaBlock?
  &product_id=`[[*id]]`
  &formPosition=`before`
  &showHeading=`0`
]]

Сравнение с двумя сниппетами

СпособКогда
.msreviews-qna-stack + msQuestionForm + msQuestionsНужна пагинация pdoPage на списке, полный контроль разметки
msQnaBlockОдин вызов, порядок из параметра или настройки
fenom
<div class="msreviews-qna-stack">
  {'!msQuestionForm' | snippet : ['product_id' => $_modx->resource.id, 'showHeading' => 0]}
  {'!msQuestions' | snippet : ['product_id' => $_modx->resource.id]}
</div>
modx
<div class="msreviews-qna-stack">
[[!msQuestionForm? &product_id=`[[*id]]` &showHeading=`0`]]
[[!msQuestions? &product_id=`[[*id]]`]]
</div>

См. также