We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17052
    • 41 Posts
    Как в шаблоне вывести ПХП код?
    Пробовал через TV и просто в шаблоне писать. Но он пишет этот кусок кода как просто текст и не обрабатывает его.

    Пробовал и <? и <?php бесполезно.
      • 33114
      • 518 Posts
      :) вот результат того, что у нас еще не готова документация:)

      php-код можно написать тремя способами: сделать сниппет, плагин или модуль. Думаю в вашем случае нужно просто создать новый сниппет, назвать его, написать в его содержимое php-код, причем не использовать <?php. Чтобы ваш код выводил какой-то результат в конце, конечно же, должна быть строка
      return ....;

      Далее, в шаблоне, где вам нужно выводить результат сниппета - просто пишете
      [[имя сниппета]]
        http://modx.ru - российская поддержка MODx
        http://newscup.ru - экспериментальный проект
        http://yentsun.com - персональный сайт
        • 17052
        • 41 Posts
        ясно, спасибо... но было бы лучше просто позволить в шаблоне тоже использовать <?
          • 33114
          • 518 Posts
          :) вы всегда можете создать свою php-страницу и использовать в ней все что вздумается плюс, с помощью API функций MODx - использовать всю мощь системы.

          Однако, думаю со временем вы поймете преимущества использования сниппетов. Например, сниппет может быть задан с параметрами, и так же сниппет может быть вызван откуда угодно в системе MODx с помощью своему имени.

          вообще, мы могли бы рассмотреть ваш частный случай:) напишите тот пример, котором по-вашему будет лучше использовать в шаблоне php-код smiley
            http://modx.ru - российская поддержка MODx
            http://newscup.ru - экспериментальный проект
            http://yentsun.com - персональный сайт
          • Может быть не совсем по теме, но бывают случаи, когда нужно встроить внешний PHP файл в страницу. Например я сталкивался с этим, когда нужно было подключить скрипт стороннего разработчика. Так вот, от Etomite у меня остался сниппет, который позволяет встроить внешний файл:

            //Using [[PHPInclude?file=path_to_your_file/file_name.php]]
            
            if ( !isset($file) || $file == "" ) return "No file specified."; //check if there's a file given.
            
            ob_start();//Start the buffer
            
            include $file; //include
            
            $ob_contents = ob_get_contents();//get contents from the buffer
            ob_end_clean();//and kill/delete the buffer
            return $ob_contents;//return it to etomite.


            В шаблоне (или нужной странице) сниппет вызывается c использованием параметра file=path_to_your_file/file_name.php, где прописывается путь к внешнему PHP файлу:
            [[PHPInclude?file=path_to_your_file/file_name.php]]
              Разработка сайтов и программных модулей на MODX.
              Опыт работы на MODx с 2005 года. Высокое качество.
              Компания Baltic Design Colors: http://www.bdcolors.ru.
              • 897
              • 1,620 Posts
              браво! легко и просто smiley
                "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

                Не используйте Revo для "просто сайтов". Используйте Evo

                Who can defeat the Russian bear?
                • 33114
                • 518 Posts
                у человека вопрос стоял в том, чтобы использовать php-код в шаблоне:)

                ответ конечно один - php-код в чистом виде невозможно использовать в шаблоне! необходимо использовать сниппеты... свои или чьи-то еще smiley

                Lexxus, если у вас есть случай, где выгоднее использовать чистый код, а не сниппеты - пожалуйста поделитесь.
                  http://modx.ru - российская поддержка MODx
                  http://newscup.ru - экспериментальный проект
                  http://yentsun.com - персональный сайт
                  • 33114
                  • 518 Posts
                  вот кстати, пост о том же видимо http://modxcms.com/forums/index.php/topic,5663.0.html
                  если не понятно, спросите - я переведу.

                  И еще - только сейчас заметил что вы пытались через TV писать код. Так вот в TV php-код пишется не спомощью <? а с помощью @EVAL
                  Прочитать можно здесь http://modxcms.com/eval-binding.html, опять таки если непонятно - переведем. В будущем это все будет у нас в документации.
                    http://modx.ru - российская поддержка MODx
                    http://newscup.ru - экспериментальный проект
                    http://yentsun.com - персональный сайт
                    • 31826
                    • 30 Posts
                    подскажите- способ вставления через сниппет PHPInclude - работает только если нужно вызвать 1 файл, или может работать когда идет подключение скрипта из множества страниц. пробую использовать этот способ и на странице ничего не отображается, действие скрипта не происходит.
                    подключать пытаюсь вот этот кусок индексного файла скрипта

                    <?session_start();
                    include "inc.php";
                    include "config.php";
                    include "class.php";
                    print "
                    <script language=\"javascript\" type=\"text/javascript\">
                    function reemail(login,domian){
                    var url='';
                    url=\"mailto:+login+@+domian+\";
                    window.location=url;
                    }
                    function Paste(bb)
                    {
                            data = window.opener.window.document;
                            data.form.text_msg.value += ' '+bb+' '; data.form.text_msg.focus(); 
                        window.focus();
                        return;
                    }
                       </script>
                    ";
                    @session_start();
                    $start=new main();
                    $start->seegb();?> 
                      • 34162
                      • 1 Posts
                      оформите в сниппет, поправьте пути в исходном скрипте, вставляйте в шаблон в месте вызов сниппета [[....]]