【问题标题】:Embedding view in another view with CakePHP使用 CakePHP 在另一个视图中嵌入视图
【发布时间】:2011-01-31 17:20:12
【问题描述】:

我有一个新闻控制器,每个新闻项都有一个“查看”操作。在每个新闻项目的“查看”操作中,我想包含另一个视图,即 cmets 控制器的“添加”操作。 基本上,我需要在每个新闻项目的页面上添加一个表格来添加 cmets。 我有这两种观点,但我无法将它们联系起来。我尝试使用元素,但它似乎没有呈现添加评论视图的视图。

我该怎么办?

非常感谢!

编辑

元素中的代码:

<?php echo $this->Form->create('Comment', array('class' => 'big', 'url' => array('controller' => 'comments', 'action' => 'add', $news_id)));?>
<?php
    echo $this->Form->input('comment', array('label' => false));
?>

Form->end(__('Submit', true));?>

查看代码:

<?php echo $this->element('add_comment', array('news_id' => $news['News']['id'])); ?>

【问题讨论】:

  • 您能否发布您的 Element 文件的代码以及您如何在视图中使用它?

标签: cakephp view include


【解决方案1】:

将代码从您的视图中移到一个元素中,然后到处调用该元素。

【讨论】:

  • 这是我目前实现的,但它看起来不是很“粘稠”。有没有其他方法可以做到这一点?我相信这里不需要一个元素,因为我只在一个地方使用了添加表单......
  • 只有一种方法可以将“视图中的视图”放入视图中,那就是元素。什么不是“结块”的呢? github.com/infinitas/infinitas/blob/dev/core/comments/views/…github.com/Infinitas-Plugins/blog/blob/master/views/posts/…注意路径和文件类型(视图/元素)
  • 好的,我已经用元素完成了这个。但我仍然有验证问题。请检查您已回答的我的其他问题。谢谢你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-06
  • 2013-06-14
  • 1970-01-01
  • 2013-02-13
相关资源
最近更新 更多