Как в cakephp-1.2, так и в cakephp-1.3 Я использовал следующее фрагмент кода в элементе с именем head
, вызываемом из макета blog
:
$this->preMetaValues = array(
'title' => __('SiteTitle', true).' '.$title_for_layout,
'desc' => Configure::read('siteTitle').', '.Configure::read('siteSlogan'),
'keywords' => Configure::read('keywords'),
'type' => 'article',
'site_name' => __('SiteTitle', true),
'imageURL' => $html->url('/img/logo.png', true)
);
if(!isset($this->metaValues)){
$this->metaValues = $this->preMetaValues;
}
else{
$this->metaValues = array_merge($this->preMetaValues, $this->metaValues);
}
<?php echo $html->meta('description',$this->metaValues['desc']); ?>
<?php echo $html->meta('keywords', $this->metaValues['keywords']);?>
Я использовал приведенный выше код для определения или изменения значений мета-тегов из любого файла представления. preMetaValues
считается значением по умолчанию. Если в представлении определен какой-либо metaValues
, этот код изменит его и сделает metaValues
готовым к использованию.
Теперь с cakephp- 2.4 описанный код генерирует следующую ошибку:
Не удалось найти вспомогательный класс metaValuesHelper.
Ошибка: Произошла внутренняя ошибка.
Действительно, я не знаю, почему CakePHP считает эту переменную вспомогательной? и как я могу решить эту проблему?