Сырые теги в Fenom
Никак не могу понять где собака зарыта.
В некоторых чанках fenom работает прекрасно, а в других частях сайта отказывается работать.
Не запускается fenom и на страницах сайта (в шаблонах, обычных чанках).
Рабочий пример
Вот пример который работает исправно, и запускается через самописный сниппет:
Нерабочие примеры
А вот примеры которые не работают никак, выводятся только сырые теги:
Да и такая конструкция тоже не работает:
Настройки фенома:
В некоторых чанках fenom работает прекрасно, а в других частях сайта отказывается работать.
Не запускается fenom и на страницах сайта (в шаблонах, обычных чанках).
Рабочий пример
Вот пример который работает исправно, и запускается через самописный сниппет:
[[!geo?
&tpl=`@INLINE
{set $category = $_modx->runSnippet('!get_category', ['input' => $.get.subcategory])}
<li>
<a href="{{~{{%page.id.118720}}}}?category={{+id}}" class="clearfix{if $.get.category == $id} active{/if}{if $category == $id} active{/if}{if $_modx->resource.category == $id} active{/if}">
<span class="col-xs-10">{{%category.{{+id}}}}</span>
<span class="badge pull-right col-xs-2">{$_modx->runSnippet('!submenu', ['parents' => 118720, 'tv_category' => $id, 'published' => 1])}</span>
</a>
</li>
`
]]Нерабочие примеры
А вот примеры которые не работают никак, выводятся только сырые теги:
Адрес сайта: {$modx->config.site_url)} // сырые теги
[[!TicketMeta?
&tpl=`@INLINE
<div class="post-info col-xs-12">
<span class="glyphicon uk-icon-comments"></span>
<span class="uk-margin-right">{{!+comments}} {{+comments:units=`комментарий|комментария|комментариев`}}</span>
<span class="glyphicon glyphicon-eye-open"></span>
<span class="uk-margin-right">{{!+views}} {{+views:units=`просмотр|просмотра|просмотров`}} ({{!*id:todayViewsCount}} сегодня)</span>
<span data-uk-dropdown="{mode:'click'}" class="share-block">
<span class="glyphicon uk-icon-arrow-right"></span>
<span class="glyphicon uk-icon-align-justify"></span>
<a href="#">Поделиться </a>
<div class="uk-dropdown">
<ul class="uk-list">
<li><a href="#"><div class="uk-icon-button uk-icon-twitter"></div> Twitter</a></li>
<li> <a href="#"><div class="uk-icon-button uk-icon-vk"></div> Vkontakte</a></li>
<li><a href="#"><div class="uk-icon-button uk-icon-youtube"></div> Youtube</a></li>
<li><a href="#"><div class="uk-icon-button uk-icon-vimeo-square"></div> Vimeo</a></li>
<li><a href="#"><div class="uk-icon-button uk-icon-google-plus"></div> Google +</a></li>
</ul>
</div>
</span>
</div>
<div class="text-primary col-xs-12 uk-margin-top uk-margin-bottom">Отзывы к объявлению:</div>
Адрес сайта: {$modx->config.site_url)} // сырые теги
{if $comments == 0} // сырые теги
<div class="col-xs-12 text-muted"><p>К данному объявлению комментариев нет</p></div>
{/if} // сырые теги
`
]]Да и такая конструкция тоже не работает:
{if $_modx->hasSessionContext('mgr')}
{set $info = $_modx->getInfo('', false)}
Время работы: <strong>{$info.totalTime}</strong>
Время запросов: <strong>{$info.totalTime}</strong>
Количество запросов: <strong>{$info.queries}</strong>
Источник: <strong>{$info.source}</strong>
{/if}Настройки фенома:
pdotools_fenom_cache - false
pdotools_fenom_default - true
pdotools_fenom_modx - false
pdotools_fenom_options - ''
pdotools_fenom_parser - true
pdotools_fenom_php - falseпробовал отключать/включать всё подряд — тоже не помогло. Комментарии: 20
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Помогите пожалуйста, Fenom реально не хочет запускаться!
И вообще, смотри системный журнал, все ошибки Fenom пишет туда.
тоже не работает…
У меня системная настройка log_level установлена на 1 (ERROR), но ничего связанного с Fenom туда не пишется. Если изменить на 4 (DEBUG) и покопаться в километровых записях кода шаблонов…
Я копировал с анонса Fenom, видно туда закралась ошибка.
Но проблему это не решает.
Вот другая нерабочая конструкция, скопированная с доков:
На Fenom мной был сделан уже не один проект, и на сегодня не представляю разработку на MODX Revo без него.
Буду по-порядку выискивать ошибки, т.к. сайт тяжелый…
Fenom в pdoTools действительно полностью рабочий, но он очень чувствителен к синтаксису. Одна неверная скобка и — привет, шаблон не компилируется.
Кроме как быть очень внимательным, ничего посоветовать не могу.
Понятно, буду искать ошибку. Поиск усложняется тем, что сай очень тяжелый, много чего понапихано в него уже. Буду по косточкам раскладывать. Спасибо за помощь!
Иначе, пардон, никак.
За плюсами мега-шаблонизатора скрываются и некоторые минусы. В частности, он реально строже, чем парсер MODX, который может несколько секунд крутить несуществующие плейсхолдеры в цикле. Ошибок вроде нет, а страницы потом грузятся по 30 секунд.
А вот за эту информацию отдельное спасибо! Теперь ясно почему у меня столько тормозов. У меня куча условий, типа [[$content.[[*id]]]] и других посложнее. Практически весь сайт построен на них. Получается куча несуществующих чанков, плейсхолдеров и тегов подгружаются и проверяются…
И таких «тяжелых» конструкций у меня куча…
Спасибо, теперь-то хоть всё становится на свои места. Жалко что руки не сразу прямыми растут, нужно время и набитые шишки чтобы их исправлять…
Смотри, там дальше должен быть разбор составляющих этого условия. Обычно тормозит что-то одно — нужно это найти.
Одно я не могу там понять. Почему в колонку Tag постоянно подставляется весь код шаблона начиная с и заканчивая ?
Поэтому и парсер показывает всю обрабатываему страницу. На тот момент нет ни чанков, ни сниппетов, есть только html и специальные теги Fenom, которые он пытается обработать.
Именно поэтому pdotools_fenom_parser по умолчанию отключено.
Изначально я и планировал использовать Fenom только в чанках, для замены синтаксиса MODX. Но ведь парсинг всей страницы, расширение шаблонов — это совсем другой уровень, слишком заманчиво.
Поэтому, такая возможность есть, но отключена по умолчанию. Она крутая, но требует много сил.
Fi1osofКонфликт происходил если нужно было запускать оба парсера, а если все теги на Fenomе, то всё работает прекрасно!
Fenom — классная штука, похоже и я в него влюбляюсь! )))