私は Symfony CMF 1.2 を使用しており、ActionBlock を介してレンダリングされた小枝内で URL がどのようにリダイレクトされるかを制御する必要があります。
サードパーティの呼び出しを処理し、いくつかの処理を行い、小枝ファイルを使用して出力をレンダリングする ProductBundle があります。Symfony CMF で、ActionBlock を介して製品バンドル コントローラーのアクションと呼ばれる ActionBlock を作成し、レンダリングをページに表示しました。ここまでは順調ですね。問題は、レンダリングされた出力に特定のページを指すリンクがあることです。たとえば、レンダリングされた出力は製品のリストであり、各製品には Web サイトの特定のページを指す URL があります。これらのリンクの 1 つをクリックすると、ActionBlock 内ではなく、そのページに直接移動します。たとえば、ヘッダーとフッターのない製品の詳細のみを含むページが表示されます。私が知りたいのは、プラットフォーム/ブロックを構成して、ActionBlock 内にとどまりながら URL に移動する方法です。ActionBlock を iframe と考えると、
主な Symfony CMF ドキュメントと Google の結果を見るのに疲れましたが、これに関する関連情報が見つからないようです。
サンプル アクション ブロック:
$block = new ProductBlock();
$block->setEnabled(true);
$block->setPublishable(true);
$block->setPublishStartDate(new \DateTime());
$block->setParentDocument($parentDocumentBlock);
$block->setActionName('xxProductBundle:Front:index');
$block->setName('product-block');
$this->documentManager->persist($block);
次のようにページに埋め込まれます。
$page->setBody("<p>Block: %embed-block|/cms/xx/block/product-block|end%</p>");
製品ブロック:
class ProductBlock extends ActionBlock
{
public function setIsPublishable($publishable)
{
$this->setPublishable($publishable);
}
}