我的前端设计师给出html,其中favicon图标显示如下代码。
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="ico/favicon.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="ico/favicon.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="ico/favicon.png">
<link rel="apple-touch-icon-precomposed" href="ico/favicon.png">
<link rel="shortcut icon" href="ico/favicon.png">
我陷入了如何显示尺寸属性的问题。我想跟随。
$this->headLink(
array('rel' => 'apple-touch-icon-precomposed', 'href' => $this->basePath() . '/admin_assets/img/favicon.ico',array('sizes' => '144x144'))
但是输出中没有显示尺寸。任何人都知道如何在favicon中显示自定义属性。提前致谢
答案 0 :(得分:3)
请参阅此答案:https://stackoverflow.com/a/11655485
使用&#39; extras&#39;非标准属性的数组键,如:
$this->headLink(
array(
'rel' => 'apple-touch-icon-precomposed',
'href' => $this->basePath() . '/admin_assets/img/favicon.ico',
'extras' => array('sizes' => '144x144')
)
);
答案 1 :(得分:1)
HeadLink
助手类严格定义有效属性列表
protected $itemKeys = array('charset', 'href', 'hreflang', 'id', 'media', 'rel', 'rev', 'type', 'title', 'extras');
并拒绝其他一切。 See the line on github.
所以sizes
似乎是助手的无效属性。
首先,如果您可以使用普通的html输出这些link
标签,只需使用它即可。
否则,我提出了以下解决方案:
1)创建自己的CustomHeadLink
类,扩展原始HeadLink
,并扩展定义有效属性列表的数组:
<?php
namespace Custom\View\Helper;
use Zend\View\Helper\HeadLink;
class CustomHeadLink extends HeadLink
{
// added 'sizes' as a new attribute
protected $itemKeys = array('charset', 'href', 'hreflang', 'id', 'media', 'rel', 'rev', 'type', 'title', 'extras', 'sizes');
}
2)让你的模块使用你的自定义助手而不是Zend的一个:
<?php
namespace Custom;
// ...
use Custom\View\Helper\CustomHeadLink;
// ...
class Module
{
// ...
public function getViewHelperConfig()
{
return array(
'factories' => array(
'headLink' => function($serviceManager) {
return new CustomHeadLink();
},
),
);
}
// ...
}
因此,您仍然可以从布局访问帮助程序而不进行任何更改,但使用新的属性支持:
$this->headLink(array(
'rel' => 'apple-touch-icon-precomposed',
'href' => $this->basePath() . '/admin_assets/img/favicon.ico',
'sizes' => '144x144'
));