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

ND1*_*D17 2 php block magento

这段代码写在market.phtml中

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

在Badge.php

echo $this->vendorId;
Run Code Online (Sandbox Code Playgroud)

但我的输出为空.这是将数据传递给阻止的正确方法吗?

Emi*_*td. 6

您需要像这样更改变量并进行检查

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

现在您可以在badge.phtml文件中访问此供应商ID变量,如下所示:

<?php echo $this->getVendorId();?>
Run Code Online (Sandbox Code Playgroud)