Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$output = $modx->runSnippet('Wayfinder', array(
'startId' => 0,
'level' => 1,
'limit' => 10,
));
К примеру для того, чтобы получить на своей странице меню, достаточно прописать [[Wayfinder?startId=`0`]]А зачем изобретать какие-то «теги», что мешает реализовать это в виде <?= new MenuView($startId = 0) ?> с правильным образом реализованным MenuView::__toString()? Понятно и новичкам и всем прочим, что MenuView это определённый класс с определёнными аргументами в конструкторе, и никакие доки не нужны, IDE всё сама подскажет.
кроме, разве что, для выигрыша лишних 10-20 мс производительностиРечь не о 10-20мс, а о выигрыше порой в разы. Покажите свой самый шустрый сайт на MODX Revolution. Если он будет код отдавать менее чем за 150 мс., я уже буду удивлен. Даже для сайтов-визиток 0.2-0.3 сек. — нормальная практика. А вот парень жалуется, что страница грузится 20+ сек.
Но всё же — можете пояснить идею?Но еще очень важный момент: не мало любителей есть шаблонизаторов типа Smarty и т.п. (и я не против Смарти). Так вот, то, как сейчас работает MODX, не позволяет просто так воткнуть Smarty. Да, админка на Смарти работает, но в админке и все запросы обрабатывает не modRequest и modResponse, а modManagerRequest и modManagerResponse. Для того же, чтобы использовать во фронтенде Смарти, придется писать замену modRequest. А иначе фигня полная получится. С моим модулем можно без всяких костылей подключать Смарти и т.п.
Я не первый год плотно с MODX работаю, и это не первое мое решение, которое как-то расширяет базовый MODX. Тот же сайт MODX-сообщества modx-cms.ru работает на моем пакете modLivestreet, обеспечивающим связку MODX+LivestreetCMS, что тоже не стандартное решение.
Так что не могу сказать, что это решение не подпитано большим опытом.


<?php return array (
'resourceClass' => 'modDocument',
'resource' =>
array (
'id' => 1,
'type' => 'document',
....................
'content' => '[[snippet1]]
[[snippet2]]
[[snippet3]]',
'elementCache' =>
array (
'[[*pagetitle]]' => 'Home',
'[[snippet1]]' => '<br />1352835306',
'[[snippet2]]' => '<br />1352835306',
'[[snippet3]]' => '[[!snippet2]]',
),
<?php return array (
'resourceClass' => 'modDocument',
'resource' =>
array (
'id' => 1,
'type' => 'document',
....................
'content' => '<br />1352835306
<br />1352835306
[[!snippet2]]',
"cachedElements" => array( "snippets" => array("snippet1", "snippet2", "snippet3")),
"content" => "[[snippet1]]/[[snippet1]]/[[snippet1]]/[[snippet1]]/[[snippet1]]",
"elementCache" => array(
"snippet1" => "sometext",
)
"content" => "sometext/sometext/sometext/sometext/sometext",
"cachedElements" => array( "snippets" => array("snippet1")),
/* collect any uncached element tags in the content and process them */
$this->modx->getParser();
$maxIterations= intval($this->modx->getOption('parser_max_iterations', $options, 10));
$this->modx->parser->processElementTags('', $this->modx->resource->_output, true, false, '[[', ']]', array(), $maxIterations);
$this->modx->parser->processElementTags('', $this->modx->resource->_output, true, true, '[[', ']]', array(), $maxIterations);Говорю, тут надо с разрабами MODX обсудитьКого именно вы имеете ввиду? Rayn Thrash и Jay Gilmore поддержали мое решение. И они не сказали, что мое решение половинчатое.


И я не виноват
какое это отношение имеет к производительности
Судя по всему работает он быстро
Можете с чистой совестью продолжать использовать MODX в чистом виде, это абсолютно личное дело каждого.
X-Powered-By:LiveStreet CMS

bezumkin: Jason, извини что беспокою. Можешь сказать нам пару слов по поводу чистого PHP в шаблонах MODX?
Некотjрое время назад у нас в сообществе появился «гений» с такими идеями, и он утверждает, что руководство MODX поддерживает их.
Вот ссылка на популярный российский ресурс с миллионами просмотров в сутки.
Так же он автор говносвязки modLivestreet.
Jason Coward: Я не одобряю это… Почему бы просто не использовать фреймворк на PHP
Agel_Nash: Российское сообщество не поддерживает эти идеи.
Мы можем показать ему твой ответ?
Jason Coward: И напомните ему, что основной концепт MODX это отделение представления от логики, который по своей сути будет разрушен чистым PHP
MODX Revolution и php-шаблоны