Решение проблемы модуля Taxonomy Views Integrator (tvi)

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

Аватар пользователя airarm airarm 17 ноября 2013 в 16:54

Проблема:
Notice: Undefined index: arguments в функции tvi_render_view() (строка 211 в файле ...\sites\all\modules\tvi\tvi.module).

Решение:
Отрываем файл (путь -> /sites/all/modules/tvi/tvi.module)
В нем заменяем
205-ю строку на:
$block = $view->execute_display($display, array($tid));
210-ю строку на:
return $view->execute_display($display, array($tid));

Ссылка на оригинал: https://drupal.org/node/2123659"

Комментарии

Аватар пользователя kolosnitsyn kolosnitsyn 21 января 2014 в 22:05

Что-то здесь не так... Если изучить README к модулю, то всё работает без ошибок.

Дело в том, что надо создать 2 аргумента, а не один.

Вот:

TVI does not care what your view does however TVI will pass the term id and
   term id with depth modifier to the view as arguments.  To make use of these,
   simply add the following arguments to the view you plan to use on your term
   or vocabulary:
   
   A1: Taxonomy: Term ID (with depth)
   A2: Taxonomy: Term ID depth modifier

Либо, если не хочется мороки с аргументами, можно клонировать стандартный Taxonomy term view и в нём делать уже что нужно.

Аватар пользователя goodboy goodboy 7 мая 2014 в 16:57

Второй аргумент Term ID depth modifier не проверяется в функции tvi_render_view().
Ошибка возникает, потому что не находится $view->display_handler->display->display_options["arguments"]["term_node_tid_depth"].
Это происходит, когда нет аргумента Term ID (with depth) для дефолтного отображения вьюва, а сделано только для одного дисплея (page, например).
Другими словами,$view->display_handler->display->display_options["arguments"]["term_node_tid_depth"] - это аргумент для default display вьюва.

Поэтому, чтобы работало: или накатывать патч или добавлять аргумент для дефолтного отображения и назначать page дефолтные аргументы.