We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 23451
    • 232 Posts
    То ли я в лыжи обутый, то ли это так modx себя странно ведет.
    Создаю сниппет:
    <?php
    $ffolder="tratata";
    echo("Begin 1: ".$ffolder." ");
    test();
    
    function test() {
        global $ffolder;
        echo("Begin 2: ".$ffolder);
    }
    ?>


    Запускаю его из консоли:
    php ./assets/snippets/update/test.php


    Где test.php:
    <?php
    
    // modx init
    include_once('/usr/local/www/domain.com/manager/includes/config.inc.php');
    include_once('/usr/local/www/domain.com/manager/includes/document.parser.class.inc.php');
    $modx = new DocumentParser;
    $modx->minParserPasses = 1; // min number of parser recursive loops or passes
    $modx->maxParserPasses = 10; // max number of parser recursive loops or passes
    $modx->dumpSQL = false;
    $modx->dumpSnippets = false; // feed the parser the execution start time
    $modx->tstart = $tstart;
    $modx->stopOnNotice = false;
    
    echo $modx->runSnippet("mysnippet");
    ?>


    Получаю:
    Begin 1: tratata Begin 2: 


    Вопрос: почему второй раз вывода нет??
      • 29487
      • 385 Posts
      Нужно добавить в начало сниппета global $ffolder;