从Magento网站删除货币符号

u3r8eeie  于 2022-11-12  发布在  其他
关注(0)|答案(6)|浏览(127)

我怎么才能从整个网站删除货币符号
我正在使用字体图标,而不是货币符号,所以我想从网站完全删除magento默认货币符号

xzlaal3s

xzlaal3s1#

Magento管理-〉系统-〉管理货币-〉符号

f45qwnt8

f45qwnt82#

请使用此:

Mage::helper('core')->currency($_yourPriceToFormat, false, false);
bbmckpt7

bbmckpt73#

Magento1:打开你的管理员,进入系统〉管理货币〉符号。在这里你可以应用更改。
Magento2:打开你的管理员,然后进入商店〉货币〉货币符号。在这里你可以应用更改。

slsn1g29

slsn1g294#

溶液1

Magento admin -> system -> manage currency -> symbols中,您可以将货币符号更改为其他任何符号,但不能将其留空,但在我尝试之后,我发现可以将其设置为 ,它是空格的转义字符,然后您可以设置price css来修复额外的空格宽度,这是一个小技巧:)

溶液2

更改您正在使用的主题文件中的代码。
Mage::helper('core')->currency($_product->getFinalPrice(), true, false)更改为Mage::helper('core')->currency($_product->getFinalPrice(), false, false)
其他关于价格的代码也可以像上面一样更改为无货币。
如果你想整个网站没有货币,你需要改变所有的价格代码出现。

fkaflof6

fkaflof65#

尽量不要使用对象管理器

// For specific price
$om = \Magento\Framework\App\ObjectManager::getInstance();
$currencyManager = $om->get('Magento\Directory\Model\Currency');
$price = $currencyManager->formatPrecision(
    "$5.00",
    4,//precision
    ["display"=>\Zend_Currency::NO_SYMBOL],
    false
);
btqmn9zl

btqmn9zl6#

对于Magento 2**.4.2**,我相信价格的格式是为了在前端的两个地方显示(包括货币符号)。
一个是module-directory/Model/Currency.php中的一个名为'formatPrecision'的函数。这个函数将在.phtml中调用(主要但不仅仅用于module-catalog/templates/price/amount/default.phtml中的目录页面)。
另一个是在module-catalog/view/base/web/js/price-utils.js中名为'formatPrice'的JavaScript函数,它影响产品页面(所谓的'pricebox')、购物车页面和结帐页面上的价格显示。
您可以创建一个小的扩展来更改格式的输出(删除货币符号)。* 您只需要两个主文件来更改两个函数。*
对于第一个位置,可以创建一个'before plugin',并设置/覆盖参数,以使格式隐藏符号,如下所示:
文件名:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Directory\Model\Currency">
        <plugin name="Vendor_ModuleName_Currency_Plugin" type="Vendor\ModuleName\Plugin\CurrencyPlugin" sortOrder="1" />
    </type>
</config>

php插件/货币插件:

<?php

namespace Vendor\ModuleName\Plugin;

use Magento\Directory\Model\Currency;

class CurrencyPlugin
{
    public function beforeFormatPrecision(Currency $subject,
                                                   $price,
                                                   $precision,
                                                   $options = [],
                                                   $includeContainer = true,
                                                   $addBrackets = false)
    {
        $options['display'] = \Magento\Framework\Currency::NO_SYMBOL;

        return [
            $price,
            $precision,
            $options,
            $includeContainer,
            $addBrackets];
    }
}

然后,对于Javascript函数,您可以使用 *mixin**扩展 *'formatPrice'函数,如下所示:
查看/前端/要求配置.js:

var config = {
    config: {
        mixins: {
            'Magento_Catalog/js/price-utils': {
                'Vendor_ModuleName/js/price-utils-mixin': true,
            },
        },
    }
};

查看/前端/web/js/价格-实用程序-混合。js:

define(['mage/utils/wrapper'], function(wrapper) {
    'use strict';

    return function(target) {

        var newFormatPrice = wrapper.wrap(target.formatPrice, function(original, amount, format, isShowSign) {
            var originalFormat = original(amount, format, isShowSign);
            //change to $, ¥, or ₿
            return originalFormat.replace('€', '').trim();
        });

        target.formatPrice = newFormatPrice;

        return target;
    };
});

此解决方案的灵感源自https://magento.stackexchange.com/a/323428/67938

相关问题