Мелким и недостойным специальной темы вопросам по smarty быть здесь!
Иногда хочется написать короткий код на php в шаблоне, чтобы раскидать например составить условие where для процессора. И как-то не хочется особо париться с расширением процессора-сниппета и т.д. В смарти раньше было {php}, но теперь оно деприкейтид.
Делать это через assign, foreach и if если и возможно, то совершенно неудобно. Если возможно.
Хочется массив с id разбросать по шаблонам: если шаблон Товар — в 'id:IN', если Категория — в 'OR:parent:IN'
Раньше можно было значит что-то типа
{php}
$a = array(164,185,280,282); // массив еще надо explode из списка в тв
foreach($a as $v){
if($doc = $modx->getObject('modResource',$v) AND $doc->get('template') == 3)
$docs[]=$v;
else
$folder[]=$v;
}
$where = array(
'id:IN'=> $docs,
'OR:parent:IN'=>$folder,
'template'=>3
);
{/php}
или же типа того и потом отправить это условие в стандартный процессор… Ну как-то так.
То, что я не умею работать со смарти — неоспоримо. Может кто умный подскажет?