web-dev-qa-db-ja.com

別のブロック内のビューブロックの読み込み

私はこれにかなり慣れていますが、自分が欲しい機能につまずきました。 Drupal 7.を使用しています。

フロントページにいくつかのブロックを作成しました。それらのブロックの1つに、ブロック内に入るdivとテキストがあります。それは問題なく動作し、見栄えがします。

問題は、ランダムに生成された声をこのブロック内に配置したいのですが、その方法がわかりません。

これで、自分の声をランダムにリストする別のビューブロックを既に作成しましたが、必要なのは正しいphpコードだけです。注:PHPフィルターモジュールも有効にしていますが、機能していないようです。

ランダムな証言ビューをブロックに簡単に割り当てることができますが、証言といくつかのHTMLを組み合わせたいので、phpについて十分に知りません。

例:

ここにいくつかのランダムなテキスト...

ここにいくつかのランダムなテキスト...

PHPのように配置することは良い習慣ではないことも聞いたことがあります。これを行うためのより良い方法を誰かが持っているなら、私はそれを感謝します。前述したように、このビューを空のブロックは正常に機能します。いくつかのhtmlと一緒になりたいだけです。

ありがとう!

-ダン

4
Dan

あなたはあなたのブロックのスニペットに従ってそれを達成することができます、

  Some random text here...
  echo views_embed_view('view-name', $display_id = 'display-name');
  Some random text here...

例えば:

 <?php echo views_embed_view('test', $display_id = 'block'); ?> //dont forgot to enable text format as PHP.
2
Anoop Joseph

ブロックを挿入 (それはdivバージョンですが、完全に機能します)モジュールを使用して、ブロックを別のブロックに挿入できます。
Readmeファイルを参照してください

0
abd

これに遭遇した人のための遅い答え。

cfrblock モジュールは renderkit に基づいており、任意の方法でブロックと要素を組み合わせることができ、条件付きロジックもサポートしています。

モジュールページの指示に従ってください:

  • Cfrblock、renderkit、cfrpresetをインストールします。これには、いくつかのcomposerパッケージが含まれます。レンダーキットモジュールのページに手順が記載されています。
  • Admin/structure/cfrpresetに移動し、「BlockInterface」のプリセットを追加します。
  • 必要に応じてブロックを構成します。
  • Admin/structure/blockに移動します。作成したばかりのプリセットがブロックとして表示されます。

ブロックを構成するときの可能性:

  • 要素のシーケンス(ブロックまたはその他のもの)。
  • ビューが表示されます。
  • 公開されたフォームを表示します。
  • 既存のブロック。
  • 特別なコンテナに包まれた要素。
  • 上記の組み合わせと、無限のネスト。

あなたが狡猾で創造的であるなら、あなたはあなた自身の要素を作成して、そしてそれらをブロックに再結合することができます。

私は、現在レンダーキットで見つけたものよりも多くのカスタムプラグインを持っているWebサイトでこれを使用しています。それらのいくつかをcontribモジュールに追加する必要があります。

0
donquixote