あなたがコア・ファイルを変更することはありませんPrestaShopのウェブサイトを開発します。つまり、新しいモジュールは/modules/
フォルダにのみ作成できますが、既存のモジュールは変更できません。変更したモジュールを更新すると、すべての変更が失われるためです。
Prestashopはモジュールテンプレートファイルをロードする必要があるたびに、このテンプレートの上書きが存在する場合は、まず現在のテーマ/themes/your_theme/modules/the_module/path_to_tpl.tpl
を探します。そうでなければ、/modules
ディレクトリからテンプレートをロードします。
この推奨は.css
と.js
ファイルに対しても有効です。
documentation you mentioned in the comment belowは間違っており、更新する必要があります。モジュール内にthemes
フォルダを置くことはできません。あなたは、このコードで見ることができるようにテンプレートをロードするとき、PrestaShopのは、あなたのモジュール内themes
フォルダに見えることはありません
/*
** Template management (display, overload, cache)
*/
protected static function _isTemplateOverloadedStatic($module_name, $template)
{
if (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$module_name.'/'.$template)) {
return _PS_THEME_DIR_.'modules/'.$module_name.'/'.$template;
} elseif (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$module_name.'/views/templates/hook/'.$template)) {
return _PS_THEME_DIR_.'modules/'.$module_name.'/views/templates/hook/'.$template;
} elseif (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$module_name.'/views/templates/front/'.$template)) {
return _PS_THEME_DIR_.'modules/'.$module_name.'/views/templates/front/'.$template;
} elseif (Tools::file_exists_cache(_PS_MODULE_DIR_.$module_name.'/views/templates/hook/'.$template)) {
return false;
} elseif (Tools::file_exists_cache(_PS_MODULE_DIR_.$module_name.'/views/templates/front/'.$template)) {
return false;
} elseif (Tools::file_exists_cache(_PS_MODULE_DIR_.$module_name.'/'.$template)) {
return false;
}
return null;
}
:ここ
たちは、モジュールテンプレートを必要と毎回呼ばModule
クラスから_isTemplateOverloadedStatic()
方法であり、 。
私はこの動作を断言していますが、モジュールのルートフォルダにあるサブフォルダについては、PSドキュメンテーションのhttp://doc.prestashopで説明されている '/ modules/mymodule/themes/[theme_name]/modules'としています。 com/display/PS16/+ a + first +モジュールの作成。多分私はその情報を誤解していますか? –
これはドキュメントのエラーですので、私はそれに応じて私の答えを更新します。 –