<html> <body> [[!test1?]] [[!test2?]] </body> </html>
return 123 . $var
/*
сниппет - test1
инициализируем переменную name
*/
$name = 'john';
/*передаем ее сниппету test2, который будет ее обрабатывать*/
$result = $modx->runSnippet('test2', array(
'name' => $name
));
/* сниппет - test1 инициализируем переменную name */ $name = 'john'; /*передаем ее сниппету test2, который будет ее обрабатывать*/ $result = $modx->runSnippet('test2', array( 'name' => $name ));
ссылка на документацию http://rtfm.modx.com/display/revolution20/modX.runSnippet
Quote from: serstovik at May 16, 2013, 07:50 AM[[test? &name=`[[test1]]`]]
/* сниппет - test1 инициализируем переменную name */ $name = 'john'; /*передаем ее сниппету test2, который будет ее обрабатывать*/ $result = $modx->runSnippet('test2', array( 'name' => $name ));
ссылка на документацию http://rtfm.modx.com/display/revolution20/modX.runSnippet
А если сниппеты вызываются из шаблона, из разных мест?
[i]Сниппет - это не просто кусок php, сниппет - это сущность modx обрабатываемая парсером modx.
И заодно вопрос.
почему при исплоьзовании в конце сниппета return
например
return 123 . $var
он выдаёт на странице текст как print или echo?
Ведь сниппет это кусок PHP кода.
А в php return естественно ничего не печатает.[/i]
return 123 . $varне выводит значение, а возвращает значение в то место от куда был сниппет вызван.
-------------------------чем меньше тэгов modx - тем меньше работы парсеру, соответственно тем шустрее будет отображаться страничка. При небольшем кол-ве этих тегов, разница практически не ощутима. [ed. note: spector last edited this post 12 years, 9 months ago.]
ещё вопрос
Правильно ли вот как в верхнем примере добавлять блоки динамически генерируемого html кода с помощью PHP сниппетов?
Или их надо в чанки вставлять?