Рейтинг:0

Drupal 7: хуки не запускаются при загрузке страницы

флаг cn

У меня есть сайт на друпале 7. Я создаю модуль для добавления опроса на страницу вместо строки шаблона. Насколько я понимаю, я должен сделать это в каком-то хуке типа hook_page_load, hook_init, hook_boot и т.д. Я создал несколько хуков в моем autopolling.module:

<?php
error_log("в автоопросе\n",3,'D:\TEMP\temp\php.log');

функция autopolling_block_info () {
    error_log("autopolling_block_info\n",3,'D:\TEMP\temp\php.log');
    $blocks['myblock'] = массив(
        'info' => t("Мой пользовательский блок"),
    );
    вернуть $блоки;
}

функция autopolling_node_insert($node) {
    error_log("autopolling_node_insert\n",3,'D:\TEMP\temp\php.log');
}
функция autopolling_insert($node) {
    error_log("autopolling_insert\n",3,'D:\TEMP\temp\php.log');
}

функция autopolling_page_alter(&$page) {
    error_log('autopolling_page_alter',3,'D:\TEMP\temp\php.log');
}
функция autopolling_node_load($nodes, $types)
{
    error_log("autopolling_node_load\n", 3, 'D:\TEMP\temp\php.log');
}
функция autopolling_node_view($entity, $type, $view_mode, $langcode)
{
    error_log('autopolling_node_view', 3, 'D:\TEMP\temp\php.log');
}
функция autopolling_entity_view($entity, $type, $view_mode, $langcode) {
    error_log('autopolling_entity_view',3,'D:\TEMP\temp\php.log');
}
функция autopolling_page_build(&$page) {
    error_log('autopolling_page_build',3,'D:\TEMP\temp\php.log');
}
функция автоопроса_init() {
    error_log('autopolling_init',3,'D:\TEMP\temp\php.log');
}
функция autopolling_boot() {
    error_log("autopolling_boot\n",3,'D:\TEMP\temp\php.log');
}

но у меня есть только строка «в автоопросе» в моем файле журнала (и «autopolling_block_info», если я открываю admin/structure/block и «autopolling_node_insert» при добавлении страницы).

Итак, hook_node_load должен работать, но у меня нет никаких записей об этом. И никаких записей ни о каком другом "загрузочном" хуке.

У меня нет ошибок в журнале drupal.

Что я делаю неправильно?

флаг cn
Похоже, вам нужно очистить кэши
Kevin avatar
флаг in
Во всех этих случаях страница будет кэшироваться после первого рендеринга. Вы хотите загрузить опрос через AJAX или что-то еще из вывода вашего блока.
флаг cn
@Clive Я несколько раз очищал кеши из /admin/config/development/performance, но на этот раз это помогло, спасибо

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.