Как написать надстрочный знак, зарегистрированный ® в названии продукта


Наш клиент хочет предложить несколько продуктов, которые являются зарегистрированными торговыми марками. Мы включили знак (R) в соответствующие названия продуктов. К сожалению, они не отображаются надстрочным индексом, как того желает заказчик. Теперь мы просто попытались использовать теги <sup>, чтобы сделать знак надстрочным. Эти HTML-теги удаляются из строки, что не приводит к изменениям.

Как мы можем добавить надстрочный знак ® в название продукта?

Author: Marius, 2014-10-27

3 answers

Ты не можешь. По крайней мере, не быстрым и простым способом. Вероятно, единственный способ добиться этого - погрузиться в catalog/product/view.phtml и вокруг строки 51 заменить

<h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>

Для

<h1><?php echo str_replace('&reg;', '<sup>&reg;</sup>', $_helper->productAttribute($_product, $_product->getName(), 'name')) ?></h1>

На мой взгляд, это немного грязно, но сделает свое дело

 3
Author: Sander Mangel, 2014-10-27 14:47:35

Мы решили эту проблему также другим, менее инвазивным способом, поскольку только для целей презентации важно иметь надстрочный знак. Поэтому мы включили следующий фрагмент кода JavaScript, который заменяет все вхождения ® на <sup>®</sup>:

   String.prototype.replaceAll = function(str1, str2, ignore)
{
    return this.replace(new RegExp(str1.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),(ignore?"gi":"g")),(typeof(str2)=="string")?str2.replace(/\$/g,"$$$$"):str2);
}

jQuery(document).ready(function(){   

         var n=jQuery("body").html().replaceAll('®','<sup>®</sup>');
        jQuery("body").html(n);

});
 1
Author: TheJeed, 2014-10-27 15:29:39

Это поможет написать верхний индекс, зарегистрированный в названии продукта в magento. - Поместите код в $(документ).готово, все работает нормально

$('body :not(script)').contents().filter(function() {
   return this.nodeType === 3;
}).replaceWith(function() {
   return this.nodeValue.replace(/[™®©]/g, '<sup>$&</sup>');
});
 1
Author: Elangovan, 2016-09-01 13:34:42