Zend Framework headMeta () - ключевые слова не добавляются - PullRequest
4 голосов
/ 18 июня 2009

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

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

У меня есть Custom 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" />

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

Приветствия
Matt

1 Ответ

5 голосов
/ 18 июня 2009

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

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

...