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

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

2
カスタムモジュールからテンプレートファイルに変数を渡すにはどうすればよいですか?
カスタムモジュールからテンプレートファイルに変数を渡す最も簡単な方法を知る必要があります。custom.moduleを作成し、custom.tpl.phpをモジュールフォルダーに配置しました。 function custom_menu(){ $items = array(); $items['custom'] = array( 'title' => t('custom!'), 'page callback' => 'custom_page', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, ); return $items; } function custom_page() { $setVar = 'this is custom module'; return theme('custom', $setVar); } 私はテーマ機能を追加しましたが、機能していません、誰でもこのコードの何が問題になっているのかを示唆できますか function theme_custom($arg) { return $arg['output']; } function custom_theme() …
8 theming 

3
theme_item_listアイテムのレンダリング
私のモジュールは、いくつかの画像を含む順不同リストを含める必要がある単純なブロックを提供します。ブロック関数から、レンダリング可能な配列を返します: $block['content'] = array( 'list' => array( '#theme' => 'item_list', '#type' => 'ul', '#attributes' => array('class' => 'foo1'), '#items' => array( /* ... what should go here? */ ), ), ); いくつかのレンダリング可能な配列を項目リストの項目として使用したいのですが、#items配列を配列に挿入できません。 Drupalの7 theme_item_list APIのドキュメントは言います: items:リストに表示される項目の配列。アイテムが文字列の場合は、そのまま使用されます。項目が配列の場合、配列の「データ」要素がリスト項目のコンテンツとして使用されます。アイテムが「子」要素を持つ配列の場合、それらの子はネストされたリストに表示されます。他のすべての要素は、リスト項目要素の属性として扱われます。 「data」要素と「children」要素の両方を使用してみましたが、空<li>のが表示されるか、Arrayその中に単語が含まれています。 これを行う適切な方法は何ですか?theme_item_listは正しい/最新のソリューションですか?
8 7  forms  theming 

2
template.phpを使用してCSS行をビュー行に動的に追加する
ビューの各行にcssクラスを追加する方法を理解しようとしているGoogleの底に実際に達しました。トリックは、ビューが取得するノードからのデータの一部に基づいて動的に決定される各行のクラスが必要なことです。これをノードに対してきちんと引き離す機能は- function pgc_preprocess(&$variables) { $node = $variables['node']; if ($node->type == "event") { $variables['event_class'] = ''; $num_trainers = $node->field_number_of_trainers[0]['value']; $count = count($node->field_trainer); if($count < $num_trainers) { $variables['event_class'] = 'red'; } else { $variables['event_class'] = 'green'; } return $variables; } } これのポイントは、十分な人がサインアップしていないイベントを色分けすることです。フロントページにイベントのリストがあり、それらも色分けする必要があります。私は次のような簡単な解決策があることを本当に望んでいます- function pgc_preprocess_views_view_unformatted(&$variables) { // Magic here, preferably having something to …
8 views  theming 

3
カスタムテーマ関数が呼び出されていませんか?
Drupal 7モジュールをビルドして、オーダーメイドのフィールドタイプを作成しています。必要なフックをすべて実装しました。私のhook_field_formatter_view()機能は次のようになります: function MYMODULE_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) { $element = array(); switch ($display['type']) { case 'default': foreach ($items as $delta => $item) { $element[$delta] = array( '#theme' => 'test', '#item' => $item, ); } break; } return $element; } 次に、theme()以下の関数を定義しました。 function theme_test($variables) { return '<h1>Hello World</h1>'; } …
8 7  theming  hooks  entities 


3
フロントページのみにCSSファイルを追加するにはどうすればよいですか?
CSSファイルをフロントページに追加しようとしています。Drupal 8テーマへのスタイルシート(CSS)とJavaScript(JS)の追加を見てきました。フロントページのHOOKマシン名を知っているだけです。 function THEMENAME_preprocess_HOOK(&$variables) { $variables['#attached']['library'][] = 'CSSPATH'; } Drupalがフロントページでのみ呼び出すようにするには、プリプロセス関数にどの名前を使用すればよいですか?
8 8  theming 

1
表示モードのフィールドテンプレート
私のフィールドのテンプレートがあります:field--field-category.html.twig。特定の表示モードでこれを上書きする方法はありますか?と呼ばれるモードがありますteaser block。field--teaser-block--field-category.html.twig他にもいくつかのフォーマットを試しました。 フィールドの出力方法を変更できることはわかっnode--teaser-block.html.twigていますが、フィールドテンプレートレベルで変更したいのですが。
8 theming  8 

6
Drupal Commerce 2.xのcommerceguysライブラリをインストールする方法
Drupal 8.0.0-rc4にDrupal Commerce 8.x-2.x-devをインストールしているときに、次の発表に迎えられます。 Commerce Price requires the commerceguys/intl library. Commerce Tax requires the commerceguys/tax library. Address requires the commerceguys/addressing library. しかし、それを行う方法は?多分それは私が見落としているほど明白です。

1
Drupal 8でのテンプレート候補の操作
URLに特定の_GETパラメータが含まれている場合、カスタムページテンプレートを使用するにはDrupalが必要です。 ではD7 Iテーマのtemplate.phpにこのような何かをするだろう。 function mytheme_preprocess_page(&$variables) { if($_GET['isCustomTpl'] == true) $variables['theme_hook_suggestions'][] = 'page__myCustomTpl'; } ただし、D8では機能しません(テーマレイヤーのすべてのアーキテクチャの変更を考えると、その反対に驚いたでしょう)。 何か案は? おまけの質問:そのような関数をモジュールで定義して、ユーザーにテーマを編集させることなく公開できるようにすることは可能ですか?
8 8  theming  hooks 

4
なぜ$ node-> field_name [0]と$ node-> field_name ['und'] [0]になるのですか?
タイトルのコードでごめんなさい、私はそれを尋ねる明確な方法を考えることができませんでした。 locationコンテンツタイプのいくつかのノードと、それらのノードのティーザーを出力するビューがあります。node--location.tpl.phpティーザーが表示されているすべての場所に影響を与えるために、いくつかのカスタム設定を行いたいです。dpm($node)変数を取得するのが簡単な場合、一部のフィールド値が常に同じ場所にあるとは限りません。 たとえば、私にfield_phoneは同じ形式の電話番号しかありません。このビューの最初のノードでは、そのフィールドはのように構成されてい$node->field_phone['und'][0]['safe_value']ます。しかし、2番目のノードの場合は単純$node->field_phone[0]['safe_value']です。 私はそれundが翻訳に関係していることを知っており、おそらく「未定義」を意味します。サイトの翻訳やローカリゼーション、言語については何もしていません。そのため、このノードが他のノードとまったく異なっているわけではありません。 これは何が原因で、簡単にテストして値を取得するのに役立つ関数や何かがありますか、それとも自分でロールする必要がありますか? 編集:以下のクリスロックウェルが指摘していfield_get_items()ます。これで、先日作業していたサイトの問題が解決したようです。しかし今、別のサイトでは、私がここで取り上げた理由のために失敗しています。 3つのノードを出力するビューがあります。私はいくつかの理由から、dpm($node)中node--node-type.tpl.phpのファイル、私が取得6つの変数ダンプを。最初の一つは持っている$node->field_link_image['und'][0]-すべての5人ながら、含むこの同じノードの複製は-ちょうど持っています$node->field_link_image[0]。そして今、field_get_items()これらの最後の5つのノードで静かに失敗し、falseを返します。 だから私は私の元の質問に戻ります:一部のノード変数と他のノード変数の間のこの違いの原因は何ですか、そしてそれに対して何ができますか?

3
カスタムテンプレートでサイト名を取得する
サイト名をカスタムテンプレートで印刷したい(page--front.html.twig) {{ site_name }} 動作しません。 使用する{{ page['#title'] }}と、「[site_name]へようこそ」のみが表示されます。 site_nameのみを印刷する方法を探しています。誰かがこれを達成する方法を知っていますか? ありがとう!
7 8  theming 

4
特定のラジオボタンのdivラッパーを追加/変更しますか?
デフォルトでは、ラジオボタンのHTMLマークアップは(Drupal 7)のようになります。 <div class="form-item form-type-radio form-item-SOME_ID"> <input id="edit-SOME_ID" class="form-radio" type="radio" value="SOME_VALUE" name="SOME_NAME" /> <label class="option" for="edit-bla-bla">MY LABEL</label> </div> 外側の一部のcssクラスを変更または追加するか<div>、ラッパーを追加する必要があります<div>。それ、どうやったら出来るの?
7 7  theming  forms 

5
ビューで日付フィールドにクラスを追加するにはどうすればよいですか?
Drupal 7を使用しています。日付フィールドを使用するビューを作成しました。その特定のビューの日付フィールドに追加のクラスを作成したいと思います。 例えば、 <div class="field-content"> <span class="date">10</span> <span class="month">June</span> <span class="year">2011</span> <span class="time"> 8:00 </span> </div> 今私はコードを持っています: <div class="field-content"> <span class="date-display-single">10 June 2011, 8:00</span> </div> どうすれば段階的にそれを行うことができますか?
7 7  theming  datetime 

8
テンプレートを使用せずにCCKフィールド出力を書き換える
Viewsモジュールには、フィールドの出力を書き換える素晴らしいオプションがあります。これにより、そのビューのテンプレートを作成しなくても、トークンを使用してCCKフィールドの出力を適合させることができます。 コンテンツタイプの[フィールドの表示]タブに同様の機能を許可するモジュールはありますか?ティーザーと本文のフィールド出力を少し変更する必要がありますが、完全なテンプレートを作成したくありません。 私は現在、そのためにContemplateを使用していますが、Drupal PHP APIに慣れていない場合は、必要以上に複雑になり、不必要に難しくなります。また、コンテンツタイプにフィールドを追加するたびにテンプレートを変更する必要があるのも不愉快です。実際には、本文全体やティーザー全体ではなく、いくつかのフィールドのみを書き換える必要があります。 したがって、私が欲しいのは、そのコンテンツタイプで利用可能な任意のトークンを使用して各CCKフィールド出力を書き換える簡単な方法です。そのようなものはありますか?

5
「新しいパスワードのリクエスト」リンクの名前を変更する方法は?
Drupalのログインページにある「Request new password」テキストの名前をカスタムテキストに変更したいと考えています。 user.moduleファイルで、このテキストはハードコーディングされていることがわかります if (variable_get('user_register', 1)) { $items[] = l(t('Create new account'), 'user/register', array('attributes' => array('title' => t('Create a new user account.')))); } $items[] = l(t('Request new password'), 'user/password', array('attributes' => array('title' => t('Request new password via e-mail.')))); $form['links'] = array('#value' => theme('item_list', $items)); Drupalコアを変更するのではなく、このテキストの名前を変更する他の方法はありますか?
7 7  theming  navigation 

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