0

出力が表示される場所に応じて、出力を変更したい Drupal フィルター モジュールがあります。具体的には、フィルターでノードの完全な出力を提供し、ブロックのコンテンツをトリミングしたいと考えています。

4

2 に答える 2

1

これは不可能だと思います。何かが表示されているコンテキストを把握するのは十分に困難です。実行可能ですが、自分でコーディングするのは非常に困難です。ただし、フィルター システムが機能する方法では、フィルター内でフィルター処理されるテキストのコンテキストを判断することはできないと思います。それは単にそのようなもののために作られたものではありません.

于 2010-09-25T17:49:58.110 に答える
0

私はOPです(ただし、アカウントを登録したばかりです)。

私は解決策/回避策を見つけることができました。これが私がしたことです:

  1. 私のモジュールに、system/block.tpl.php からのコピーである 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['ブロック']['タイプ'] = 'モジュール';
    $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 に答える