4

CMS ブロックまたはページ以外で Magento ウィジェットのレンダリング機能に接続する簡単な方法はありますか?

カスタム オプションにツールチップを表示するためのツールチップ拡張機能があります。多くの製品がすべて同じオプションを持ち、すべて同じツールチップ テキストを必要とします。私たちが使用しているツールチップ拡張機能は、製品で使用できるスニペットを宣言する手段を提供しますが、スニペットは、単一のスニペット インスタンスを参照するのではなく、セットアップ時に個々の製品に追加されます。したがって、ツールチップのコンテンツをすべての製品で変更する必要がある場合は、スニペットを編集してから、変更したスニペットをすべての製品に再適用する必要があります。

製品のセットアップ時にスニペットを使用するだけでなく、スニペットを直接参照できるようにすることが望ましいですが、それは機能しません。そのため、代わりに、ツールチップの説明に静的ブロックを含め、CMS ページで機能するテーマの既に提供されているウィジェット機能を使用して単一の説明インスタンスを参照することもできます。 /static_block/default.phtml" block_id="xx"}}。xx は、このツールチップ用に作成されたブロックです。

これには、コンテンツ HTML を解析し、それに含まれるウィジェット ディレクティブを処理する Magento 内のツールチップ HTML 記述が必要です。

$tipstext はウィジェット ディレクティブを含むツールチップ HTML ですが、うまくいきません。こんなに簡単だとは思わなかった!

Mage_Cms_Model_Template_Filter::filter($tipstext);

これが簡単に達成できるかどうか、またはどのように達成できるか、誰にも考えがありますか?

4

2 に答える 2

0

これはうまくいくはずです

<?php
$filter = new Mage_Widget_Model_Template_Filter();
$_widget = $filter->filter('{{widget type="cms/widget_page_link" template="cms/widget/link/link_block.phtml" page_id="2"}}');
echo $_widget;
?>
于 2014-11-17T07:25:48.353 に答える