【发布时间】:2021-04-08 14:35:36
【问题描述】:
我网站中的一个产品的产品名称中有一个上标字符。由于 Prestashop 不允许产品名称中包含 HTML 标签,我需要找到一种方法在产品页面中正确显示上标字符。
在四处寻找时,我发现有人遇到类似问题:https://www.prestashop.com/forums/topic/543339-how-to-make-superscript-format-%C2%AE-symbol-in-category-name-and-product-name/。他们似乎通过修改他们主题的 product.tpl 文件中的一行代码来解决这个问题:
<h1 itemprop="name">{$product->name|escape:'html':'UTF-8'|replace:'character':'<sup>character</sup>'}</h1>
我尝试了这个解决方案,但主题不是仅将一个字符替换为其上标版本,而是将整个字符串显示为纯文本,包括 sup 标签。清除缓存,设置强制重新编译模板文件,什么都没有。
显然“replace”命令确实有效,但我不知道为什么 sup 标记无效。有人知道解决这个问题的方法吗?
【问题讨论】:
-
我认为这是因为
escape:'html':'UTF-8'部分。我想如果你删除它,html 将不会在$product->name中转义。 -
尝试删除它,但没有任何改变。 sup 标签仍然显示在产品名称中。
-
您想将哪些特定字符显示为上标?
-
@JustinEzequiel 具体来说,这是一个数字。
-
如果你使用与上标数字等效的 unicode 怎么办?见unicode-table.com/en/sets/superscript-and-subscript-numbers
标签: html prestashop smarty prestashop-1.7