Использование favicon в Zend Framework

каков наилучший способ обработки фавикона.ico в рамках Zend? Я видел альтернативы, которые требуют модификации файлов phtml, таких как:

$this->headLink()->headLink(array('rel' => 'favicon',
                              'href' => '/img/favicon.ico'),
                              'PREPEND')

или модификации .файл htaccess.

спасибо,

5 ответов


три варианта:

  • ничего не делать-если favicon называется favicon.ico и сидя в вашем общедоступном каталоге, большинство браузеров подберут его
  • жестко <link> тег в вашем макете
  • программно добавьте тег ссылки, как в примере кода

лично я бы пошел на Вариант 2. Нет смысла программно добавлять favicon, если он всегда будет там. Это могло бы иметь смысл, если бы favicon был другим для разных пользователей, например, скажем, ваше приложение имело систему тем с разными фавиконами для разных тем, тогда вы можете использовать headLink().

браузеры, как правило, кэшируют фавиконы в течение длительного времени, так что пока тег ссылки появляется в вашем источнике HTML, он в конечном итоге будет обновляться. Вы можете ускорить процесс, изменив имя файла, просмотрев favicon непосредственно в браузере и / или очистив кэш браузера.


вы просто переместите favicon.ICO файл в папку public! ;)


Я нашел, что если rel атрибут "favicon" ожидаемые вещи не работают, пока я не изменю выше атрибут на "ярлык" (протестирован в Firefox 5.0 Ubuntu)


//in controller
$this->view->headLink(array('rel' => 'shortcut icon', 'href' => '/themes/kieuhung/images/favico.png', 'type' => 'image/x-icon'), 'PREPEND');

//and in layout
echo $this->headLink();

удачи


скелет приложение ZF2 включает в себя фавикон по умолчанию.ico at /public/img/favicon.ico. Просто смени файл и можешь идти.

также может помочь заставить кэш браузера обновить файл, явно указав его на этот путь к файлу.