Добрый день! Никак не могу решить проблему. Друпал на стадии освоения, просьба ногами сильно не пинать.
Сделал свой модуль, сделал блок с полями ввода. При сабмите информация обрабатывается в modulname_blockname_submit() и результат (массив) болжен быть выведен в блоке.
Пробовал в сабмите результат цеплять к $form_state, но проблема в том, что при сабмите форма обновляется, $form_state сбрасывается, переменная с итогами исчезает. Хранить результат в БД не вариант.
Решил попробовать выводить переменную с результатами через шаблон. Создал в папке с модулем шаблон block--modulname--block_delta.tpl.php.
в модуле создал функцию :
В сабмите блока обрабатываю данные, присваиваю переменной search_res готовый массив $res (пробовал и обычную строку):
theme('modulname_block_delta', array('search_res' => $res));
Для проверки вывода в шаблоне прописал <?php debug($search_res); ?>
Так вот... Если файл шаблона находится в папке с модулем, то переменная $search_res в шаблон попадает(срабатывает debug(), выводится массив), но на этом всё... вывести через шаблон ничего не могу, хоть что пиши в шаблоне, ничего не меняется, ничего не выводится...
Но если файл шаблона положить в папку templates текущей темы, то всё в шаблоне (HTML) выводится, но без переменной.
При попытке вывести переменную выводится "неопределенная переменная"(Undefined variable: search_res )
Так где, всё-таки должен лежать файл шаблона, чтоб вывести и переменную, и разметку? Где что нужно изменить? Уже мозги кипят...
Комментарии
Ну или хотя бы подскажите вариант, как полученное в сабмите блока значение вывести в самом блоке? Уже создал еще один блок для вывода значения, только как туда передать это значение из сабмита? В инете куча информации, однако ответа найти не удалось. Все либо через drupal_set_message(), либо в БД, либо в файл. А вот как сделать вывод типа как в поиске? Копал вывод в Search, не смог разобраться...
а views использовать не пробывали?
Нет, пока не пробовал. Просто не имею опыта разработки с этим модулем. В моём модуле у меня своя сущность (наследовал от entity), интеграцию с views пока не делал. Но спасибо за направление, попробую вывести с помощью views.