我想在产品视图页面中实现一些自定义 php。我有一个自定义函数,我想提取动态价格并输出自定义消息。唯一的问题是我不知道如何引入价格变量。这甚至可以按照我尝试的方式完成,还是我必须走很长的路并创建 xml 布局文件、模板文件等?这是我要实现的代码。我对 Magento 还很陌生,所以我不确定这种类型的实现是否与我应该做的完全相反。
<?php
$price=5500; // <--this is the part I can't figure out. I want the current price here (5500 is just there for testing)
function showPromoBox($price) {
$cashrebate=array(.25,.30,.35);
$aprterm=array(36,36,36);
$couponcode=array("25OFF1500","30OFF3000","35OFF5500");
$payment="";
if ($price >=1500 && $price < 3000) {
$x=0;
} else if ($price >= 3000 && $price < 5500) {
$x=1;
} else if ($price >= 5500) {
$x=2;
}
$payment=($price/$aprterm[$x]);
?> Low monthly Payment of <span class="mopymt">$<?php echo number_format(round($payment,2),2); ?>/mo</span><br />
based on 0% APR for <span class="aprtrm"><?php echo $aprterm[$x]; ?> months</span><br />
OR<br />
<span class="cshreb"><?php echo $cashrebate[$x]*100; ?>%</span> off (a savings of <span class="svngs">$<?php echo $price*$cashrebate[$x]; ?></span>) via cash rebate with coupon code: <span class="cpncode"><?php echo $couponcode[$x]; ?></span>.
<?php } ?>
<?php
if ($price >= 1500) { ?><div class="promobox"><?php showPromoBox($price);?></div>
<?php } ?>
UDPATED 代码:我做了以下添加/更改,但仍然不确定如何实现这一点:
我创建了这两个文件来“创建模块”:/app/code/local/Lynskey/ProductPromoBlock/etc/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Lynskey_ProductPromoBlock>
<version>0.0.1</version>
</Lynskey_ProductPromoBlock>
</modules>
</config>
和存储/应用/等/模块
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Lynskey_ProductPromoBlock>
<active>true</active>
<codePool>local</codePool>
</Lynskey_ProductPromoBlock>
</modules>
</config>
我隐约明白我需要更多文件才能正确完成此操作。我需要一个 .php“逻辑”文件来设置我的类并扩展一个 [price] 函数(仍然不确定要调用哪个函数来获取当前价格,但我猜它会是来自 app/code/core 的 Mage_Catalog_Model_Product_Type_Price /Mage/Catalog/Model/Product/Type/Configurable/Price.php
从那里我不确定我需要什么其他文件。另外,一旦完成,我是否只需调用相应模板文件中的类?