Php 如何在magento的视图文件中加载数据?

Php 如何在magento的视图文件中加载数据?,php,magento,Php,Magento,我刚开始学习magento。我在控制器中有一个数据列表。我想在我的视图文件中显示该列表。我该怎么做? 这是我的控制器操作类别。在这里我可以得到数据数组 <?php class Company_Web_IndexController extends Mage_Core_Controller_Front_Action { public function indexAction() { $this->loadLayout();

我刚开始学习magento。我在控制器中有一个数据列表。我想在我的视图文件中显示该列表。我该怎么做? 这是我的控制器操作类别。在这里我可以得到数据数组

<?php
class Company_Web_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {    
        $this->loadLayout();     
        $this->renderLayout();
    }

    public function addcategoryAction()
    {
        if ($this->getRequest()->isPost()) 
        {
            $data = $this->getRequest()->getParams();
            $catName = $data['catName'];
            $status = $data['status'];
            $data = array('name'=>$catName,'status'=>$status);
            $model = Mage::getModel('web/web')->setData($data);
            try {
                $insertId = $model->save()->getId();
                $this->_redirect('web/index/category');
            } catch (Exception $e){
             echo $e->getMessage();   
            }
        }
        $this->loadLayout();     
        $this->renderLayout();
    }

    public function categoryAction()
    {
        $collection = Mage::getModel('web/web')->getCollection()->getData();
        $this->loadLayout();     
        $this->renderLayout();
    }
}

?>

您可以从控制器执行此操作,但通过块将数据传递给模板更简单,也更符合Magento的最佳实践

要确定正在呈现哪个模板和块,请转到
System>Configuration>Advanced>Developer>Debug
并启用模板路径提示(使用块名称)。现在,当您加载前端时,您将在页面的各个部分周围看到红色边框,说明哪个块和模板组合正在加载网页的各个部分

块对象的特性和方法自动可用于由该块渲染的模板

要使该数据在模板中可用,只需向呈现模板的块添加一个方法,然后从模板中调用该方法

作为一种快捷方式,您也可以调用
$collection\u data=Mage::getModel('web/web')->getCollection()->getData()直接在模板内


有关更多信息,请参阅。

Magento使用块类型,即您提到的phtml文件,用于呈现类别操作的内容,即

<web_index_category>
<reference name="content">
<block type="core/template" name="category.block" template="customfile.phtml" />
</reference>
</web_index_category>
在这个函数中,创建一个函数并返回您的集合 i、 e

在phtnl中,使用

$this->getCollection()
查看此处了解更多详细信息


谢谢你的帮助,伙计
public function getCollection()
{
 return Mage::getModel('web/web')->getCollection()->getData();
}
$this->getCollection()