タグ付けされた質問 「theming」

モジュール/テーマによって生成されたHTMLマークアップのレンダリングまたは変更に関する質問に使用します。

2
Webフォームの結果データをGoogleチャートに表示する
Webフォームの結果をGoogleグラフとして表示しようとしています。私は、テーマのtemplate.phpファイルでtheme_webform_results_analysis()をオーバーライドし、Chartモジュールを使用して、テーマレイヤーでこれを行っています。Drupal 6.22、Webform 6.x-3.11。 通常、webform分析ページはデータをテーブルに表示するので、そのテーブルの配列をハックして、Chart APIにデータを渡します。 編集:私はvar_dumpの使用方法を理解し、$ row_dataと$ questionsの配列を別々に取得する方が良い方法だとわかりました(この質問の最初のバージョンにあった$ rows配列を使用する代わりに、両方の配列のマッシュアップ)。 編集#2:元の$ questionsおよび$ row_data配列の各部分を取得する方法を発見したと思います(以下を参照-他のforeachのforeach)。だから今私はそれらのピースを適切な配列に入れ(質問ごとに1つ)、それらすべてを反復する方法を見つける必要があります。 これがtemplate.phpにあるものです: /** * Output the content of the Analysis page. * @see webform_results_analysis() */ function mytheme_webform_results_analysis($node, $data, $sids = array(), $analysis_component = NULL) { foreach ($data as $cid => $row_data) { if (is_array($row_data)) { // get the questions, …
11 theming  6  webforms  charts 


4
特定のカスタムコンテンツタイプエントリの候補ページテンプレートファイル名
Drupal 7のWebサイトで作業しています。作品のカスタムコンテンツタイプを作成しました。多くのフィールドがあり、それらのいくつかは、各エントリの特定のページbgのようなページレイアウトに関連しています。そのため、この特定のコンテンツタイプのカスタムpage.tplが必要です。 そこで、テーマ開発者モジュールをアクティブにして開き、ボディ領域をクリックして、この特定のコンテンツタイプのページエントリの候補名を取得しました。下の画面が表示されますが、何の意味もありません:/ノード領域をクリックすると、問題ありません。node--work.tpl.php が表示されますが、ページが必要です。「page--work.tpl.php」を試しましたが、うまくいきませんでした。 私は何が欠けていますか?
11 7  theming 

3
変数をカスタムブロックテンプレートファイルに渡す
Drupal 8でカスタムコンテンツを使用してカスタムブロックを作成したいのですが、最初に単純なテキストだけでブロックを作成し、正しく動作します。私の問題は、カスタム変数をそれに渡す方法ですか?私はそれについてのいくつかのチュートリアルを見ました、私のモジュール名はでtcdevあり、これは.moduleファイルの内容です。 function tcdev_theme($existing, $type, $theme, $path) { return array('tcdev' => array( 'variables' => array( 'title' => 'Default title', 'description' => null ), 'template' => 'block--sliderblock' ) ); } と私 SliderBlock.php namespace Drupal\tcdev\Plugin\Block; use Drupal\Core\block\BlockBase; /** * Provides a 'SliderBlock' block. * * @Block( * id = "slider_block", * admin_label …
11 theming  8  blocks 

9
リージョンが空かどうかを適切に検出するにはどうすればよいですか?[閉まっている]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 7か月前に閉鎖。 空ではないため、ページテンプレートの領域を印刷する条件がありますが、何があっても常に空の領域が印刷されます。空の領域を検出する適切な方法は何ですか? たとえば、を{% if page.local_tasks is not empty %}{{ page.local_tasks }}{% endif %}出力し<div class="region region-local-tasks"></div>ます。 私は領域をレンダリングする場合themename_preprocess_page()とvar_dump(drupal_render($variables['page']['highlighted']));、私は、プレースホルダトークンでSafeStringを取得します。 <div class="region region-highlighted"><drupal-render-placeholder callback="Drupal\Core\Render\Element\StatusMessages::renderMessages" arguments="0" token="a8c34b5e"></drupal-render-placeholder></div> したがって、技術的にはリージョンは空ではありませんが、それについては何もできません。
11 8  theming 

1
['data']を含むDrupalテーブルセルにクラスを追加します
Drupal 8では、テーブルのレンダリングは依然としてDrupal 7によく似ています。PHPで行と列の多次元配列を構築し、Drupalがそれぞれa <tr>と<td>sに変換するようにします。この混乱するDrupalismはまだあります。これ'data'により、レンダー配列要素をセルデータとして追加できます(データ属性と混同しないでください)。 開発者が「データ」を使用してセルのコンテンツをレンダリングすることを選択したサイトを与えられましたが<td>、データの周囲にクラスを追加する方法がわかりません。 Table.phpのソースコードとドキュメントを読みましたが、新しいことは知っていますが、#wrapper_attributes これを解読することはできません。 私はクラスを追加するために少なくとも4つの方法を試しましたが、どれも機能しません。 $table['row-' . $row_id] = [ // Option 1: Class appears on <tr> tag '#attributes' => [ 'class' => ['option-1-row-attributes'], 'id' => 'row-' . $row_id, 'no_striping' => TRUE, ], // Option 2: Class appears on <td> tag of first column. 'item' => [ …
11 theming  8 

2
特定のブロックに対してのみ変数を前処理する
特定のブロックに対してのみ変数を前処理することは可能ですか?私はそのような関数を作成しました:mytheme_preprocess_block__aggregator(&$vars)しかしそれは機能しません。 -編集- Drupal 8で修正されているようです https://drupal.org/node/1751194
11 7  theming  8 

3
ページのタイトル/ヘッダーを削除するにはどうすればよいですか?
Drupal 8では、ページヘッダー/タイトルがページに表示されないようにページを構成する簡単な方法はありますか? / homeをパスエイリアス、Homeをタイトルとして、基本ページを作成しました。フロントページに設定しました。ただし、ページの上部、ナビゲーションバーとブレッドクラムのすぐ下に「ホーム」と表示されます。 「ブートストラップ」テーマのサブテーマを作成し、どういうわけかカスタムCSSを追加する必要がありますか?
10 8  theming 

4
テンプレートファイルからリンクのテーマを設定するにはどうすればよいですか?
小枝テンプレートは、クラスに付属するリンクのリストをレンダリングしています。基本: {{ mylink }} 小枝コードは次のようなものを出力します <a href="#" class="someclass" >the text</a> すべてのリンクにクラスがあるわけではありません。代わりに次のようなものを出力するtwigテンプレートを作成したいと思います。 <a href="#" class="someclass" > <span class="sprite someclass" ></span> the text</a> 私が試したもの: オーバーライドする小枝テンプレートを探しました。残念ながら、リンクはtwigテンプレートによってレンダリングされないようです。 私はtwig変数を次のように更新してみました set mylink['#title'] = "<span>...</span>" ~ mylink['#title'] しかし、それは私にそれをさせません。
10 theming  8 


4
本文(field_body)をトリミングする方法は?
レンダリングされたエンティティとしてコンテンツを表示するノードのビューを作成しました。特に、twigテンプレートでbodyフィールドを出力します。 {{ content.field_body }} ここで、テキストを200文字に制限し、ドットを3つ配置します。これを行う3つの方法をテストしましたが、何も機能しませんでした。問題は、それぞれの方法がHTML文字を数え、トリミングすることです。 1:「表示の管理」に「トリミング」の形式を追加しました=>テキストは制限されていますが、正しくありません。そして、私は3つのドットを持っていません。 2:twigテンプレートのテキストをトリミングしました。しかし、テキストを数えるには、最初にそれをレンダリングする必要があります。これにより、twigはテキストをHTMLとして出力します(ページにHTMLタグが表示されます!) {% set text = content.field_body|render %} {{ text|length > 200 ? text|slice(0, 200) ~ '...' : text }} 3:template_preprocess_node()の問題を解決しようとしました。ここでも、HTMLマークアップのカウントに関して同じ問題があります。 $body_text = $node->get('field_body')->getValue()[0]['value']; $trimmed_text = substr($body_text, 0, 200) . '...'; テキストを正しくトリミングするにはどうすればよいですか? ご助力ありがとうございます!
10 theming  8 

2
エンティティの前処理関数を定義する方法
私のカスタムモジュールは、EntityAPIControllerクラスを拡張するカスタムエンティティを定義します。私はそれを基本的に機能させることができました。つまり、カスタムtpl.phpファイルを介してフィールドなどを表示しました。しかし、私はカスタム変数をtpl.phpファイルに追加するためのmymodule_preprocess_entity関数を作成したいと思います(ここで提案されています)。しかし、そのような関数は実行されていません(呼び出されていません)。 また、このエンティティを表示するとtemplate_preprocess_entity(&$variables)、entity.module の関数も実行されていないことに気付きました。 呼び出されるカスタムエンティティの前処理関数を作成するには、他に何を定義する必要がありますか?
10 7  theming  entities 


7
template_preprocess_page()を使用してノードタイプに基づいてページタイトルを非表示にする方法
page.tpl.php現在のページが1)(ティーザーモードではなく)フルディスプレイのノードであり、かつ2)ノードタイプがコンサートまたはバイオである場合、現在のページのタイトルを(によって印刷されるように)非表示にしようとしています。これらのコンテンツタイプのノードタイトルをノードコンテンツに直接出力するので、page.tpl.phpによって出力されている重複を非表示にしたいと思います。これをpage.tpl.phpで直接動作させることはできません。私の読書では、プリプロセスおよびプロセス関数を使用して、template.phpでテンプレートロジックを処理することをお勧めします。したがって、私は(上記の2つの条件で)現在のページタイトルを非表示にしようとしていますtemplate_preprocess_page()。これは私のコードです。 <?php function MYTHEME_preprocess_page(&$variables) { if (!empty($variables['node']) && $variables['node']->type == 'concert') { hide($variables['title']); } } ?> ノードタイプをテストしてtemplate.phpから変数を出力するにはどうすればよいですか?template_preprocess_page()、およびその他のさまざまなサイトのドキュメントページですが、これを機能させることができないようです。私はあなたが呼び出すために持っていることを示唆見たisset()上で$variables['node']ノードタイプを調べる前に、それはどちらか動作しませんでした。明確な解決策がどこにも投稿されていなかったので、私はもうすぐ終わりです。
10 nodes  theming  7 

2
html前処理関数からページ前処理関数に変数を渡しますか?
カスタムテーマhook_preprocess_page()とhook_preprocess_html()関数では、同じ情報を特定する必要があることがよくあります。基本的に同じifステートメントが両方のIDで同じ情報を確認して実行するのではなく、両方で一度だけ実行してから、その情報を他の前処理関数に渡す方がはるかに理にかなっています。これどうやってするの?私は以下を試しましたが、うまくいきませんでした: function myTheme_preprocess_page(&$vars){ $vars['myValue'] = 7; } function myTheme_preprocess_html(&$vars){ //$vars['myValue'] should equal 7... } 私は他の方法でも試しました(preprocess html関数で値を設定してから、ページのpreprocess関数で取得しました)が、どちらも機能しませんでした。これは関連する質問を持ち出します。これらの前処理関数はどのような順序で処理されますか?ページの前処理機能がHTMLの前にあるように思えますが、それは正しいですか?
10 7  theming 

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