Программно изменить стиль представления

Аватар пользователя Dreick

Скажите, можно программно изменить стиль представления, например с HTML списка на Неформатированный список, если да, то как? я уже весь гугл прошарил, а ответа так не нашел.

Модули и темы:
Тип материала:
Версия Drupal:
0 Thanks

Лучший ответ

Аватар пользователя Dreick
Dreick 1 неделя назад
1

Не стал мучиться третий день и пошел другим ходом. Я для каждого словаря таксономии хотел менять стиль, подумал что какое-то извращение и лучше буду для каждого словаря подменять представление и в этом мне помог TVI. И спасибо что помогал!

Комментарии

Аватар пользователя OldWarrior
OldWarrior 1 неделя назад

Например, как-то так (второе или третье из Гугла):

<?php
...
function 
themename_views_default_views_alter(&$views) {
 if (isset(
$views['commerce_products']) {
  
$views['commerce_products']->display['default']->display_options['style_plugin'] = 'table';

}
...

?>
Аватар пользователя Dreick
Dreick 1 неделя назад

если я не ошибаюсь, то этот хук для 7 версии, а мне нужно в 8 это сделать

Аватар пользователя OldWarrior
OldWarrior 1 неделя назад

Пардон, да. Не обратил внимание на версию, почему-то решил что D7.
Думаю, hook_views_pre_render.

<?php
function hook_views_pre_render(\Drupal\views\ViewExecutable $view) {
    
// Для начала можно попробовать что-то узнать так.
    
dpm($view->style_plugin->options); 
}
?>

Далее, видимо
Drupal\views\ViewExecutable::getDisplay
и
Drupal\views\Plugin\views\display\DisplayPluginBase::setOption

Аватар пользователя Dreick
Dreick 1 неделя назад
1

Не стал мучиться третий день и пошел другим ходом. Я для каждого словаря таксономии хотел менять стиль, подумал что какое-то извращение и лучше буду для каждого словаря подменять представление и в этом мне помог TVI. И спасибо что помогал!