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

StackOverflow https://stackoverflow.com/questions/1013035

Вопрос

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

В моем макете.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" />

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

Ваше здоровье,
Мэтт

Это было полезно?

Решение

Это связано с тем, что метод добавления не добавляет дополнительные ключевые слова в уже определенный список.Метод добавления добавит следующий тег к уже определенным тегам.Аналогично, если вы выберете «Добавить», новый тег будет добавлен перед тем, который вы определили в своем плагине.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top