问题标签 [zend-layout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何将变量传递给多模块/布局 Zend Framework 应用程序中的布局?
在我将 Zend Framework 应用程序转换为基于模块的结构之前,它有一个单一的布局,我可以从我的控制器向它传递变量,如下所示:
但是,由于将所有内容都移动到默认模块并创建了一个单独的“管理”模块,我无法再让它工作,很可能是因为我将我的“视图设置”从我的引导文件中移到了我的控制器插件中我正在根据模块切换布局。我的插件看起来像这样:
如果我将所有这些对视图的方法调用移回我的引导程序,我可以再次将变量传递给布局;所以我猜测某些事情发生的顺序错误,也许在我将变量从控制器传递给视图之后我的布局正在切换并且它们没有进入我的布局?(我尝试通过将代码放在 preDispatch() 和 postDispatch() 等中来更改上述运行的点)
值得注意的是,我可以在我的个人视图脚本中访问这些变量,而不是它们包含在其中的布局。
任何指针将不胜感激。
zend-framework - Zend Layout Double Div
嗨,我想将两个 div 放在 zend 视图中。在我想让两个 div 处于不同的位置之后。我的问题是我想拥有正常的内容和我想添加另一个显示侧边菜单的 div 例如我的视图是:
当我在我的布局中使用
问题是两个 div(->content 和 ->menuscritte)在同一个 div 中。view-menuscritte 不在 menuscrittegenerale 中。
zend-framework - 如何在控制器内的变量中捕获 default.phtml
我有一个简单的问题...如何将 Project/application/layouts/scripts/default.phtml 中的 default.phtml 的内容呈现给变量,以便我可以拥有它的 html。
在索引控制器中,使用一个动作和一个名为 test 的 phtml 文件,这将起作用:
但是,当然,这不会:
由于 default.phtml 不在任何控制器内,我猜。
有什么好的方法吗?
php - 如何使用后端数据填充 Zend_Layout 变量?
在尝试遵守已建立的最佳实践(例如避免单例、注册表、静态属性和基本控制器)时,如何使用仅由布局使用且在所有操作中通用的数据填充我的布局(以及布局使用的部分)?
典型的场景是建立在可变数据上的菜单,比如数据库。牢记关注点分离,视图/布局不应该直接与后端对话,而是被告知要包含什么。
如果不使用 Zend_Layout 中的单例“功能”,则根本不可能使用前端控制器插件。插件只知道请求和响应对象,不能访问控制器、视图或布局。
Zend 的动作助手有 init/preDispatch/postDispatch 方法。可以将操作助手添加到 HelperBroker(例如使用引导程序),这些将在正常的应用程序流程中执行。
使用 init 方法将数据注入视图是不可能的,因为它是在控制器/视图准备好之前触发的。preDispatch/postDispatch 是可能的,但并不完美,因为这些方法总是在执行控制器操作时触发。
这意味着 Zend_Controller_Action::_forward() 的所有使用也将在所有动作助手中执行 preDispatch/postDispatch。除了速度之外,这对代码没有任何大的影响,我真的不想多次设置视图(或视图助手)变量。可以使用某种 $firstRun 变量来解决这个问题,但我真的不想在我自己的代码中跟踪这个问题。
另一种方法是在引导程序中执行此操作,但在我看来它确实不属于那里。
那么,我怎样才能用数据库中的数据填充我的布局/视图助手,只做一次并且仍然保持良好的关注点分离?
zend-framework - Zend 框架中的样式表视图助手
我想在 head 标签内附加 css 样式表,但被附加到 body 标签。这就是我所做的:我有一个控制器“国家”,动作为“索引”,我的视图是 index.phtml
index.phtml 包含:
这会导致样式表被附加到 body 标记内。我只希望将这些样式表附加到此操作中。我不想在我的 layout.phtml 中包含这个样式表我该怎么做?
database - 从数据库加载 Zend 布局
我正在 Zend 之上构建一个 cms,只是为了练习和娱乐。我希望能够将布局脚本和视图脚本存储在数据库中,并从那里检索它们,以便在我的 CMS 中轻松编辑它们。有人能指出我正确的方向吗?我现在做的是这样的:
但这显然意味着我在 rega 中失去了 Zend 的所有优势
zend-framework - 在zend中为引导程序内的模块设置布局文件
我的zend应用结构:
我已将 application.ini 中的默认布局设置为:
我有两个模块:管理员和默认。如何设置管理模块的布局文件(admin.phtml)?我想从管理模块的 Bootstrap.php 文件中更改布局?或者建议我哪种方法最简单?
zend-framework - 如何在zend框架中附加脚本文件
我的布局放置在 layout/scripts/layout.phtml 中我已将以下代码放置在 layout.phtml 的 head 部分中
现在我想从视图中附加另一个 javascript 文件。为此,我编写了以下代码:
虽然这附加了文件,但它出现在我的 jquery-1.7.2.min.js 之前。我想要的是我想在我的 jquery-1.7.2.min.js 下面添加 jquery.fancybox-1.3.4.pack.js 我该怎么做?
zend-framework - Zend:将多个js文件添加到布局中
我试图将多个 js 文件添加到布局中。我想在助手中做到这一点。
这是我的助手的代码:
在我的布局中,我有:
问题是它没有添加任何js文件。
如果我之前放回声:
或者
然后脚本添加了几次相同的文件。
有人可以告诉我我做错了什么?
zend-framework - Zend 默认视图脚本名称切换
我想显示移动视图而不是普通视图脚本。
让我们以这个动作/my_module/my_controller/my_action为例。
当我调用它时,根据一些标头处理,我知道用户代理是移动设备。然后我将主布局设置为特定于移动设备的布局。我这样做,它工作正常:Zend_Layout::getMvcInstance()->setLayout('mobile');
但是在我的控制器或其他地方,我想覆盖my_action.phtml
类似my_action_mobile.phtml
.
考虑到在我的某些观点中我正在使用动作助手,如何做到这一点:<?php echo $this->action("index", "index", "items")?>
或者我的某些动作是这样的 _forward:$this->_forward("index", "auth", "default");
我已经尝试使用setViewSuffix('mobile')
和使用几个文件名变体:my_action.mobile.phtml,或者setViewSuffix('mobile.phtml')
名为 my_action.mobile.phtml 的文件和其他文件,导致空白页 - 没有错误,什么都没有。(我不知道为什么,因为它设置为显示抛出的错误)
我也尝试过使用 contextSwitching 但它禁用了我的主布局 - 我不想要这个 - 感觉它不能正确处理动作视图助手。(在另一个视图中呈现)
我会很感激任何建议。谢谢!