我正在使用'皮肤'方法将css加载到我的Zend Framework网站。
来自layout.phtml:
<head>
<?php
print $this->headTitle();
print $this->headScript();
$this->loadSkin($this->skin);
print $this->headLink();
print $this->jQuery();
print $this->layout()->customJS;
?>
</head>
其中 loadSkin()是一个如下所示的视图助手:
class Zend_View_Helper_LoadSkin extends Zend_View_Helper_Abstract {
public function loadSkin ($skin) {
$skinData = new Zend_Config_Xml('./skins/' . $skin . '/skin.xml');
$stylesheets = $skinData->stylesheets->stylesheet->toArray();
if (is_array($stylesheets)) {
foreach ($stylesheets as $stylesheet) {
$this->view->headLink()->appendStylesheet('$skin.'/css/'.$stylesheet);
}
}
}
}
浏览器(任何图形浏览器)都显示一切正常,包括jQueryUI元素,如:http://i.stack.imgur.com/70PVl.png。
但是当我打印时,css完全被忽略了,就像这里: http://i.stack.imgur.com/NGC25.png
我完全难过了 - 在这里或ZF论坛上找不到任何关于为打印提供单独的css参数的内容。任何指针都将非常感谢!
提前致谢, -Roman
答案 0 :(得分:5)
我不确定,但我认为您必须为CSS文件设置MediaType:
//Display + Print
->appendStylesheet($skin.'/css/'.$stylesheet, 'screen,print');
//Only for Printers
->appendStylesheet($skin.'/css/'.$stylesheet, 'print');
查看以下链接,了解有关样式表的View-Helper的更多信息http://framework.zend.com/manual/de/zend.view.helpers.html#zend.view.helpers.initial.headlink
答案 1 :(得分:0)
尝试使用setStylesheet()
方法添加样式表。