Доработать функцию {shop_currency_html}

7

Сейчас данная функция возвращает значения таким образом:

{shop_currency_html(123111, true)} // вернет "123 111 <span class="ruble">Р</span>"

Т.е. в качестве разделителей используются обычные пробелы. Из-за этого нередко возникают такие мелкие, но неприятные моменты: https://yadi.sk/i/dkMkEMvM4YKG...

Прошу доработать функцию, чтобы вместо обычных пробелов по умолчанию она возвращала неразрывные пробелы:

{shop_currency_html(123111, true)} // было бы хорошо, чтобы вернулось "123&nbsp;111&nbsp;<span class="ruble">Р</span>"

P.S. Не думаю, что кому-то изменение логики работы данной функции может навредить. Но если есть аргументы против - пишите.

P.S. В новой версии SS вроде что-то изменилось со span-ом (я еще не обновлялся), но сути не меняет, хотелось бы разобраться именно с пробелами.

3 комментария

  • 0
    Алексей Алексей Webasyst 18 февраля 2021 17:00 #

    Пробел это разделитель тысяч для валюты рубль.
    Если вам нужен частный случай настройки на конкретном сайте создайте wa-config/currency.php с текстом

    <?php
    return array (
      'RUB' => 
      array (
        'sign_delim' => '&nbsp;'
      ),
    );
    

    Во многих валютах используются другие разделители и для них смена общей функции будет лишней.

    • +1
      replicant replicant 18 февраля 2021 17:09 #

      Вроде бы sign_delim не делитель разрядов, а символ между суммой и знаком валюты или это поменялось? И этот разделитель полезет в {$price} переменную в редакторе товара, а в og:title и подобных мета вообще подарки будут

      2 290&amp;nbsp;руб.


      Проще накинуть какой-нибудь пустотелый класс на сумму+валюту, а кому надо уже сделают nowrap по ситуации.

    • +1

      Если вам нужен частный случай настройки на конкретном сайте создайте wa-config/currency.php с текстом

      Случай не частный. Готовлю к публикации плагин, одной из фичей которого будет уменьшение блока "Корзина" на странице оформления заказа в корзину. Обратил внимание, что уменьшив размер блока, стоимость товаров и/или услуг, добавленым к товарам, начинает плавать. Выглядит некрасиво - https://yadi.sk/i/dkMkEMvM4YKG...

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

      Во многих валютах используются другие разделители и для них смена общей функции будет лишней.

      при желании, можно сделать на уровне функции проверку запрашиваемой валюты. Если rub, то заменить обычные пробелы неразрывными пробелами. остальные валюты могут оставаться неизменными, если считаете что они эта замена будет для них вредна

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите