【发布时间】:2017-05-17 08:56:55
【问题描述】:
我的 Magento 主页中有两个自定义块。其中一个块显示所有产品。另一个块应该显示最近点击/查看的产品。 我已经为事件创建了观察者来获取点击的产品数据。 如何使用来自观察者的这些数据在主页的第二个块中显示该产品的数据?我必须以某种方式从观察者那里传递数据。
Observer.php
<?php
include 'C:\wamp64\www\magento1924\app\code\local\Company\Namespace\Block\Recommended.php';
class Company_Namespace_Model_Observer {
public function getProductData($observer) {
//Uncomment the line below to log what is contained here:
//Mage::log($observer);
$data = new Company_Namespace_Block_Recommended();
$product = $observer->getProduct();
$pId = $product->getId();
$pName = $product->getName();
//Mage::log($pId);
Mage::log($pName);
$data->recommended($pId, $pName);
}
}
?>
块文件Recommended.php
<?php
class Company_Namespace_Block_Recommended extends Mage_Core_Block_Template
{
public function recommended($pId, $pName){
echo $pId;
echo $pName;
echo "Test!";
}
}
?>
推荐.phtml
<h1>Recently viewed</h1>
<?php
$this->recommended();
?>
所以我使用这个函数推荐()来打印出点击产品的数据。当我在主页中单击某些内容时,它会将我带到产品视图页面,在该页面中我还可以看到(在上部)产品的名称和 ID 以及“测试!”(这也在功能)。 我想要的是,因为我也在主页(在 phtml 文件中)调用了相同的函数推荐(),所以我应该看到产品 ID、名称以及“测试!”。问题是它只显示“测试!”。 我做错了什么吗?
【问题讨论】:
-
到目前为止你尝试过什么?请看stackoverflow.com/help/how-to-ask
-
我已经编辑了问题。