在 Octobercms item.viewBag.cssClass 中,值超过一个 classes 分别对每个 class 使用 if 语句
In Octobercms item.viewBag.cssClass value with more than one classes use if statement with every class separately
在 Octobercms 页面插件中,我可以在菜单项属性中插入 CSS Class。然后我可以使用 "item.viewBag.cssClass" 在模板中租用这个值。所以我可以使用:
{% if subitem.viewBag.cssClass == 'name' %}<li class="myname"></li>{% endif %}
问题是当我想在 CSS class field.For 中使用多个 class 示例时,如果我在其中插入 2 个 classes字段 name1 name2.Then 我可以使用这个:
{% if subitem.viewBag.cssClass == 'name1 name2' %}<li class="myname"></li>{% endif %}
但不是这个:
{% if subitem.viewBag.cssClass == 'name1' %}<li class="myname1"></li>{% endif %}
或者这个:
{% if subitem.viewBag.cssClass == 'name2' %}<li class="myname2"></li>{% endif %}
有没有办法在 twig 上识别一个单独的 class 值内部有 2 个或更多 classes,所以我可以使用 if 语句使用任何我想要的 class ?
是的,在 Twig 中您可以使用 Containment Operator。
例如,您的最后一个条件将更改为:
{% if 'name2' in subitem.viewBag.cssClass %}<li class="myname2"></li>{% endif %}
在 Octobercms 页面插件中,我可以在菜单项属性中插入 CSS Class。然后我可以使用 "item.viewBag.cssClass" 在模板中租用这个值。所以我可以使用:
{% if subitem.viewBag.cssClass == 'name' %}<li class="myname"></li>{% endif %}
问题是当我想在 CSS class field.For 中使用多个 class 示例时,如果我在其中插入 2 个 classes字段 name1 name2.Then 我可以使用这个:
{% if subitem.viewBag.cssClass == 'name1 name2' %}<li class="myname"></li>{% endif %}
但不是这个:
{% if subitem.viewBag.cssClass == 'name1' %}<li class="myname1"></li>{% endif %}
或者这个:
{% if subitem.viewBag.cssClass == 'name2' %}<li class="myname2"></li>{% endif %}
有没有办法在 twig 上识别一个单独的 class 值内部有 2 个或更多 classes,所以我可以使用 if 语句使用任何我想要的 class ?
是的,在 Twig 中您可以使用 Containment Operator。
例如,您的最后一个条件将更改为:
{% if 'name2' in subitem.viewBag.cssClass %}<li class="myname2"></li>{% endif %}