gpt4 book ai didi

symfony1 - 交响乐团 : Sharing a partial between two component actions

转载 作者:行者123 更新时间:2023-12-01 14:36:15 24 4
gpt4 key购买 nike

我有一个组件,它已经愉快地构建和渲染菜单一段时间了。现在我必须提供一个特殊的情况,它共享所有相同的逻辑,但需要在现有的基础上做一些工作。我想做的是创建一个新的组件操作,该操作将进行必要的预处理,转入共享逻辑以完成计算端,然后通过现有的模板部分进行渲染(当一切都说完并完成后,它仍然是一个像任何其他的——只需要多做一点工作就可以构建它)。

不幸的是,我找不到任何方法来做到这一点。

这是我现在拥有的高级文件/代码分割:

# 
# navigation/actions/components.class.php
#
public function executeMenu() {
/**
* This method runs most of the menus and does most of the work
* that's required of the special case.
*
* Once complete, of course, it renders through navigation/templates/_menu.php
*/
}

public function executeSpecialMenu() {
/**
* Do some preparatory work and delegate to executeMenu()
* to finish up and render the menu. I'd like this action
* to render through the _menu.php partial as well.
*/
}

#
# templates/layout.php
#
<?php include_component( 'navigation', 'menu', array( 'menu' => 'Entity Type' ) ) ?>

/** SNIP */

<?php include_component( 'navigation', 'SpecialMenu' ) ?>

任何意见都将不胜感激。

最佳答案

一个简单的(如果不是最佳的)方法是创建 _SpecialMenu.php 部分并在其中放置一个包含:

<?php include_partial('navigation/menu', array('menu' => 'Entity Type', 'other_var' => $other_var) ?>

每个变量都需要传递给部分变量,如 $other_var 中所示。这至少能解决问题吗?

关于symfony1 - 交响乐团 : Sharing a partial between two component actions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com