We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 8021
    • 24 Posts
    Привет сообществу! )

    Помогите понять, в чем прикол.
    Вызываю сниппет с параметром, он передаётся, но как-то потом непонятно работает..

    Вот пример.
    Вызываю так из чанка:
    [[mysnippet? &param=`[*id*]`]]
    



    Сам код сниппета:

    <?php
    echo $param;
    echo "<br />";
    
    if($param==12) echo $param;
    echo "<br />";
    
    echo $modx->getDocument($param);
    echo "<br />";
    
    echo $modx->getDocument(12);
    echo "<br />";
    ?>
    


    первый echo абсолютно нормально выводит айди документа (например, 12), а вот условие уже не срабатывает, и не срабатывает echo $modx->getDocument($param);,
    хотя echo $modx->getDocument(12); совершенно логично выводит "Array"

    Вопрос: что с этим параметром? в чем я туплю? (и я ли? laugh)
    Спасибо!
      • 29487
      • 385 Posts
      Параметры в кэшированные сниппеты так не передаются. Поэтому или [!mysnippet? &param=`[*id*]`!] или [[mysnippet]] и $param=$modx->documentIdentifier; в начале сниппета.
        • 8021
        • 24 Posts
        Так и есть! некешированный работает.

        Спасибо )
          • 8021
          • 24 Posts
          эх, елки...
          Продолжаем разговор )

          Подскажите, пожалуйста, как вызвать/вывести НЕкешируемый сниппет через runSnippet()
          Тот же eForm, например, не работает. в документации не нашел...
            • 29487
            • 385 Posts
            Вызывать из некеширумого снипетта. Если неработает - значит ошибка в вызове, например кавычка где-нибудь в параметрах пропущена.