私catalog/controller/mycontroller.phpの には、次のようなスクリプトがあります。
$this->data['settings'] = $this->config->get('my_module'); // retrieves data from "setting" table
foreach ($this->data['settings'] as $data) {
if ($data['pageurl'] == 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']) {
$this->render();
}
}
ではExtensions > Modules、さまざまなページ URL をさまざまな URL に設定できる拡張機能をインストールしました。次LayoutsのPositionsようにします。
Page URL Layout Position
================================================
http://...?product_id=10 Product Content Top
http://...?product_id=20 Product Content Top
http://... Home Content Top
私の問題は、上記のスクリプトの条件を満たす特定のページで一度だけテンプレートをレンダリングしたいということです。現在起こっていることは、とに$this->render()基づいてテンプレートを複数回表示することです。たとえば、ページにアクセスすると、テンプレートが 2 回表示されますが、コントローラーでの条件のみを満たしているため、テンプレートは 1 回だけ表示されるはずです。これどうやってするの?PositionLayoutExtensions > Moduleshttp://...?product_id=10product_id=10