Не работает аякс на расширенном фильтре через вставку блока в node.tpl

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

Аватар пользователя daykkin daykkin 28 марта 2014 в 13:40

Всем привет! У меня есть блок во views с развернутыми фильтрами на сортировке, который я показываю через регион "tab" в node.tpl таким образом:

<?php if (block_get_blocks_by_region('tab')): ?>
<?php 
print render(block_get_blocks_by_region('tab')); ?>
<?php 
endif; ?>

В отображаемом результате прекрасно работает аякс для переключения страниц, но совсем не работает в фильтрах сортировки.

После нескольких часов тестирования, я обнаружил, что блок работает идеально (и постраничный переход и фильтры сортировки) если выводить его в любом месте page.tpl

Вот что я вижу в исходном коде, когда вывожу его через page.tpl:
"better_exposed_filters":{"datepicker":false,"slider":false,"settings":[]},"views":{"ajax_path":"\/views\/ajax","ajaxViews":{"views_dom_id:7ff6de2549b84f9553122b84f32d822b":{"view_name":"person_books","view_display_id":"block_1","view_args":"61\/61","view_path":"node\/61","view_base_path":null,"view_dom_id":"7ff6de2549b84f9553122b84f32d822b","pager_element":"0"}}}

А вот что вижу, если вывожу через node.tpl описаным выше способом:
"better_exposed_filters":{"datepicker":false,"slider":false,"settings":[]},"views":{"ajax_path":"\/views\/ajax","ajaxViews":{"views_dom_id:21d228e5cc07884c39ecda6d29b417c4":{"view_name":"person_books","view_display_id":"block_1","view_args":"61\/61","view_path":"node\/61","view_base_path":null,"view_dom_id":"21d228e5cc07884c39ecda6d29b417c4","pager_element":"0"},"views_dom_id:a94bccf7913b478becb33a3a27ec903d":{"view_name":"person_books","view_display_id":"block_1","view_args":"61\/61","view_path":"node\/61","view_base_path":null,"view_dom_id":"a94bccf7913b478becb33a3a27ec903d","pager_element":"0"},"views_dom_id:da94f68eea44bf9ead4034e965977935":{"view_name":"person_books","view_display_id":"block_1","view_args":"61\/61","view_path":"node\/61","view_base_path":null,"view_dom_id":"da94f68eea44bf9ead4034e965977935","pager_element":"0"}}}

Как я могу исправить это? По непонятной мне причине, views отдает несколько view_dom_id в хедар. Я думаю проблема именно в этом.

P.S. Я пытался выводить блок через views_embed_view в node.tpl, это никак не помогло, остались те же проблемы. :/

Комментарии

Аватар пользователя daykkin daykkin 28 марта 2014 в 23:50

Исправил. Запомните, всегда, ВСЕГДА! отключайте показ блока в админке, даже если не выводите его на странице или ноде. Этот кусок дерьма отдает в заголовок что-то вроде:
{"view_name":"person_books","view_display_id":"block_1","view_args":"61\/61","view_path":"node\/61","view_base_path":null,"view_dom_id":"21d228e5cc07884c39ecda6d29b417c4","pager_element":"0"}
И в таком случае аякс работает не так гладко, как хотелось бы.