[РЕШЕНО] Не срабатывает preprocess_node

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

Аватар пользователя Kubakh Kubakh 24 декабря 2015 в 11:24

Ребят, второй день голову ломаю. Шаблон bootstrap, не срабатывает preporcess_node... Переменные видит, но подменять содержимое перед выводом отказывается напрочь... Sad

Вызов в template.php:

function bootstrap_preprocess_node(&$variables)

Что может быть, никто не сталкивался?

UPD не срабатывает даже в стандартном, голом Bartik

Комментарии

Аватар пользователя bumble bumble 24 декабря 2015 в 13:41

Иногда, такое случается из-за порядка обработки хуков. Скорее всего какой-то модуль переопределяет ваши переопределения, после Вас. Вот здесь описано решение, я им часто пользуюсь в таких случаях.

Но все же, покажите что и как переопределяете. Вдруг ошибка непосредственно в коде?

Аватар пользователя Kubakh Kubakh 24 декабря 2015 в 13:51

Пытаюсь спрятать поле в зависимости от другого... Вот так выглядит функция

function bootstrap_preprocess_node(&$variables){
if ($variables['view_mode'] == 'teaser' && isset($variables['content']['field_video'])){
hide($variables['content']['field_photos']);
}
}

Здесь идёт проверка отображения, и существование поля field-video... Само условие срабатывает, т.к. в него прописывал print 'test'; - отображает, то есть функция отрабатывает своё, но вот записать в массив ничего не получается...

Аватар пользователя bumble bumble 24 декабря 2015 в 14:04

Попробуйте

<?php
unset($variables['content']['field_photos']);
?>

или непосредственно в шаблоне:

<?php
hide
($content['field_photos']);
?>

hide не удаляет переменную.

Аватар пользователя Kubakh Kubakh 24 декабря 2015 в 14:15

Сейчас кое-что проверю, и отпишусь.. Кажись всё решилось Smile
unset пробовал, не помогает

Тут всё дело в DS (Display suite) - он перехватывает препроцессы )

Аватар пользователя Kubakh Kubakh 24 декабря 2015 в 16:16

Всё, получилось ))) Отключает, добавляет, перезаписывает.. Теперь ищу где подцепиться понадёжнее Smile Вызов вот так выглядит
function bootstrap_ds_pre_render_alter(&$layout_render_array, $context, &$vars)