PrestaShop模板文件中如何添加多URL匹配条件?
PrestaShop商品页面URL多条件匹配实现方案
你可以通过两种方式实现多URL关键词匹配,以下是具体代码和说明:
方法一:多strstr判断(简单直接)
这种方式适合匹配项数量不多的场景,分别判断每个关键词是否存在于URL中,只要任一匹配即触发条件:
{$string = $product.url} {$match_incisione = $string|strstr:"incisione-si"} {$match_incisione_40 = $string|strstr:"incisione_40-si"} {$match_incisione_20 = $string|strstr:"incisione_20-si"} {if !$configuration.is_catalog && ($match_incisione || $match_incisione_40 || $match_incisione_20)} <!-- 此处写入满足条件时需要执行的代码 --> {/if}
方法二:正则表达式匹配(扩展性强)
如果后续可能需要添加更多类似格式的关键词(比如incisione_30-si),用正则表达式会更简洁高效:
{$string = $product.url} {if !$configuration.is_catalog && preg_match('/incisione(-|_(20|40))-si/', $string)} <!-- 此处写入满足条件时需要执行的代码 --> {/if}
正则表达式/incisione(-|_(20|40))-si/会同时匹配三种URL片段:
incisione-siincisione_20-siincisione_40-si
注意:如果你的PrestaShop环境禁用了Smarty中调用PHP函数的权限,优先使用方法一。
内容的提问来源于stack exchange,提问作者Leonardo
相关产品推荐
相关产品推荐

