web-dev-qa-db-ja.com

Themerを開発する代替手段はありますか?

テーマ開発者モジュールをテーマに使用しています。モジュールはかなり良いですが、それでも非常にバグが多いです。バグの少ない代替手段はありますか?

14
Bhok

あんまり。

Drupal 7.33リリース 以降、代替テンプレートのサポートとsettings.phpに設定を追加することで、Drupal(core)にリストされているテーマ関数の代替案が簡単にサポートされます。

テンプレートとテーマ関数に「theme_hook_original」変数を追加し、オプションのサイト全体のテーマデバッグモードを追加して、ページのHTMLのコンテキスト情報をテーマ開発者に提供します。テーマのデバッグモードは、Twig in Drupal 8で使用されるものに基づいており、「theme_debug」変数をTRUE(API追加)に設定することでアクセスできます) 。

したがって、settings.phpで次のように設定します。

$conf['theme_debug'] = TRUE;

次に、ページのソースを表示すると、現在のノードの関数とテンプレートの提案をリストしたコメントが<!-- THEME DEBUG -->としてHTMLに表示されます。

/admin/structure/viewsの出力例:

<!-- THEME DEBUG -->
<!-- CALL: theme('html') -->
<!-- FILE NAME SUGGESTIONS:
   * html--admin--structure--views.tpl.php
   * html--admin--structure.tpl.php
   * html--admin.tpl.php
   x html.tpl.php
-->
... lots of HTML ...
<!-- THEME DEBUG -->
<!-- CALL: theme('region') -->
<!-- FILE NAME SUGGESTIONS:
  * region--page-top.tpl.php
  x region.tpl.php
-->
<!-- THEME DEBUG -->
<!-- CALL: theme('toolbar') -->
<!-- BEGIN OUTPUT from 'modules/toolbar/toolbar.tpl.php' -->

これはDrupal 8 Twigに組み込まれたヘルパー機能Drupal 8のバックポートです(devel_themeにDrupal 8リリース)。

28
tenken