多くの要件があるため、クラスStoresController.php
のオーバーライドを行う必要があります。
あなたのモジュールフォルダは次のようになります
:あなたはinitContent()
を上書きする必要がありますStoresController.php
で
/mymodule
/mymodule.php
/config.xml
/override
/controllers
/front
StoresController.php
/views
/templates
/front
stores.tpl
:
<?php
class StoresController extends StoresControllerCore
{
/**
* Assign template vars related to page content
* @see FrontController::initContent()
*/
public function initContent()
{
parent::initContent();
// here add any smarty variables you want
$this->setTemplate(_PS_MODULE_DIR_.'mymodule/views/templates/front/stores.tpl');
}
}
あなたはこのコントローラで、カスタマイズしたいと今、あなたはできるだけ多くの変数を追加することができます自分のモジュール内のテンプレート
モジュールでオーバーライドを作成すると、インストール時に1回のみ解析されます。あなたのモジュールが既にインストールされている場合は、それをアンインストールしてもう一度インストールする必要があります。次に、上書きファイルがルート/override
フォルダーにコピーされます。
モジュールオーバーライドで行った変更は、ルートオーバーライドフォルダには反映されません。したがって、変更するたびにモジュールをアンインストールしてインストールする必要があります。
ルートの上書きフォルダですべての変更を直接行うことをお勧めします。完了したら、このファイルをモジュールフォルダにコピーして戻してください。また、モジュールをアンインストールして再度インストールしてこのファイルを宣言したくない場合は、ルートオーバーライドフォルダに直接置き換えてファイル/cache/class_index.php
を削除して、Prestashopがオーバーライドが追加されたことを知ることができます。
あなたはあなたが
`"/modules/mymodule/override/controllers/front/StoresController.php" and in this fine add class "class StoresControllerCore extends FrontController {
public function initContent()
{
parent::initContent();
//here do whatever you like
}
}"
のようにフロントコントローラをオーバーライドすることによって開始することができます任意の質問:)
申し訳ありませんが、私のprestashopバージョンは1.6.1.5です。 –
どのような機能を追加しますか? –
詳細を追加する場合は、データを変更する場合とはプロセスが異なります。 –