je avoir peur d'utiliser ceux-ci. Vous remarquerez qu'ils sont commentés dans l'édition de la communauté distribuée par défaut, ce qui signifie probablement que l'équipe de base s'éloigne de leur utilisation. Si vous êtes intéressé par ce qu'ils font, ils sont strictement des paramètres de la méthode addItem
du bloc page/head
.
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;
}
La méthode Ajouter un élément stocke ces conditions, puis ils sont utilisés plus tard dans la méthode getCssJsHtml
pour sauter l'ajout d'un élément.
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;
}
Je pense qu'ils étaient une première tentative d'ajouter méta-programmation au système de modèle, ce qui a fini par aller sur la tête de ses utilisateurs visés.
Merci Alan, réponse complète et d'information comme toujours. Je suppose que je vais m'en tenir à utiliser le bloc pour la logique conditionnelle. JD –
J'ai depuis creusé un peu plus en profondeur dans ce domaine, et maintenant je crois que si les paramètres/cond sont pour ajouter des feuilles de style spécifiques à Internet Explorer via des commentaires conditionnels. –