Попытка развернуть на TWIG тест «если» и «для» В общем / footer.twig OpenCart 3.0.3.2 - PullRequest
0 голосов
/ 21 июня 2019

Я хочу расширить возможности тестов "если" и "для" в OpenCart 3.0.3.2 ... Я никогда не испытывал честно опыт TWIG (мне удобно в Perl), поэтому я сделаю все возможное, чтобы не раздражать иликто-нибудь другой.

В серверной части OpenCart: Дизайн -> Редактор тем Я работаю над файлом TWIG: common / footer.twig В частности, я работаю над первым столбцом «Информация», который представлен ниже.

{% if informations %}
<div class="col-sm-3">
<h5>{{ text_information }}</h5>
<ul class="list-unstyled">

{% for information in informations %}

<li> <a style="font-size: 10pt;" href="{{ information.href }}">
<i style="color: #FFCC00; font-size: 9pt;margin-right: 2px;" aria-hidden="true" class="fas fa-info"></i> 
{{ information.title }}</a></li>

{% endfor %}

</ul>
</div>
{% endif %}

Приведенные выше тесты "if" и "for" возвращают значения, определенные операторами сайта из
Каталог -> Информация - "информация" [конфиденциальность, условия, возврат и т. Д.]]отображаются как нижние колонтитулы в нижнем колонтитуле.

До этого момента я пытался сформулировать то, что, как я думал, будет работать, однако я мог только генерировать ошибки приложения в худшем случае, или из тестов, которые я создал, абсолютно ничего не печаталось.

Ниже я буду смущать себя своей попыткой, которая проваливается из-за того, что ничего не печатается.

{% if informations %}
<div class="col-sm-3">
<h5>{{ text_information }}</h5>
<ul class="list-unstyled">
{% for information in informations == "Privacy Policy" %}
<li> <a style="font-size: 10pt;" href="{{ information.href }}">
<i style="color: #FFCC00; font-size: 10pt;margin-right: 2px;"  aria-hidden="true" class="fas fa-user-secret"></i> {{ information.title }}</a></li>

 {% endfor %}

 </ul>
 </div>

{% endif %} 

Чего я хотел бы добиться, так это расширить TWIG "если" и "для «тестов, чтобы можно было определить, является ли одно из этих возвращаемых значений, например,« Политика конфиденциальности »ИЛИ« Информация о доставке », текстовая информация будет напечатана в нижнем колонтитуле в дополнение к соответствующему значку Font Awesome, соответствующему значению.

Буду признателен за любой вклад, и я заранее благодарю вас за то, что нашли время прочитать этот не говоря уже о ответе.

С наилучшими пожеланиями

1 Ответ

1 голос
/ 21 июня 2019

Основная причина, по которой вы не видите никакого вывода, в том, что ваш синтаксис выключен.

{% для информации в информации == "Политика конфиденциальности"%}

То, что не будет делать то, что вы ожидаете.Вместо этого вам нужно просто проверить в цикле определенное значение и действовать соответственно:

{% if informations %}
<div class="col-sm-3">
    <h5>{{ text_information }}</h5>
    <ul class="list-unstyled">
    {% for information in informations %}
        {% if information.title == "Privacy Policy" %}
            <li>
                <a style="font-size: 10pt;" href="{{ information.href }}">
                    <i style="color: #FFCC00; font-size: 10pt;margin-right: 2px;" aria-hidden="true" class="fas fa-user-secret"></i> {{ information.title }}
                </a>
           </li>
        {% else %}
            <li>
                <a style="font-size: 10pt;" href="{{ information.href }}">
                    {{ information.title }}
                </a>
           </li>
        {% endif %}
    {% endfor %}
    </ul>
</div>
{% endif %} 

Обратите внимание на вложенную проверку, если information.title.

...