我正在努力使用Zend Framework中的命名空间(至少我认为这是命名空间问题).
我想将PHPExcel集成到我的Zend项目中.相关文件结构如下:
/
-library
-ABCD
-PHPExcel
-Zend
-ZendX
-PHPExcel.php
Run Code Online (Sandbox Code Playgroud)
之后,自定义类工作正常
Zend_Loader_Autoloader::getInstance()->registerNamespace('ABCD_');
Run Code Online (Sandbox Code Playgroud)
在引导程序中.此外,这些课程都被命名为ABCD_blahdeblah.
但是,执行registerNamespace('PHPExcel_')无助于Zend找到合适的类.当我尝试
$sheet = new PHPExcel;
Run Code Online (Sandbox Code Playgroud)
在控制器中,我收到"未找到类"错误.我猜这是因为PHPExcel中的类没有使用命名空间前缀命名,或者因为主PHPExcel.php文件位于我刚刚声明的命名空间之外.但PHPExcel结构要求它位于其余类/ font/etc文件的父目录中.
任何指针都将非常感激.
提前致谢.
我有一个服务于实体参考字段的视图。我需要它:(1)提取当前登录用户创作的内容,(2)除非当前登录用户具有“管理员”角色,在这种情况下提取所有内容。
目前,我将上下文过滤器设置为“作者”,这可以很好地满足要求 (1)。我想我需要它来绕过基于角色的过滤器。对于“块”或“页面”显示,我只需复制显示,根据角色为其设置权限,而且是无缝的。但因为这是一个实体引用字段,所以我只能在字段设置中指定一种显示。有任何想法吗?
我使用'皮肤'方法将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>
Run Code Online (Sandbox Code Playgroud)
其中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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
一切都在浏览器(任何图形浏览器)中显示,包括jQueryUI元素,如:http://i.stack.imgur.com/70PVl.png .
但是当我打印时,css完全被忽略了,就像这里:http: //i.stack.imgur.com/NGC25.png.
我完全难过了 - 在这里或ZF论坛上找不到任何关于为打印提供单独的css参数的内容.任何指针将不胜感激!
在此先感谢,罗曼