gpt4 book ai didi

cakephp - 从外部 ctp 文件中获取 block

转载 作者:行者123 更新时间:2023-12-04 05:50:30 24 4
gpt4 key购买 nike

我读了 thisthis .
但我找不到答案。

我有这个文件,其中存在我的操作 View :
查看/MyController/index.ctp

我也有这个文件
查看/Commons/blocks.ctp

Blocks.ctp 文件包括这些:

$this->start('sidebar1');
echo 'Some content';
$this->end();

$this->start('sidebar2');
echo 'Some content more';
$this->end();

所以在“ index.ctp ”文件中我想获取 侧边栏1 侧边栏2 .
我怎样才能做到这一点?
我把这个写给 index.ctp ,但没有用。
<?php echo $this->fetch('sidebar1'); ?>

还有这个没用
<?php echo $this->fetch('../View/Commons/blocks.ctp/sidebar1'); ?>

谢谢

最佳答案

放在 index.ctp 的顶部:

$this->extend('Common/blocks.ctp');

通过块和 View 继承,您可以创建“子布局”,它们基本上类似于标准 Cake 布局文件。因此,您将拥有主 layout.ctp,而 Controller Action View ctp 将基于通过块“填充”的父 View 文件(例如/Commons/xxxx.ctp)。

除非您使用“ View 继承”功能,否则块就像元素但不那么“正式”。它们的标记和数据在您的脚本中创建,可能位于多个位置,因此调试/维护起来会更加麻烦(即想象将标记附加到来自多个类的块)。如果不使用继承,它们也更难重用。

元素更像是可以在任何 Controller + Action View 或布局中使用的独立 View 文件:所有标记都在一个地方,您只需传入数据。

底线:如果你是 Cake 的新手,你可以只使用元素。 View 继承可以帮助使 View /布局更优雅,但代价是一些复杂性。

关于cakephp - 从外部 ctp 文件中获取 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10113765/

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