2016-07-04 9 views
0

Я создал представление, которое отображается на странице 10 новейшей статьи. У меня есть два строки: изображение и контент. В настройках поля изображения я выбрал стиль изображения (например: medium). Как изменить стиль изображения на другой (пример: большой) только в первой строке?Drupal 8 изменить стиль изображения в первой строке в списке видов

Я попробовал его в предобработки, но я не знаю, где хранится информация о стиле изображения:

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 
    } 
} 
} 

С уважением

ответ

0

Что касается вашего кода и ваши объяснения, я не уверен, чтобы понять, чего вы пытаетесь достичь.

1/вы пытаетесь добавить класс CSS к 1-му изображению вашего представления. Почему бы не использовать следующий путь в CSS .my_view .first img {}

2/если вы попытаетесь вызвать другой стиль изображения, можете ли вы создать представление только с 1-м элементом или продвинутым? Затем второй вид с остальными элементами?

3/если вы попытаетесь вызвать другой стиль изображения, вы можете сделать это без какого-либо кода. Вы устанавливаете модуль http://drupal.org/project/views_conditional, затем вы добавляете 2 изображения с двумя разными стилями изображения, и вы применяете свое условие в поле настроек состояния.

Я действительно предпочитаю решение 3, потому что это чистая конструкция Drupal.

Надеюсь, это поможет.

Приветствие

0

Вы можете создать представление с оригинальными изображениями, и установить стиль внутри вашего прут файлов, используя, например, веточку подстройки: https://www.drupal.org/project/twig_tweak

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

{{ 'public://images/ocean.jpg' | image_style('thumbnail') }}