多语言网站链接配置需求:英文版本移除/en/前缀
多语言URL配置实现方案(英语无/en/前缀)
针对你的需求(英语版本URL不带/en/前缀,西班牙语用/es/、乌克兰语用/ua/前缀),结合你当前使用的MODX模板标签,直接修改href的拼接逻辑即可,具体实现如下:
修改后的完整代码
<ul class="site-footer__bottom-text-two list-unstyled"> <li> <a href="/[[!*context_key:is=`en`:then=``:is=`web`:then=`ua/`:is=`es`:then=`es/`]]terms/">[[%terms? &namespace=`lang` &language=`[[++cultureKey]]`]]</a> </li> </ul>
逻辑说明
利用MODX的链式:is过滤器对当前语言上下文(context_key)做判断:
- 当上下文为
en(英语)时,输出空字符串,最终URL为/terms/ - 当上下文为
web(你原代码中对应乌克兰语)时,输出ua/,最终URL为/ua/terms/ - 当上下文为
es(西班牙语)时,输出es/,最终URL为/es/terms/ - 前缀后特意保留
/,和后续terms/拼接时不会出现多余斜杠,保证URL格式规范
内容的提问来源于stack exchange,提问作者Lost Svan
相关产品推荐
相关产品推荐

