Как изменить поведение входного фильтра Drupal в зависимости от местоположения выхода - PullRequest
0 голосов
/ 25 сентября 2010

У меня есть модуль фильтра Drupal, вывод которого я хотел бы изменить, в зависимости от того, где вывод будет отображаться.В частности, я хочу, чтобы фильтр давал полный вывод для узлов, но урезал содержимое до блоков.

Ответы [ 2 ]

1 голос
/ 25 сентября 2010

Я не думаю, что это было бы возможно. Достаточно сложно понять, в каком контексте что-то отображается. Это выполнимо, но довольно сложно самостоятельно. Однако, как работает система фильтров, я не думаю, что в рамках фильтра можно определить контекст фильтруемого текста. Это просто не для чего-то подобного.

0 голосов
/ 07 октября 2010

Я ОП (но только что зарегистрировал аккаунт).

Мне удалось найти решение / обходной путь.Вот что я сделал:

  1. Создайте block.tpl.php в моем модуле, который является копией из system / block.tpl.php, с константой, добавленной вверху.
  2. Поместите мой файл шаблона в заголовок реестра тем, используя hook_theme_registry_alter ():
    function hook_theme_registry_alter(&$theme_registry) {
    // using our own block.tpl.php file.
    $theme_registry['block']['template'] = 'block';
    $theme_registry['block']['path'] = drupal_get_path('module', 'module_name');
    $theme_registry['block']['type'] = 'module';
    $theme_registry['block']['theme path'] = drupal_get_path('module', 'module_name');
    $theme_registry['block']['theme paths'] = Array();
    }
  3. Проверяется постоянная при построении фильтра, изменяется при необходимости.
  4. Отмечает результат.
...