如何将数据从数据库放入模板

时间:2013-07-29 13:21:51

标签: database magento

我想将数据库中的数据放入我的模板文件中。将根据用户ID选择此数据。

我已经设置了模板文件,并且我有基于他们的id选择用户的代码,我不知道并且无法解决的问题是需要放置选择数据的代码,即阻拦,助手等...

我认为它需要进入一个区块,从那里我不知道如何将数据传送到模板并将每个数据放入各自的输入字段中?

我的问题是:

  • 代码在哪里
  • 如何从模板中调用该代码

=== EDIT ===

命名空间/模块/块/ Blockname.php

class Namespace_Module_Block_Blockname.php
extends Mage_Core_Block_Template
{
public function postsGetByIdAction($id)
{
    $params = $this->getRequest()->getParams();
    $prefs = Mage::getModel('module/model');
    $prefs->load($params['id']);
    $data = $prefs->getData();
    return$data;
}
}    

模板/命名空间/模块/ templatefile.phtml

<?php echo $this->postsGetById(); ?>//returns invalid method Mage_Core_Block_Template::postsGetById(Array())

我已经尝试了var_dump,因为错误消息在结尾处说'array'但我仍然得到相同的消息

1 个答案:

答案 0 :(得分:0)

Magento以这种方式工作,在MVC设计模式中,与通常的MVC不同。 在Magento,我们有: - 模型 - 查看:     - 块     - 布局     - 模板      这些块从模型中获取数据,并通过布局系统将此数据传递给模板。 - 控制器

所以,你的问题的答案是你需要一个模型中的方法,并通过块调用它,然后以这种方式传递数据: 块:

class Mynamespace_Mymodule_Block_Myblock extends Mage_Core_Block_Template
{
    public function getMyProductData()
    {
        $product = Mage::getModel('catalog/product')->load($id);
        return $product;    
    }
} 

然后你可以在你的phtml中检索它:

$_product = $this->getMyProductData();
echo $_product->getName();

来自墨西哥的问候:D