Zend Framework headMeta() - ключевые слова не добавляются

Я использую Zend Framework 1.8. У меня проблема с headMeta(), дублирующим мои мета-ключевые слова.

В моем layout.phtml у меня есть
<?php echo $this->headMeta(); ?>

У меня есть пользовательский Controller_Plugin_ViewSetup (расширение Zend_Controller_Plugin_Abstract), в котором есть следующий код в функции dispatchLoopStartup():
$view->headMeta()->setHttpEquiv('Content-Type', 'text/html;charset=utf-8'); $view->headMeta()->setName('keywords', 'global,generic,keywords,');

Наконец, в моих сценариях представлений у меня есть следующее:
$this->headMeta()->appendName('keywords', 'view,specific,keywords');

Я ожидал, что в исходном коде HTML я увижу:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="keywords" content="global,generic,keywords,view,specific,keywords" />

Однако на самом деле я вижу это:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="keywords" content="global,generic,keywords," />
<meta name="keywords" content="view,specific,keywords" />

Другими словами, мета-ключевые слова не объединяются вместе, как должны. Что я делаю неправильно?

С уважением,
Мэтт


person fistameeny    schedule 18.06.2009    source источник
comment
Ваш ответ здесь http://stackoverflow.com/questions/5315312/multi-description-meta-tags-in-html-head   -  person Mohammad Ali Akbari    schedule 19.03.2011


Ответы (1)


Это связано с тем, что метод append не добавляет больше ключевых слов к уже определенному списку. Метод append добавит следующий тег к уже определенным тегам. Точно так же, если вы выбрали prepend, это добавит ваш новый тег перед тем, который вы определили в своем плагине.

Я думаю, что лучше всего было бы удалить местозаполнитель ключевых слов из плагина и сохранить ключевые слова по умолчанию в объекте конфигурации и вставить их в свое представление одновременно с добавлением дополнительных ключевых слов.

person Kieran Hall    schedule 18.06.2009
comment
Спасибо за информацию - думаю, я недостаточно хорошо прочитал документацию! Я сделаю, как ты предложил - person fistameeny; 18.06.2009