我有一个模块正在运行。在后端,我可以上传具有多个属性的图像,并将图像路径和其他信息保存在自定义表中。在前端,我已经设法检测到何时需要显示这些图像。我使用了一个观察者,当在自定义创建的表上找到显示的产品时,它会添加一个新的布局句柄。然后在该布局句柄上,我调用一个 phtml 模板文件,并从这里调用一个块内的函数,该函数将负责执行所有检查以确保显示哪个图像。
我的问题是我找不到如何显示这些图像。我发现的所有内容都参考了如何在 phtml 文件上添加图像标签,对插入的 php 代码进行一些额外的验证。在我的情况下购买一切都在任何 phtml 文件之外的 php 代码上。
我的 phtml 文件代码:
<div>
<h3><?php $this->showCampaign(); ?></h3>
</div>
我现在的块代码:
<?php
class Dts_Banners_Block_Front extends Mage_Core_Block_Template {
/**
* Shows a campaign banner according to the current selected product
* Seeks on main banners table to see if it is an image/html/product alone campaign
* Once knows the campaign type search on needed table the needed fields
*/
public function showCampaign() {
//Zend_Debug::dump($this->getLayout()->getUpdate()->getHandles());
$product = Mage::registry('current_product');
$currentProdID = $product->getId();
if (Mage::registry('campaign_data') && Mage::registry('campaign_data')->getId()) {
$currentCampaign = Mage::registry('campaign_data');
} else {
return;
}
// get campaign type and show needed information
switch ($currentCampaign->getbanner_type()) {
case 1: // image
$myImgCollection = Mage::getModel('banners/bannersimg')->getCollection();
$myImgCollection->addfieldtofilter('bannerid',$currentCampaign->getID());
$currentImg = $myImgCollection->getFirstItem();
$currentImgPath = $currentImg->getimg_path();
//{{block type="catalog/product_new" product_id="16" template="catalog/product/view/your_new_page.phtml"}}
break;
case 2: // html
echo "html";
break;
case 3: // plain product url
echo "plain product url";
break;
}
}
}