Drupal 8のdsm()関数を開発するpage.html.twig


8

Develモジュールのdsm()関数は、page.html.twigで使用できますか?それが利用できない場合、それを利用可能にする方法はありますか?

.themeファイルではdsm()を使用できますが、page.html.twigでは使用できません。

.twigのdump()関数を知っています。dump()はphpのvar_dump()に似ており、出力はDevelモジュールのdsm()関数ほどきれいではありません。

page.html.twigでdsm()またはdpr()を使用すると、エラーが発生し、サイトが読み込まれません。


私は個人的にあなたの質問への答えを知っているが、ここでは見ていない:drupal.org/node/1805526
Sifro

@Sifro​​私はdump()関数を知っていますが、あまりクリーンではありません。
15dk51 2013

ええ、知っていますが、コメント#4には、「D8の開発モジュールがダウンロードされて有効になっている場合は、kpr、dpr、dsmなどを使用することもできます。psynapticが処理してくれます」検証していません
Sifro

回答:


6

hook_preprocess_page()代わりにそれを実行しないでください。

<?php
function MYMODULE_preprocess_page(&$variables) {
  dpm($variables);
}

あなたの提案に従って、page.html.twigにdpm()とdsm()がない場合、関数hook_preprocess_page(&$ variables){dsm($ variables);}内のテーマの.themeファイルでそれを使用しました
15dk51

このアプローチの唯一の問題は、ビューテンプレートまたはブロックテンプレートをデバッグする場合です。それぞれのフックを使用できると思います。しかし、私はそれを行うより良い方法は@Cottserのアプローチを使用することだと思います。
ホルヘカルデロン

6

Devel 8.x のKintサブモジュールは、TwigテンプレートにKintデバッグ機能を提供します。

{{ kint() }}
{{ kint(variable_one, variable_two) }}

楽しい!スクリーンショットともう少し詳しい情報:https : //drupal.org/node/2218949

そして、8.xのcontribスペースが大量のデバッグオプションで終わることを願っています。たとえば、Ladybugが実装されるのを楽しみにしています!


あなたが私に尋ねても構わないとしたら、てんとう虫はどのように良いのですか、なぜそれがキントよりもあなたの選択になるのですか?
Raveren 2014

Kintは素晴らしく、Devel Drupal 8モジュールのKint / Twig統合に時間を費やすことができて嬉しかった:)てんとう虫の方が優れていると言ったことはありません。
Cottser 2014

やあ、親切な言葉に感謝し、Kintのひどい統合手段に
我慢した

1

デバッグにはtwigメソッドを使用します。まず、sites / default / services.ymlに移動します

そしてdebug:trueを設定します

その後、デバッグにtwigメソッドを使用できます。

{{ダンプ(属性)}}

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.