Commerce - Как завернуть валюту в span?

Главные вкладки

Комментарии

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 30 июня 2013 в 20:38

этот хук не предназначен для такого
Ищите theme функцию, если такова имеется, чтобы её переписать. Надо иметь ввиду, что цену может выводить другой модуль и применять свою темизацию

http://drupalcontrib.org/api/drupal/contributions!commerce!commerce.modu...
как видим данная функция отдаёт тупо в t() строке, но нужно проверить, инфо могло устареть.

Аватар пользователя serega111 serega111 1 июля 2013 в 13:05

Вроде ее и нет.
Попробуйте определить свой hook_field_formatter_info и hook_field_formatter_view. Код скопируйте из commerce_price, добавьте проверку валюты и код для вывода рублей

Аватар пользователя volodymyr volodymyr 12 ноября 2013 в 23:38

http://drupal.stackexchange.com/a/76468

строку

return trim(t('@code_before@code_spacer@negative@symbol_before@price@symbol_spacer@symbol_after@code_spacer@code_after', $replacements));

меняете например на

return trim(t('@code_before@code_spacer@negative@symbol_before@price@symbol_spacer@symbol_after@code_spacer@code_after', $replacements));

и все ))

Аватар пользователя Samaella Samaella 22 августа 2015 в 21:23

У меня это не сработало.
У меня такая задача возникла при создании шаблона товара. Я выводила нужные поля и добавляла необходимую разметку.
Для цены выводила отдельно форматированное число и отдельно символ валюты. И там уже можно добавлять любой html.
Примерно так:

<?php /* цена */
        $amount = $content['product:commerce_price']['#items'][0]['amount'];
        $currency_code = $content['product:commerce_price']['#items'][0]['currency_code'];
        $currency = commerce_currency_load($currency_code);
        $currency_symbol = $currency['symbol'];
        $price = number_format(commerce_currency_round(abs($amount), $currency), $currency['decimals'], $currency['decimal_separator'], $currency['thousands_separator']);
print $price;
print $currency_symbol;
                ?>