Я бы уклоняться от использования тех. Вы заметите, что они закомментированы в распространенном распространенном издании по умолчанию, что, вероятно, означает, что основная команда перестает их использовать.
Если вас интересует, что они делают, они являются параметрами, которые являются частью метода page/head
блока addItem
.
File: code/core/Mage/Page/Block/Html/Head.php
public function addItem($type, $name, $params=null, $if=null, $cond=null)
{
if ($type==='skin_css' && empty($params)) {
$params = 'media="all"';
}
$this->_data['items'][$type.'/'.$name] = array(
'type' => $type,
'name' => $name,
'params' => $params,
'if' => $if,
'cond' => $cond,
);
return $this;
}
Метод добавить элемент сохраняет эти условия, а затем они используются позже в методе getCssJsHtml
пропустить добавление элемента.
public function getCssJsHtml()
{
// separate items by types
$lines = array();
foreach ($this->_data['items'] as $item) {
if (!is_null($item['cond']) && !$this->getData($item['cond']) || !isset($item['name'])) {
continue;
}
Я думаю, они были первой попыткой добавить мета-программирование шаблонную систему, которая в конечном итоге будет над головой его предполагаемых пользователей.
Спасибо Алан, всеобъемлющий и информационный ответ, как всегда. Думаю, я буду придерживаться использования блока для условной логики. JD –
С тех пор я углубился в это, и теперь верю, что если/cond paramaters предназначены для добавления отдельных таблиц стилей Internet Explorer через условные комментарии. –