Я создал вид, который отображает на странице 10 новейшую статью. У меня в строке два поля: изображение и контент. В настройках поля изображения я выбрал стиль изображения (например: средний). Как изменить стиль изображения на другой (например, большой) только в первом ряду?
Я пробовал это в предварительной обработке, но я не знаю, где хранится информация о стиле изображения:
function theme_preprocess_views_view_unformatted__lista_depesz_default(&$variables) {
$view = $variables['view'];
$rows = $variables['rows'];
$style = $view->style_plugin;
$options = $style->options;
$variables['default_row_class'] = !empty($options['default_row_class']);
foreach ($rows as $id => $row) { $variables['rows'][$id] = array();
$variables['rows'][$id]['content'] = $row;
$variables['rows'][$id]['attributes'] = new Attribute();
if ($row_class = $view->style_plugin->getRowClass($id)) {
$variables['rows'][$id]['attributes']->addClass($row_class);
}
if ($id == 0 && $row['content']['#row']->_entity->field_image[0] != NULL) {
//some php code to change image style
}
}
}
С уважением
Что касается вашего кода и ваших объяснений, я не уверен, что понимаю, чего вы пытаетесь достичь.
1 / вы пытаетесь добавить класс CSS к 1-му изображению вашего представления. Почему бы не использовать следующий путь CSS .my_view .first img {}
2 / Если вы попытаетесь назвать другой стиль изображения, можете ли вы создать представление только с 1-м элементом или с продвинутым? Затем второй взгляд с остальными предметами?
3 / если вы попытаетесь вызвать другой стиль изображения, вы можете сделать это без какого-либо кода.
Вы устанавливаете модуль http://drupal.org/project/views_conditional Затем вы добавляете 2 изображения с двумя различными стилями изображения и применяете свое условие в наборе полей условий.
Я действительно предпочитаю решение 3, потому что это чистая сборка Drupal.
Я надеюсь, что это помогает.
ура
Вы можете создать вид с оригинальными изображениями и установить стиль в своих файлах веток, используя, например, настройку веток:
https://www.drupal.org/project/twig_tweak
Внутри файла ветки вы можете установить любой стиль с кондиционером
{{ 'public://images/ocean.jpg' | image_style('thumbnail') }}