我知道并使用了非常基本的Zend Framework的Layouts,我在整个站点中使用了1个布局.但现在我需要一个更中间/有组织的设置.
div#mainContent占用整个12列(使用960gs)div#mainContent占用9列+侧栏,3列我正在考虑使用1个基本布局,其中2个子布局将"扩展".基本布局将只包含<html>声明headScripts等,直到子<body>布局将包含对包装的定义divs div.grid_12, grid_9, grid_3.我怎样才能实现这种"扩展",基本上,我只想重用代码
还有什么是渲染侧边框/小部件的好方法
如果我在我的应用程序中有2个布局,如何将我的默认布局更改为某些控制器或操作的其他布局?
在执行所有其他代码之后,我想在渲染布局之前执行一些代码.我会把那些代码放在哪里?
我特意尝试在布局使用之前修改headLink,headScript和inlineScript视图助手中引用的文件.
以下是我要采取的步骤:
看起来Front Controller插件不会帮助我实现这个目标,原因如下:
postDispatch() 在每个执行的控制器动作之后执行,我需要完整的样式表/ javascripts列表dispatchLoopShutdown() 在控制器动作循环之后执行,但此时已经呈现了布局正如Rufinus建议的那样,我通过扩展View Helpers来解决这个问题. 从这个角度我的问题以及解决方案就在这里.
我在我的应用程序中使用了zend paginator它的工作方式很好.但是当我点击任何链接时我的意思是任何分页它查询正确的信息但css没有应用于那里.最初当页面呈现所有的css正确应用但是当我刷新页面后点击任何分页css没有应用.我不知道wts正在进行?
这是做分页的动作
public function controlpannelAction(){
$data = Zend_Auth::getInstance()->getStorage()->read();
$user_id = $data->user_id;
$registry = Zend_Registry::getInstance();
$DB = $registry['DB'];
$sql = "SELECT * FROM `phone_service` WHERE user_id='".$user_id."'";
$result = $DB->fetchAll($sql);
$page=$this->_getParam('page',1);
$paginator = Zend_Paginator::factory($result);
$paginator->setItemCountPerPage(5);
$paginator->setCurrentPageNumber($page);
$this->view->paginator=$paginator;
}
Run Code Online (Sandbox Code Playgroud)
这是我的视图名称controlpannel.phtml
<?php
include("header.phtml");
include("blue.phtml");
include("main1.phtml");
include("footer.phtml");
?>
Run Code Online (Sandbox Code Playgroud)
所有的CSS都在header.phtml.all中,css在header.phtml中,所以这里是header.phtml
<link rel="stylesheet" href="../../../web_root/assets/scripts/jqueryui/jqueryui.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../../../web_root/assets/styles/style.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../../../web_root/assets/styles/global.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../../../web_root/assets/styles/config.css" type="text/css" media="screen" />
.
.
.
.
and all other elements(body,divs)
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序的结构,我的意思是路径
appname
->application …Run Code Online (Sandbox Code Playgroud)