ファイルdefine.inc.phpには複数のグローバル変数が含まれていますが、新しい変数を定義するにはファイルが最適ですか?Prestashopで新しいグローバル変数を定義する場所
Prestashopを更新すると、ファイルdefine.inc.phpがリセットされ、グローバル変数が失われます。
多分settings.inc.phpにありますが、このファイルはバージョン管理されていません。
ファイルdefine.inc.phpには複数のグローバル変数が含まれていますが、新しい変数を定義するにはファイルが最適ですか?Prestashopで新しいグローバル変数を定義する場所
Prestashopを更新すると、ファイルdefine.inc.phpがリセットされ、グローバル変数が失われます。
多分settings.inc.phpにありますが、このファイルはバージョン管理されていません。
あなたが作成することができますファイルconfig/defines_custom.inc.php
はconfig/defines.inc.php
の横にあります。起動時に、Prestashopはこのファイルが存在するかどうかをチェックします。存在する場合は、デフォルトのものの前に含まれます。
あなたはconfig/config.inc.php
に関連するコードを見つけることができます。
$currentDir = dirname(__FILE__);
/* Custom defines made by users */
if (is_file($currentDir.'/defines_custom.inc.php')) {
include_once($currentDir.'/defines_custom.inc.php');
}
require_once($currentDir.'/defines.inc.php');
あなたはたとえば、デフォルトのファイル触れずにモードDEVを設定することができますこの方法:
define('_PS_MODE_DEV_', true);
、デフォルトのファイルの中をこの定義は発生しません。
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', false);
}
あなた自身のモジュール(多分 'ダミー'モジュール:)を作成し、そこにグローバル変数を宣言することをお勧めします。 「のmymodule」と呼ばれるモジュールを作成し、メインファイルmymodule.php
があるべき例えば
:
// Here you can define your global vars
define('MY_CUSTOM_VAR', 100);
class MyModule extends MyModule
{
public function __construct()
{
// See documentation
}
public function install(){ return parent::install(); }
}
ですから、問題はあなたのグローバルVARSを失うことなく、あなたのPrestaShopのバージョンを更新することができます;)
ありがとうございますが、Prestashop(1.6.1.X)の私のバージョンでは、次のコードは含まれていません:include_once($ currentDir。 '/ define_custom.inc.php'); –
@alexandrebruそれで、あなたは何かが存在するために何かを修正したに違いありません。 https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/config/config.inc.php#L30 – TheDrot
@TheDrotはい私はコミットを見つける:https://github.com/PrestaShop/PrestaShop/コミット/ 146f0676d5e1fc51d7edcdf46b192988ccbe4660 –