我创建了一个应用程序,允许管理员将滑块内容保存到数据库,现在我想将滑块包含在主页中。我有一个带有滑块功能的Slides控制器,它仅将幻灯片内容发送到滑块视图。
这是控制器功能:
public function slider()
{
$slides = $this->Slides->find('all');
$this->set('slides', $slides);
$this->set('_serialize', ['slides']);
}
该功能的视图仅包含以下内容:
<?= $this->element('slider'); ?>
然后,我创建了一个名为“滑块”的元素文件,并在那里处理幻灯片。当我转到url / slides / slider时,滑块正在工作,但是当我转到根目录或主页时,滑块为空。它似乎没有在元素中保留$ slides变量。
在主页上:
<?= $this->element('slider'); ?> // then the rest of the home page follows this.
那么,如何保留变量或使其可变,以便也可以在主页上显示滑块视图?
您的最佳做法是使用Cells:
视图单元是小型的微型控制器,可以调用视图逻辑并渲染模板。它们提供了轻巧的模块化替代品来代替requestAction()。
cd bin
控制台运行的基本App dircake bake cell Slider
从控制台运行src/View/Cell/SliderCell.php
。如下
public function display()
{
$this->loadModel('Slides');
$slides= $this->Slides->find('all');
$this->set('slides', $slides);
}
src/Template/Cell/Slides/display.ctp
,然后玩$slides
tepmlate。<?= $this->cell('Slider') ?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句