tv с другой страницы и fastField
Здравствуйте, подскажите пожалуйста, вызываю tv с другой страницы:
а именно конструкция не срабатывает
работает [[#1.tv.content]]
не работает [[#1.tv.content:snippet]]
(мне нужно чтоб б работал :snippetа именно конструкция не срабатывает
[[*contents_city:is=``:then=`[[#1.tv.contents:snippet]]`:else=`[[*contents_city:snippet]]`]]
… если тв пустое, тогда покажем тв «contents» со страницы id(1), если не пустое то покажем тв «contents_city» текущей страницы. Комментарии: 8
Какой результат ожидается от этой конструкции
[[#1.tv.content:snippet]]
Вывод tv но с через сниппет (snippet) без сниппета никак не обойтись, в нем php функция str_replace замена строк
Попробую в чанк засунуть конструкцию, а не в шаблон
не… не работает.
[[*contents_city:is=``:then=`[[#1.tv.contents:snippet]]`:else=`[[*contents_city:snippet]]`]] не работает
[[*contents_city:is=``:then=`[[#1.tv.contents:snippet]]`:else=`[[*contents_city:snippet]]`]] не работает
[[*contents_city:is=``:then=`[[#1.tv.contents]]`:else=`[[*contents_city:snippet]]`]] работает
[[*contents_city:is=``:then=`[[#1.contents]]`:else=`[[*contents_city:snippet]]`]] работает
нашел причину
в tv [[*contents]] нутри есть чанк [[$forma-zakaza]]
внутри [[$forma-zakaza]]:
осталось придумать как обыграть вызов формы заказа…
в tv [[*contents]] нутри есть чанк [[$forma-zakaza]]
внутри [[$forma-zakaza]]:
<div class="container col-12 col-md-12 content my-5">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content forma mx-auto p-0 p-sm-2 border-0">
<div class="forma_modal_padding">
[[!AjaxForm?
&snippet=`FormIt`
&form=`modalFormTpl-zakaz-form`
&hooks=`spam,FormItSaveForm,offerrum`
&emailTpl=`contactEmailTpl-zakaz`
&emailSubject=`[[++site_name]] - №[[!+nowdate:default=`now`:strtotime:date=`%d%m%M%S`]]`
&emailTo=`info@site.ru`
&successMessage=`Ваша заявка отправлена.
Ожидайте пожалуйста звонка`
&emailFrom=``
&formName=`[[++site_name]]`
&validate=`phone:required,text,user:blank,username:blank,captcha:blank`
&successMessage=`<strong>Сообщение успешно отправлено.</strong>
Спасибо за заявку
Ожидайте пожалуйста, с Вами свяжутся`
]]
</div>
</div>
</div>
</div>
если удаляю из [[*contents]], "[[$forma-zakaza]]" тогда конструкция работает… осталось придумать как обыграть вызов формы заказа…
сделал так
<div class="container col-12 col-md-12 content my-5">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content forma mx-auto p-0 p-sm-2 border-0">
<div class="forma_modal_padding">
[[!AjaxForm?
&snippet=`FormIt`
&form=`modalFormTpl-zakaz-form`
&hooks=`spam,FormItSaveForm,offerrum`
&emailTpl=`contactEmailTpl-zakaz`
&emailSubject=``
&emailTo=``
&successMessage=`Ваша заявка отправлена.
Ожидайте пожалуйста звонка`
&emailFrom=``
&formName=``
&validate=`phone:required,text,user:blank,username:blank,captcha:blank`
&successMessage=`<strong>Сообщение успешно отправлено.</strong>
Спасибо за заявку
Ожидайте пожалуйста, с Вами свяжутся`
]]
</div>
</div>
</div>
</div>
теперь вроде бы все работает
Проблема решена, разобрался, оказывается мешали скобки в форме заказа
[[++site_name]] и [[!+nowdate:default=`now`:strtotime:date=`%d%m%M%S`]]
Чтобы применить модификатор надо сначала получить значение, то есть либо так
[[[[#1.tv.name]]: snippet]]
Либо вот так[[snippet?`input`=`[[#1.tv.name]]`]]
А в целом рекомендую переходить на феном или Смарти (zoomx) там есть механизм наследования он сильно облегчает жизнь, ну и нормальный if
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.