将变量传递给 Magento 中的模板 .phtml 块

Pass a variable to a template .phtml block in Magento

这段代码写在market.phtml

<?php echo $this->getLayout()->createBlock('core/template')->setData('vendorId',$vendor->getCustomerId())->setTemplate('marketplace/vendors/badge.phtml')->toHtml();?>

在Badge.php

echo $this->vendorId;

但是我的输出是空的。这是将数据传递给块的正确方法吗?

您需要像这样更改您的变量并检查它

<?php echo $this->getLayout()->createBlock('core/template')->setVendorId($vendor->getCustomerId())->setTemplate('marketplace/vendors/badge.phtml')->toHtml();?>

现在您可以像这样在 badge.phtml 文件中访问此供应商 ID 变量:

<?php echo $this->getVendorId();?>