-1

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

我已经设置了模板文件,并且我有代码来根据他们的 id 选择用户,我不知道并且无法解决的是选择数据的代码需要放置的位置,即块,助手ETC...

我假设它需要进入一个块,从那里我不知道如何将数据获取到模板并将每条数据放入各自的输入字段中?

我的问题是:

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

===编辑===

命名空间/模块/块/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;
}
}    

模板/命名空间/模块/模板文件.phtml

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

我尝试了 var_dump,因为错误消息最后说“数组”,但我仍然收到相同的消息

4

1 回答 1

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

于 2013-07-30T00:22:27.710 回答