Получить результат из снипета, как ?

Есть снипет который проводит проверку и возвращает ноль или единицу. Не совсем понятно, как на феноме проверить такой результат и выполнить нужное действие?

Спасибо!
Sergey
04 декабря 2019, 11:15
modx.pro
633
0

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

Наумов Алексей
04 декабря 2019, 11:27
+2
Не?
{set $result = $_modx->runSnippet('abc');}
    Sergey
    04 декабря 2019, 12:38
    0
    Похоже то что надо.
      Sergey
      04 декабря 2019, 21:17
      0
      Заметил, что в ряде чанков при добавления кода фенома, перестает отображать страницу. Куда копать в таких случаях? Причем не важно какое действие, даже банально объявить переменную.
        Олег Щавелев
        04 декабря 2019, 21:27
        +1
        Это происходит кода в коде присутсвуют фигорные скобки '{' '}' запускается парсер. И тем самом вы видете белую страницу. Для того что бы все хорошо нужно экронировать. Более подробно в доках Fenom или на modx.pro + есть еще много статей.
          Sergey
          04 декабря 2019, 22:55
          0
          не совсем понял. Есть следующая строка на феноме:

          {set a = $_modx->runSnippet('abc')} в одном чанке работает без проблем, в другом приводит к белой странице. Не могу понять в чем разница.
            Олег Щавелев
            04 декабря 2019, 23:27
            0
            Посмотри логи. Там будет причина на чем спаткнулся парсер.

            {set a = $_modx->runSnippet('abc')}
            Не может останавливать парсер.
              Sergey
              05 декабря 2019, 10:03
              0
              я тоже так думал. Однако останавливает. Пришлось код убирать.
                Sergey
                05 декабря 2019, 10:39
                0
                Вот что пишет Undefined macro 'n.callMethod' in e8ab2356d37f27343d3f4b02db2f5584
        Тодор
        04 декабря 2019, 14:53
        +1
        Можно также в сниппете установить плейсхолдер, и после обычного вызова сниппета проверять значение плейсхолдера
        {'!mySnippet' | snippet}
        {if $_modx->getPlaceholder('my_pls')}
            Мой плейсхолдер равен {$_modx->getPlaceholder('my_pls')}
        {/if}
        Сам сниппет
        <?php
        $modx->setPlaceholder('my_pls', 1);
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          9