如何在Twig中添加产品链接?自定义模板实现方案
在Drupal Commerce自定义模板中生成产品链接的方法
嗨,我来帮你搞定这个需求!在你自定义的commerce-product.html.twig模板里,要生成<a href="/my-product-link" title="my-product-title"></a>这种格式的空内容产品链接,其实有两种很实用的方式:
方法一:直接手写HTML标签(最直观)
利用模板中已有的产品实体对象(默认是product),直接调用它的URL和标题属性来构建标签:
<a href="{{ product.url }}" title="{{ product.label|e }}"></a>
product.url:自动输出产品的完整访问路径(比如/my-product-link)product.label:对应产品的标题文本,加上|e过滤器是为了转义特殊字符,避免XSS安全问题- 标签内部留空就符合你要的空内容
<a>标签形式
方法二:使用Drupal的link主题函数(更符合Drupal规范)
如果你想遵循Drupal的主题开发最佳实践,可以用内置的link函数来生成标签,同样能实现需求:
{{ link('', product.url, { 'title': product.label|e }) }}
- 第一个参数传空字符串,就会生成没有内部文本的链接
- 第二个参数是产品的URL对象
- 第三个参数是属性数组,这里指定
title属性为产品标题
额外提示
如果你的产品用了自定义字段来存储链接或标题(比如field_custom_product_link),只需要替换对应的字段值即可,举个例子:
<a href="{{ product.field_custom_product_link.uri }}" title="{{ product.field_custom_product_link.title|e }}"></a>
内容的提问来源于stack exchange,提问作者Fred72
相关产品推荐
相关产品推荐

