использование шаблонизатора modx в своих целях
Здравствуйте. Возможно я не верно выразился в топике, не знаю как коротко и ясно сформулировать задачу, которая встала передо мной. А суть в чем, в modx есть такая замечательная штучка, как:
А есть ли возможность средствами modx сделать то же самое, но только не с чанком? что то типа
$foo = $modx->getChunk('tpl.name', array('param1' => 'value1', 'param2' => 'value2')
По итогу modx возьмет чанк tpl.name, подменит в нем все [[+param1]] на value1 и [[+param2]] на value2, и весь результат в виде верстки запишется в $fooА есть ли возможность средствами modx сделать то же самое, но только не с чанком? что то типа
$foo = $modx->?func($html, array('param1' => 'value1', 'param2' => 'value2'))
где $html это верстка, выбранная из базы, внутри которой проставлены плейсхолдеры [[+param1]] и [[+param2]], а ?funct это какая то функция модх, которая выполнит замену, и не просто замену, а еще и выполнит сниппеты, которые там найдет. Такое вообще возможно на modx? Я конечно понимаю что могу воспользоваться preg_replace, но если есть возможность штатными средствами это сделать то было бы лучше. Почему мне тогда не хранить в чарках верстку, а не в отдельной таблице? Даже если опустить удобство работы с данными, количество чанков уже будет более 4000, а в последствии ожидается и 40 000 и 400 000 и одному богу известно сколько будет записей в итоге :) Комментарии: 3
Попробуйте посмотреть в эту сторону:
$chunk = $modx->newObject('modChunk');
$chunk->setCacheable(false);
$chunk->setContent($string);
$output = $chunk->process($options);
Не обрабатываются сниппеты. При чем даже если взять чанк и попробовать отдать его все равно фигня.
s7535.h7.modhost.pro/
Я или что то совсем не то делаю, или где то туплю. Даже если заменить
s7535.h7.modhost.pro/
Я или что то совсем не то делаю, или где то туплю. Даже если заменить
$modx->getChunk("tpl.one");
На создание чанка из обьекта — все равно не будет обрабатываться в чанке сниппет. Так и будет возвращаться [[!test_snippet? &id=`id`]]
Вся проблема похоже в аяксе, а это уже другой вопрос.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.