0

我有一个 Drupal 过滤器模块,我想更改其输出,具体取决于输出的显示位置。具体来说,我希望过滤器为节点提供完整的输出,但对块的内容进行修剪。

4

2 回答 2

1

我不认为这是可能的。很难弄清楚某些内容显示在什么上下文中。这是可行的,但很难自己编写代码。但是过滤器系统的工作方式我认为它不可能在过滤器中确定被过滤文本的上下文。它根本不适合那样的东西。

于 2010-09-25T17:49:58.110 回答
0

我是 OP(但刚刚注册了一个帐户)。

我确实设法找到了解决方案/解决方法。这是我所做的:

  1. 在我的模块中创建 block.tpl.php,它是 system/block.tpl.php 的副本,顶部添加了一个常量。
  2. 使用 hook_theme_registry_alter() 将我的模板文件放在主题注册表的头部:
    函数 hook_theme_registry_alter(&$theme_registry) {
    // 使用我们自己的 block.tpl.php 文件。
    $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. 庆祝结果。
于 2010-10-07T07:26:51.717 回答