gpt4 book ai didi

php - 我可以对不同的操作使用相同的 View 吗?

转载 作者:行者123 更新时间:2023-12-02 07:12:14 26 4
gpt4 key购买 nike

我有 Controller “产品”,具有“添加”和“编辑”操作。

我制作了长格式的 View “add.ctp”。想知道我是否可以使用相同的 View 来生成显示“编辑”。我需要在 Controller 中的 edit() {} 下放置什么,以使其输出到“add.ctp”而不是“edit.ctp”?

谢谢。

最佳答案

你可以使用:

$this->render('add');

在 Controller 的编辑功能结束时,但我不推荐它。

更好的解决方案是做一个小的重构,将 add.ctp 的内容放入一个元素(例如 app/views/elements/productForm.ctp),然后在 add.ctp 和edit.ctp View 。

<?php echo $this->element('productForm'); ?>

这使您可以灵活地用特定于操作的元素包装表单,并进行可能特定于该操作的任何设置。例如,在产品表单下,您可能有一组不同的操作,例如“查看产品”,它在添加模式下没有意义,但在编辑模式下有意义。

@kaklon 提出了一个很好的观点,您应该在 productForm 元素中加入一些逻辑以确保编辑模式的行为正确:

if ($this->action == 'edit') {
echo $this->Form->input('id');
}

关于php - 我可以对不同的操作使用相同的 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4781459/

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