We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16956
    • 88 Posts
    Как подключать сниппет через include, или функция include не предназначена для таких операций? Ведь сниппет это чистый php код.
      • 26744
      • 157 Posts
      А для чего такая операция? Можно конкретный пример?

      Вот в самом сниппете можно использовать INCLUDE.
      Можно использовать сниппет внутри сниппета без include.
        • 16956
        • 88 Posts
        Я просто изучал include, как и сам php.
        Как бы include предназначен для вывода блока кода из одного файла в другой файл.

        Типа, есть файл fileopen.php и его код:
        <?php
        include "filename.php";
        $c = $a + $b;
        echo "Сумма переменных равна - &c";
        ?>

        Теперь код файла filename.php:
        <?php
        $a = 15;
        $b = 5;
        ?>
        В данном примере файл filename.php содержит переменные А и Б, я хотел вывести эти данные с помощью сниппета, в качестве проверки работы include, конечно это не по примеру, но ведь можно как то это сделать grin .

        Т.е. было в моем понимании так:
        <?php
        include "[[сниппета]]";
        $c = $a + $b;
        echo "Сумма переменных равна - &c";
        ?>

        или

        <?php
        include "урл_страницы_где_выводится_сниппет";
        $c = $a + $b;
        echo "Сумма переменных равна - &c";
        ?>

        Вероятно я мыслю не верно smiley и мои действия не верны?
        --
        ps: использовал
        ][/quote] в замен [code[/color][color=green]][/color][color=green][/code] т.к. тег [code[/color][color=green]][/color][color=green][/code] кривит русский язык.
          • 785
          • 2,113 Posts
          Quote from: LEONeso at Dec 30, 2009, 09:34 AM

          Вероятно я мыслю не верно smiley и мои действия не верны?
          Неверно – include подключает файлы, а сниппет не является файлом, он хранится в базе данных. Для вызова сниппета нужно использовать API MODx, а конкретно $modx->runSnippet.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 26744
            • 157 Posts
            Во-первых, переменные в сниппете локальные (если их не объявлять глобальными).
            Проще сделать сниппет:
            <?php
            $a = 15;
            $b = 5;
            $c=$a+$b;
            echo "Сумма переменных равна - ".$c;
            ?>

            Теперь этот сниппет можно вставить в шаблон: [[сниппет]] или в другой сниппет: echo "[[сниппет]]";
            Второй вариант, через $modx->runSnippet
              • 26883
              • 137 Posts
              В сниппетах MODx используется очень часто функция include_once. Это удобнее, так как файл гарантированно (в отличие от include) включается только один раз. Этим MODx, например, отличается от Etomite (предка MODx), где в сниппет, харанящийся в базе данных обычно включался весь код.

              Включение файлов позволяет более рационально организовать код и не создавать огромную свалку.
                • 22564
                • 2 Posts
                Вопрос по теме:
                сниппет создал,к шаблону прикрутил, как к сниппету прикрутить файлы лежащие в определенной директории?