Prestashop 1.5 で、既存の prestashop モジュールをデフォルトのモバイル テンプレートにフックしたいと考えています。管理プラットフォームを使用して実行できますか?それとも、classes/controllers/FrontController.php ファイルをいじる必要がありますか?
乾杯
Prestashop 1.5 で、既存の prestashop モジュールをデフォルトのモバイル テンプレートにフックしたいと考えています。管理プラットフォームを使用して実行できますか?それとも、classes/controllers/FrontController.php ファイルをいじる必要がありますか?
乾杯
私にとっては、FrontController クラスをオーバーライドし、smarty で独自のフック (例では display_left_column フック) を割り当てることでこれを解決しました。
<?php
class FrontController extends FrontControllerCore {
public function initContent() {
parent::initContent();
if ($this->context->getMobileDevice() != false) {
$this->context->smarty->assign(array(
'HOOK_LEFT_COLUMN' => ($this->display_column_left ? Hook::exec('displayLeftColumn') : ''),
));
}
}
次に、このフックの内容をモバイルの index.tpl にエコーします。
<div data-role="content" id="content">
{$HOOK_LEFT_COLUMN}
{hook h="DisplayMobileIndex"}
{include file='./sitemap.tpl'}
</div><!-- /content -->
サイトマップとヘッダー テンプレートを編集して、必要なモジュールのテンプレートを直接含めることになりました。いわば、実際には「きれい」ではありませんが、機能します。