Fenom не игнорирует содержимое в {ignore}

[2016-09-13 07:57:36] (ERROR @ /www/core/components/pdotools/model/pdotools/pdotools.class.php : 940) Unexpected tag 'margin' in 7065a87f9d50cb1b03505d654a19fb4e line 11, near '{margin:' <- there
Вставил в чанк критический css, закинул весь этот css в {ignore} {/ignore}, но все равно, каждый раз когда захожу на страницу, выплывает ошибка. Как решить проблему? Без пробелов)
Заранее спасибо.
DimenSi
13 сентября 2016, 05:00
modx.pro
8 954
0

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

Михаил
13 сентября 2016, 09:00
0
Где то в шаблоне есть тэг. В самом css не выдает.
    DimenSi
    13 сентября 2016, 09:03
    0
    Когда, я убираю инклюд этого чанка, то ошибки не появляются.
    Павел Гвоздь
    13 сентября 2016, 09:19
    0
    Ставь пробел после открывающей фигурной скобки.

    Я заметил, что Феном обрабатывает тег {ignore} не во всех случаях. Ну вот, например, он его понимает в такой конструкции:
    {var $tpl}
    {ignore}
    <div><a href="{$id | url}">{$pagetitle}</a></div>
    {/ignore}
    {/var}

    После чего, данную переменную можно спокойно использовать для указания @INLINE чанка:
    {'pdoResources' | snippet : [
    	'tpl' => '@INLINE ' ~ $tpl,
    ]}

    А, вот если указать {ignore} в каком-нибудь другом месте — ломается и выводит ошибку в логи системы.
      DimenSi
      13 сентября 2016, 10:05
      0
      попробовал, запихнуть все в переменную, но не вышло)
      {set $css}
      {ignore}
      //css
      {/ignore}
      {/set}
      {$css}
      Все равно выдает ошибку. Феном популярен больно узко, гугл вообще никаких подсказок насчет ignore не дает, а в гитхабе ответа на мой случай тоже не увидел.
        Павел Гвоздь
        13 сентября 2016, 10:15
        0
        Во-первых, я никаких советов не давал по использованию данной конструкции в твоей ситуации.

        Во-вторых, если вот этот код вставить в контент ресурса на голый сайт modhost.pro, с установленным pdoTools и настройкой pdotools_fenom_parser=true, то всё обрабатывается корректно.
        {set $a}
        {ignore}
        {xdsd}
        {/ignore}
        {/set}
        {$a}

        Так что ищи ошибку непосредственно на своём сайте, ибо проблема не в Fenom, и не в pdoTools.
          Константин Ильин
          30 июня 2017, 14:27
          0
          Подскажите пожалуйста, как не выводить переменную в цикле foreach

          1. Получаю тв MIGX
          2. Создаю переменную $content_bottom
          3. В цикле все склеиваю и пихаю в переменную $content_bottom
          Но, по умолчанию fenom сразу выводит эту переменную{$content_bottom}, а мне хотелось бы ее вывести в другом месте или вообще не выводить.
          {set $rows = json_decode($_modx->resource.content_bottom, true)}        
          {var $content_bottom = ''}
          {foreach $rows as $idx => $row}
              {$content_bottom ~= '<div id="tab'~$idx~'">'~$row.slogan_text~'</div>'}
          {/foreach}
            Константин Ильин
            30 июня 2017, 17:31
            0
            Чтож из серии «сам ступил, сам нашел» :)

            Надо обернуть foreach в set или var
            {set $rows = json_decode($_modx->resource.content_bottom, true)}        
            {set $content_bottom}
            	{foreach $rows as $idx => $row}
            		{$content_bottom = '<div id="tab'~$idx~'">'~$row.slogan_text~'</div>'}
            	{/foreach}
            {/set}
            
            //Потом уже где хочется вызываем
            {$content_bottom}
              Игорь Терентьев
              18 января 2018, 16:16
              +1
              Можно было и так)
              {set $content_bottom ~= '<div id="tab'~$idx~'">'~$row.slogan_text~'</div>'}
                Константин Ильин
                18 января 2018, 16:38
                0
                Ага) просто привык, однажды я так пытался сделать, но в феноме это не работало или такое не поддерживал точно не помню

                ~=
      TITAN-UZ
      13 сентября 2016, 17:08
      0
      Прежде чем ставит {ignore} удалай кеш все везде memcache opcache итд удали кэш браузера!
      Если VPS перезагрузи! У меня после таких махинации сработал!
        Александр Коваленко
        24 августа 2019, 03:15
        0
        а как в таких ситуациях поступать?
        почитал, что-то предлагаемые варианты не сработали(
        <div class="kt_home_slide slide-home1" data-nav="true" data-autoplay="true" data-loop="true" data-responsive='{"0":{"items":1,"nav":"false"},"600":{"items":1},"1000":{"items":1}}'>
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        12