Сырые теги в 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
пробовал отключать/включать всё подряд — тоже не помогло.
Василий Столейков
22 октября 2015, 06:51
modx.pro
1
2 173
0
Поблагодарить автора Отправить деньги

Комментарии: 20

Василий Столейков
22 октября 2015, 09:56
0
Сделал новую статью из черновика, но дата создания осталась прежней и статья оказалась далеко внизу.
Помогите пожалуйста, Fenom реально не хочет запускаться!
    Василий Столейков
    22 октября 2015, 09:56
    0
    P.S. Все компоненты обновлены до последних версий.
      Василий Наумкин
      22 октября 2015, 11:32
      0
      Адрес сайта: {$modx->config.site_url)} // сырые теги
      pdotools_fenom_modx = false, но пытаешься обращаться к $modx вместо $_modx.

      И вообще, смотри системный журнал, все ошибки Fenom пишет туда.
        Василий Столейков
        22 октября 2015, 12:51
        0
        К сожалению
        Адрес сайта: {$_modx->config.site_url)}
        тоже не работает…

        У меня системная настройка log_level установлена на 1 (ERROR), но ничего связанного с Fenom туда не пишется. Если изменить на 4 (DEBUG) и покопаться в километровых записях кода шаблонов…
          Павел Гвоздь
          22 октября 2015, 12:54
          0
          К сожалению
          Адрес сайта: {$_modx->config.site_url)}тоже не работает…
          А эта скобка, не пойми откуда, там должна быть?

          … site_url)}
            Василий Столейков
            22 октября 2015, 12:59
            0
            Хороший вопрос! ))
            Я копировал с анонса Fenom, видно туда закралась ошибка.

            Но проблему это не решает.
            Вот другая нерабочая конструкция, скопированная с доков:
            Вы находитесь в контексте {$_modx->context.key}
              Павел Гвоздь
              22 октября 2015, 13:04
              +3
              Она рабочая. Просто Вы на своём сайте допустили где-то ошибку в синтаксисе. Либо что-то из этой серии… Феном из коробки pdoTools достаточно рабочий шаблонизатор, просто надо быть более внимательным к мелочам, ибо это не стандартные теги MODX, с которыми если ошибся где-то — остальное не поломается. С Феномом такое не пройдёт.

              На Fenom мной был сделан уже не один проект, и на сегодня не представляю разработку на MODX Revo без него.
                Василий Столейков
                22 октября 2015, 13:34
                0
                Спасибо за разъяснения!
                Буду по-порядку выискивать ошибки, т.к. сайт тяжелый…
                Василий Наумкин
                22 октября 2015, 13:27
                +1
                Можно конкретно цитату, где в документации есть закрывающие )} без открывающих {(? Я не нашел, но если есть — надо исправить.

                Fenom в pdoTools действительно полностью рабочий, но он очень чувствителен к синтаксису. Одна неверная скобка и — привет, шаблон не компилируется.

                Кроме как быть очень внимательным, ничего посоветовать не могу.
                  Василий Столейков
                  22 октября 2015, 13:33
                  0
                  В подзаголовке Особенности. Видно этот кусочек мне под руку попался…
                  Понятно, буду искать ошибку. Поиск усложняется тем, что сай очень тяжелый, много чего понапихано в него уже. Буду по косточкам раскладывать. Спасибо за помощь!
                    Василий Наумкин
                    22 октября 2015, 13:38
                    0
                    Спасибо, исправил, но это же явно не сайт документации.

                    Поиск усложняется тем, что сай очень тяжелый, много чего понапихано в него уже. Буду по косточкам раскладывать.
                    Иначе, пардон, никак.

                    За плюсами мега-шаблонизатора скрываются и некоторые минусы. В частности, он реально строже, чем парсер MODX, который может несколько секунд крутить несуществующие плейсхолдеры в цикле. Ошибок вроде нет, а страницы потом грузятся по 30 секунд.
                      Василий Столейков
                      22 октября 2015, 13:46
                      0
                      Я копировал с анонса Fenom, видно туда закралась ошибка.
                      но это же явно не сайт документации.
                      согласен, это только анонс, но там куча полезной информации и много комментариев, с которых можно тоже черпать ответы. Можно сказать «неофициальная» документация. ))
                      парсер MODX, который может несколько секунд крутить несуществующие плейсхолдеры в цикле. Ошибок вроде нет, а страница грузится 30 секунд
                      А вот за эту информацию отдельное спасибо! Теперь ясно почему у меня столько тормозов. У меня куча условий, типа [[$content.[[*id]]]] и других посложнее. Практически весь сайт построен на них. Получается куча несуществующих чанков, плейсхолдеров и тегов подгружаются и проверяются…
                        Василий Наумкин
                        22 октября 2015, 13:51
                        0
                        Да, так и есть. Именно потому я и написал в своё время debugParser — он отлично выявляет подобные места.
                          Василий Столейков
                          22 октября 2015, 14:03
                          0
                          Ага, вот почему он у меня показывает
                          # - 1
                          Tag - [[$content.[[*pageid]]:is=`moddevtools`:then=``:else=`[[$content.[[*pageid]]]]`]]
                          Queries - 24
                          Queries time, s - 0.0052235
                          Parse Time, s - 1.6414890
                          И таких «тяжелых» конструкций у меня куча…
                          Спасибо, теперь-то хоть всё становится на свои места. Жалко что руки не сразу прямыми растут, нужно время и набитые шишки чтобы их исправлять…
                            Василий Наумкин
                            22 октября 2015, 14:08
                            0
                            И здесь иначе, пардон, никак =)

                            Смотри, там дальше должен быть разбор составляющих этого условия. Обычно тормозит что-то одно — нужно это найти.
                            Василий Столейков
                            22 октября 2015, 14:14
                            0
                            Ок, а где дальше? В следующих строчках? Буду искать, т.к. в первых 10 их нету.
                            Одно я не могу там понять. Почему в колонку Tag постоянно подставляется весь код шаблона начиная с
                            <!DOCTYPE html> <html lang="ru">
                            и заканчивая
                            < / html>
                            ?
                            Василий Наумкин
                            22 октября 2015, 14:17
                            0
                            Потому, что когда включен pdotools_fenom_parser, Fenom кушает всю страницу целиком.

                            Поэтому и парсер показывает всю обрабатываему страницу. На тот момент нет ни чанков, ни сниппетов, есть только html и специальные теги Fenom, которые он пытается обработать.

                            Именно поэтому pdotools_fenom_parser по умолчанию отключено.
                            Василий Столейков
                            22 октября 2015, 14:20
                            0
                            Спасибо, не знал, очень помог!
                            Василий Наумкин
                            22 октября 2015, 14:36
                            +1
                            На здоровье.

                            Изначально я и планировал использовать Fenom только в чанках, для замены синтаксиса MODX. Но ведь парсинг всей страницы, расширение шаблонов — это совсем другой уровень, слишком заманчиво.

                            Поэтому, такая возможность есть, но отключена по умолчанию. Она крутая, но требует много сил.
                      Fi1osof
                      26 октября 2015, 15:15
                      +3
                      Ошибок вроде нет, а страницы потом грузятся по 30 секунд.
                      У моего клиента сайт стал грузиться 26 секунд, простой одностраничник. Стал ковырять что случилось. Оказывается, он вставил контент из ворда как есть, а там море тегов [[[[[]]]]]]] типа мапы. MODX плакал…
          Василий Столейков
          28 октября 2015, 23:04
          0
          Проблема решилась когда я перевёл все теги и сниппеты с чанка на Fenom!
          Конфликт происходил если нужно было запускать оба парсера, а если все теги на Fenomе, то всё работает прекрасно!
          Fenom — классная штука, похоже и я в него влюбляюсь! )))
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            21