Tôi đang tìm cách sửa đổi đầu ra mặc định của Drupal 8 của các liên kết trong một tình huống nhất định, trình chuyển đổi ngôn ngữ. Lý tưởng nhất là tôi muốn có thể làm điều đó trong một mẫu twig và không phải tạo ra một tệp php lớn bao trùm toàn bộ hệ thống tạo liên kết và thêm LỚN nếu trong trường hợp tôi cần ghi đè.
Tôi nghĩ rằng bố cục đầu ra phải được kiểm soát trong mẫu twig tương tự câu trả lời này (câu trả lời này xuất ra cùng một url cho mọi ngôn ngữ)
Tôi đang sử dụng bootstrap làm chủ đề cơ bản vì vậy tôi muốn sử dụng đánh dấu bootstrap cho các liên kết của mình (btn btn-sơ cấp, thả xuống)
Đây là mã của tôi, tôi đang cố gắng thực hiện links--language-block.html.twig
{%- if links|length == 2 -%}
{# show only alternate language button #}
{%- for key, item in links -%}
{%- if not item.attributes['#options']['set_active_class'] -%} {# <--- this is always true!? #}
<a href="{{ item.link['#url'] }}" class="btn btn-primary">{{ item.link['#title'] }}</a> {# #url is always the same what ever the language it is pointing to! #}
{%- endif -%}
{%- endfor -%}
{%- elseif links|length > 2 -%}
{# show selected language in button and other languages in drop down #}
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">{{ selectedLanguage }}<span class="caret"></span></button>
<ul class="dropdown-menu">
{% for key, item in links %}
{%- if not item.attributes['#options']['set_active_class'] -%} {# <--- this is always true!? #}
<li><a href="{{ item.link['#url'] }}">{{ item.link['#title'] }}</a></li>
{% endif %}
{% endfor %}
</ul>
{%- endif -%}
Bất cứ ai cũng có một ý tưởng về cách làm điều này?