Magento移动货币符号超出微格式的跨度

时间:2013-10-30 16:28:54

标签: magento microformats

我正在研究Magento 1.7.0.2和

app\design\frontend\default\default\template\catalog\product\price.phtml 
第201行(ish)的

 <?php echo $_coreHelper->currency($_price, true, true) ?>

产生代码:

<span class="price">£100.00</span>

由于货币符号位于跨度中,因此在微格式中会出现错误。因此,我希望价格看起来相同,但是将货币符号从跨度中取出,所以它看起来像:

£<span class="price">100.00</span>

我该怎么做?什么是$ _coreHelper-&gt;货币($ _ price,true,true)在做什么?

2 个答案:

答案 0 :(得分:1)

什么是$ _coreHelper-&gt;货币($ _ price,true,true)在做什么?

/**
 * Convert and format price value for current application store
 *
 * @param   float $value
 * @param   bool $format
 * @param   bool $includeContainer
 * @return  mixed
 */
public static function currency($value, $format = true, $includeContainer = true)

即添加货币符号并将其括在<span class="price"><span>中,因此如果您使用$ _coreHelper-&gt;货币($ _ price,true,false),您将获得相同的价格而不会<span class="price">

如果您需要使用£<span class="price">100.00</span>

 <?php echo Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol(); ?>
<span class="price"><?php echo $price ?></span>

<?php echo $_price ?> - 不是代码的最终版本,您需要格式化它,但没有货币符号,您可以阅读它on Magento SE topic - how to get price without currency symbol

像Smth一样

Mage::getModel('directory/currency')->format(
    $product->getFinalPrice(), 
    array('display'=>Zend_Currency::NO_SYMBOL), 
    false
);

答案 1 :(得分:1)

您可以使用以下内容将货币字符添加为动态内容:before,:after并通过content =“”插入字符;像这样:


.price{position:relative; text-align:center; outline:1px solid #000; width:200px; height:60px}
.price:before,.price::before{content:'£'; position:absolute; z-index:12; font-size:50px; left:0; top:0; width:200px; height:60px; text-align:left}
.price:after,.price::after{}  

我掀起了一个快速的小提示,显示它在行动中http://jsfiddle.net/jalbertbowdenii/7MDH5/2/