помогите разобраться с хуками

Главные вкладки

Аватар пользователя strengerst strengerst 15 июня 2021 в 8:52

Так добавляется значение атрибуту класс через hook.

<?phpfunction news_preprocess_field(&$variables){
    
    $variables['attributes']['class'] = 'my_context';
    }?>

Подскажите а как можно добавить целый наружный блок со своим класом ну что бы было:

<div class="my">
нужный нам хук
</div>

Комментарии

Аватар пользователя strengerst strengerst 15 июня 2021 в 10:38

Что img обернуть в div я должен переопределить field--field-image.html.twig

там такой код

<?php
 
{% for item in items %}
     {{ 
item.attributes }}{{ item.content }}
    {% endfor %}
   
?>

А делаю вот так правильно?

<?php

 

{% for item in items %}
<
div class="my">
     {{ 
item.attributes }}{{ item.content }}</div>
    {% endfor %}
   
?>
Аватар пользователя ivnish ivnish 20 июня 2021 в 10:51

strengerst wrote: А делаю вот так правильно?

Так не совсем правильно, потому что это изменение в шаблоне затронет все аналогичные поля. Если у поля нет уникального имени, то лучше в шаблоне сделать проверку на наличие именно нужного поля, например по имени поля. Иногда проще в препроцессе добавить какую-то переменную и по ней определять, что шаблон используется для нужного поля