smarty — упрощать умножение PHP, если условия

Интересно, есть ли способ сделать этот код более тонким?

бывший

 public function hookDisplayHeader()
{
if(Tools::getValue('controller')=='index'){
$this->context->controller->addCSS(($this->_path).'something.css', 'all');
}
if(Tools::getValue('controller')=='cms'){
$this->context->controller->addCSS(($this->_path).'something.css', 'all');
}
if(Tools::getValue('controller')=='product'){
$this->context->controller->addCSS(($this->_path).'something.css', 'all');
}
if(Tools::getValue('controller')=='category'){
$this->context->controller->addCSS(($this->_path).'something.css', 'all');
}

}

к простому

 public function hookDisplayHeader()
{
if(Tools::getValue('controller')=='index AND product AND cms AND category'){
$this->context->controller->addCSS(($this->_path).'something.css', 'all');
}
}

этот код не работает 🙁

0

Решение

использование in_array();

public function hookDisplayHeader()
{
$values = array('index','cms','product','category');
if(in_array(Tools::getValue('controller'), $values)){
$this->context->controller->addCSS(($this->_path).'something.css', 'all');
}
}
2

Другие решения

Я бы поместил их в массив и проверил, что:

$somethingCSSControllers = array('index','product','cms','category');

if(in_array(Tools::getValue('controller'),$somethingCSSControllers)){
$this->context->controller->addCSS(($this->_path).'something.css', 'all');
}
1

По вопросам рекламы [email protected]