在 Zend Framework 中使用网站图标

发布于 2024-11-16 21:19:18 字数 298 浏览 0 评论 0原文

在 Zend 框架中处理 favicon.ico 的最佳方法是什么?我见过需要修改 phtml 文件的替代方案,例如:

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

或修改 .htaccess 文件。

谢谢,

What's the best way of handling a favicon.ico in Zend framework? I have seen alternatives that requires modification of phtml files like:

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

or modifications on .htaccess file.

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

挥剑断情 2024-11-23 21:19:18

三种选择:

  • 不执行任何操作 - 如果 favicon 名为 favicon.ico 并位于您的公共目录中,大多数浏览器都会选择它 将
  • 标记硬编码到您的布局中
  • 以编程方式添加链接标签如代码示例中所示,

我个人会选择选项 2。如果 favicon 始终存在,那么以编程方式添加 favicon 就没有什么意义了。如果不同用户的图标不同,这可能是有意义的,例如,假设您的应用程序有一个主题系统,不同主题有不同的图标,那么您可能需要使用 headLink()。

浏览器往往会缓存网站图标很长时间,因此只要链接标签出现在 HTML 源代码中,它最终就会更新。您可以通过更改文件名、直接在浏览器中查看图标和/或清除浏览器缓存来加快该过程。

Three choices:

  • Do nothing - if the favicon is named favicon.ico and sitting in your public directory, most browsers will pick it up
  • Hard-code the <link> tag into your layout
  • Programmatically add the link tag as in your code example

Personally I would go for option 2. There's little point programmatically adding the favicon if it will always be there. It might make sense if the favicon was different for different users, e.g. say your application had a themes system with different favicons for different themes, then you might want to use headLink().

Browsers tend to cache favicons for a long time, so as long as the link tag is appearing in your HTML source then it will eventually update. You can speed up the process by changing the filename, viewing the favicon directly in your browser and/or clearing your browser cache.

蓝天 2024-11-23 21:19:18

您只需将 favicon.ico 文件移至 public 文件夹即可! ;)

you just move the favicon.ico file into the folder public! ;)

一曲爱恨情仇 2024-11-23 21:19:18

我发现如果 rel 属性是“favicon”预期的事情不起作用,直到我将上述属性更改为“快捷方式图标”(在 Firefox 5.0 Ubuntu 下测试)

I found that if rel attribute being "favicon" expected things not working, until i've change above attribute to "shortcut icon" (tested under Firefox 5.0 Ubuntu)

仅冇旳回忆 2024-11-23 21:19:18
//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();

祝你好运

//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();

good luck

说谎友 2024-11-23 21:19:18

ZF2 骨架应用程序包括位于 /public/img/favicon.ico 的默认 favicon.ico。只需更改该文件即可。

还可以通过显式地将文件指向该文件路径来帮助强制浏览器缓存刷新文件。

The ZF2 skeleton application includes a default favicon.ico at /public/img/favicon.ico. Just change that file and you're good to go.

Can also help to force the browser cache to refresh the file by pointing it to that file path explicitly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文