【问题标题】:view content from Controller and view on a separate controller and view从 Controller 查看内容并在单独的控制器上查看并查看
【发布时间】:2014-08-18 08:22:03
【问题描述】:

我有一个

Controller/PostsController.php
Model/Post.php
View/Posts/Index.ctp

如果有人遵循 cakephp 博客教程,我已经完成了。 任何没有的人,它基本上是一个允许您添加标题和评论的网站。很像一个论坛。

现在我已经设置好了,但我想添加一个名为 home 的新页面。在这个页面上,我不会显示我创建的论坛,而是在一个较小的容器中。

我不确定如何将帖子的视图添加到新的控制器/模型/视图。

这是 PostsController.php:

class PostsController extends AppController {


public function index() {
    $this->set('posts', $this->Post->find('all'));
}

}

这是视图/帖子/index.ctp

    <table>
        <tr>
            <th>Id</th>
            <th>Title</th>
            <th>Actions</th>
            <th>Created</th>
        </tr>

    <!-- Here's where we loop through our $posts array, printing out post info -->

          <?php foreach ($posts as $post): ?>
          <tr>
              <td><?php echo $post['Post']['id']; ?></td>
              <td>
                  <?php
                      echo $this->Html->link(
                          $post['Post']['title']
                      );
                  ?>
              </td>


              <td>
                  <?php echo $post['Post']['created']; ?>
              </td>
          </tr>
          <?php endforeach; ?>

        </table>

所以有了这个,我如何让相同的帖子包含在新的控制器和视图中,让我们说:

HomesController.php 查看/Homes/index.ctp

编辑//编辑//编辑

是的,我现在通过添加成功完成了一半 $this->render('/Abouts/index'); 到我的 PostsController

但现在我收到一条错误消息 "未定义变量:帖子 [APP\View\Abouts\index.ctp,第 12 行]"

我不确定如何在我的 abouts 视图中定义这些

【问题讨论】:

  • 你为什么想要那个?
  • 因为我有一个带有它们的帖子页面,但是在其他地方的另一个页面上我无法在一个小容器中显示它们,然后我可以编写一些自己的代码来显示最近的前 3 名,或者任何时候。我是 cakephp 新手,所以我不确定如何做到这一点

标签: cakephp cakephp-2.0 cakephp-2.1 cakephp-2.3


【解决方案1】:

在 'abouts' 操作中,您将执行与索引中相同的操作:

$this->set('posts', $this->Post->find('all'));

站点说明:看来值得您花时间再次阅读博客教程以进行复习。我相信这种事情已经讲得很透彻了。

【讨论】:

    【解决方案2】:

    来自 cakephp 书籍

    许多应用程序都有小块的表示代码,需要在页面之间重复,有时在布局中的不同位置。 CakePHP 可以帮助您重复网站中需要重用的部分。这些可重复使用的部分称为元素。广告、帮助框、导航控件、额外菜单、登录表单和标注通常在 CakePHP 中作为元素实现。元素基本上是一个迷你视图,可以包含在其他视图、布局甚至其他元素中。元素可用于使视图更具可读性,将重复元素的渲染放置在其自己的文件中。它们还可以帮助您在应用程序中重用内容片段。

    所以,为了您的目的使用元素,更多信息here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-19
      • 1970-01-01
      相关资源
      最近更新 更多