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

Drupalでは、テーマ領域に表示されるコンテンツと機能の自己完結型のコレクションをブロックと呼びます。

9
ブロックをプログラムで表示するにはどうすればよいですか?
Drupal 8 beta-14を使用してサイトを開発しています。さまざまな用語のビューブロックを作成しましたが、コードを使用して表示したいと思います。プログラムで表示するにはどうすればよいですか?以前はこのコードを使用してDrupal 7で実行していましたが、Drupal 8については混乱しています。 $block = module_invoke('block', 'block_view', '4'); $text_block = render($block['content']);
33 8  blocks 


3
小枝テンプレートでプログラムでブロックをレンダリングする
page.html.twigテンプレートでビューブロックをレンダリングする必要があります。D7ではこれを行います。 <?php $block = module_invoke('module_name', 'block_view', 'block_delta'); print render($block['content']); ?> Drupal 8では、module_invokeは非推奨であり、これを使用することをお勧めします(ブロックの名前を2番目のパラメーターとして追加しました)。 Drupal::moduleHandler()->invoke($block, 'views_block__blog_block_1', $args = array()); いくつか試してみました。最初に小枝テンプレートでそれをやろうとしましたが、小枝テンプレートでphp関数を呼び出す方法がわかりませんので、あまりうまくいきませんでした。 次に、.themeファイルのpreprocess_page()関数で関数を呼び出しましたが、動作させる前に、Twigテンプレート内で変数を動作させるために簡単なものを試してみましたが、どちらも動作しませんでした: .themeファイルのtemplate_preprocess_page(&$ vars)関数で: $test = 'Hello World'; $vars['$my_var'] = $test; Twigテンプレート内でmy_varを呼び出そうとしましたが、機能しませんでした。「サイトにエラーがあります。管理者に連絡してください」というエラーメッセージが表示されました。 要約すると、ここに私の質問があります: Twigテンプレート内で変数を使用可能にするにはどうすればよいですか? Twigテンプレート内で関数を呼び出すにはどうすればよいですか? .themeファイルまたはtwigテンプレート内にブロックをレンダリングしますか?
28 blocks  8 


5
プログラムでブロックを作成する簡単な方法は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 Drupalの学習。バックエンドを介してブロックを作成できることはわかっていますが、可能であれば、プログラムで事前に作成することをお勧めします。実際、私はそれが可能だと確信しています。しかし、最も簡単な方法は何ですか?
26 blocks 

4
カスタムブロックのテーマを設定する方法
hook_block_infoand hook_block_themeなどを使用してブロックを作成しました。しかし、どうすればテーマを設定できますか? キー'subject'とキーで配列を返すように動作しています'content'。しかし、hook_block_view()フック内で直接マークアップを作成しましたが、それは私が望むものではありません。 ドキュメントでは、コンテンツはマークアップとしてではなく、レンダリング可能な配列として返されることが望ましいとされています。しかし、このレンダリング可能な配列は何ですか?彼らはマークアップではなくデータであるべきだと言っていますが、例で見るのはマークアップのラッパーとして使用されているだけで、そこで何も得られません。 block--MYMODULE--DELTA.tpl.phpテーマにを含めることができますが、それをどのように呼び出し、どのようにデータをブロックに渡すことができますか?
26 7  blocks  theming 

8
ブロックコンテンツを開発者から本番サイトに移行するにはどうすればよいですか?
私はついにDrupal 8を真剣に検討し始めました。特に構成管理に興味があります。少し問題があり、カスタムブロックコンテンツに関するものに出くわしました。 構成管理システムはブロック構成をエ​​クスポートできることがわかります-地域、テーマ、重み、可視性など。ただし、実際のブロックの内容は構成エクスポートでは発生しません。これは合理的で理解できます。 そのブロック構成を実稼働サイトにインポートすると、ブロック構成が作成され、保留メッセージが配置され、ブロックが壊れているか欠落していると報告されます。明らかに、ブロックコンテンツは運用サーバーに存在しません。 カスタムブロックを開発/ステージングサーバーから運用サーバーに移行するにはどうすればよいですか?Drupal 8のブロックはノードのようなフィールド化可能なエンティティであり、同じ方法で移行する必要があり、Drupal 8にはMigrate APIがあることを理解していますが、これはDrupal 6および7サイトからコンテンツを移行するために構築されているようですDrupal 8からDrupal 8のサイトではなく、Drupal 8。 この問題は、ビューなどの他のモジュールによって生成されたブロックが設定として明らかに移行するため、カスタムブロックに特に関連しています。
24 blocks  8 

4
ビューはコアキャッシュメカニズムを介してキャッシュされますか、または各ビューでキャッシュを直接設定する必要がありますか?
各ビューにキャッシュ設定があります。これらを設定する必要がありますか、または/ admin / config / development / performanceのコアキャッシングメカニズムがこれの一部を自動的に実行し、ビューのこれらの「余分な設定」はdrupalコアのデフォルトのキャッシング動作をオーバーライドする場合ですか?
23 7  views  blocks  caching 

1
ブロックビューのコンテキストフィルター
分類用語であるトピック(「ニュース/デザイン」、「ニュース/コーディング」...)のコンテキストフィルターを備えたページビュー(「/ニュース」)があり、これは正常に機能しました。モバイルテーマの変更により、ページビューの代わりにブロックビューが必要になりますが、フィルターで動作させることができません。 古いフィルター設定では、すべての記事を「/ news」で取得しますが、使用しているフィルターはデフォルト値をフィルターから「taxonomy term ID from url」に変更しました。「/ news」の空のページ(これはブロックビューを含む単純なページです)および「/ news / design」などの「site not found」などが表示されます。ビューのプレビューでは、すべてが正常に機能します。 。 これらはビューの設定です。
19 blocks  views 

9
ビューブロックのテンプレートファイルを作成する
カスタムブロックのテーマについてはたくさんありますが、ビューによって作成されたブロックについてはどうでしょうか? 私のビューブロックにはid:block-views-posts-listing-block、 たとえば、block--block--views-posts-listing-block.tpl.phpなど、テンプレートファイルに名前を付けるためにさまざまな方法を試してみましたが、正しいファイル名が見つかりません。
19 7  views  theming  8  blocks 

7
現在のノードに応じてコンテンツを表示するカスタムブロックのキャッシュを正しく設定するにはどうすればよいですか?
現在のノードのIDを表示するだけのこの非常に基本的なブロックがあります。 <?php /** * @file * Contains \Drupal\mymodule\Plugin\Block\ExampleEmptyBlock. */ namespace Drupal\mymodule\Plugin\Block; use Drupal\Core\Block\BlockBase; use Drupal\Core\Cache\Cache; /** * @Block( * id = "example_empty", * admin_label = @Translation("Example: empty block") * ) */ class ExampleEmptyBlock extends BlockBase { /** * {@inheritdoc} */ public function build() { $node = \Drupal::routeMatch()->getParameter('node'); $build = array(); …
19 8  blocks  caching 

3
Bean、Box、Fieldable Panelsペインの選択方法
Bean、Box、Fieldable Panelsペインはすべて同様の機能を提供します。それらの違いを正確に理解するのは困難です。 互いに比較した場合の利点/欠点は何ですか?それらは異なるユースケースに向けられていますか? Panelで何らかの種類のブロックを使用してカスタムコンテンツを追加したい-コンテンツエディターもコンテンツを追加できる必要があるため、必要なブロックは純粋な構成ではありません。しかし、私も機能を使用しています... 編集:主な違いと思われるものを追加します 箱 最大のユーザーベース(〜11500) ブロックを構成として扱います(つまり、コンテンツは機能に含まれます) 統合を提供するモジュール 豆 最近人気があり、〜1000インストール ブロックをコンテンツとして扱いますが、マシン名を介して(Beanパネルなどを介して)設定のエクスポートを許可します 統合を提供するモジュール Fieldable Panelsペイン 最小のユーザーベース(〜400) Panels / Views / etcの著者から。 ペインは、Beanやボックスなどのテーマ領域で通常のブロックとして使用できません(私は仮定します) ここで言及したBeanに対する利点は何だろうか(「コンテンツ管理者が特定のページをレイアウトするのを容易にする追加機能を提供する」)

3
フロントページのメインコンテンツブロックを削除する
私はDrupal 7を初めて使用main content blockし、フロントページのデフォルトを、Viewsから生成された同等のブロックに置き換えたいと考えています(そうすることで、ブロックをさらに制御できるようになります)。 ビューで新しいフロントページブロックを正常に生成し、コンテンツセクションに追加しましたが、ホームページには元のビューブロックと新しいビューブロックの両方が表示されます。 main content block表示しないように設定してを削除しようとしても機能し<front>ません。現在のところ、次のCSSのみが回避策として見つかりました。 .front #block-system-main { display:none; } 私は、ハックのようなソリューションを好まないでしょう。誰でも提案できますか?
17 7  views  blocks 

4
レスポンシブテーマのブロックの管理
Omegaをベースにしたレスポンシブテーマを始めたばかりで、最初はモバイルレイアウトに集中しています。 モバイルレイアウトに含めるには「重すぎる」と思われる特定のブロックや、そのレイアウトに特化して導入する必要がある他のブロックがあります(縮小メニュー、縮小ユーザーバーなど)。 CSSを使用してモバイルレイアウト上の不要なブロックを簡単に非表示にし、デフォルトのレイアウトにモバイル固有のブロックを含めて非表示にすることができます(したがって、モバイルにのみ表示されます)が、それはかなり逆の考え方のようですそれ。ブロックが表示されない場合、それらが発生する余分なオーバーヘッドは実際には許容できません(特に、非表示のブロックのコンテンツが追加する余分なdbクエリの数を考慮して)。 私は、ページ構築の早い段階でブロックの意思決定プロセスをインターセプトし、いくつかのOS検出に基づいてブロックを除外/含める素敵なきれいな方法がなければならないと考えていますが、それがどのようになる可能性があるかについて空白を描いています可能。 また、ワニスがこのサイトの前で実行されているという事実を投入するつもりです。 これに役立つモジュール/既知の戦略はありますか? Contextモジュールを使用することはオプションではなく、サイトは既に本格的であり、この時点でContextモジュールをContextに移動することは大仕事です。
15 blocks  theming 

3
Drupal 7でブロックに「ようこそ{ユーザー名}」を追加する方法
drupal 6のWebサイトを、同じコンテンツを持つdrupal 7のWebサイトに置き換えています。Drupal 6のWebサイトには、ログイン時に表示されるブロックがあります。見出しとして、そのブロックに「Welcome {username}」というメッセージが表示されます。 Drupal 7でそれを行う方法を探していますが、モジュール 'Token'でこれを実行しようとしましたが、動作しません。これを行う最良の方法は何ですか?
15 blocks 

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