2017-01-18 8 views
1

파일 define.inc.php에 여러 전역 변수가 포함되어 있지만 파일이 가장 적합한 새 변수를 정의하려면?Prestashop에서 새 전역 변수를 정의하는 곳

Prestashop을 업데이트하면 파일 define.inc.php가 재설정되고 전역 변수가 느슨합니다.

아마도 settings.inc.php에 있지만이 파일의 버전이 생성되지 않았습니다.

답변

2

당신은 만들 수 있습니다 파일 config/defines_custom.inc.phpconfig/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'); 

당신은 예를 들어, 기본 파일 건드리지 않고 모드 디바이스를 설정할 수 있습니다이 방법 :

define('_PS_MODE_DEV_', true); 

을 기본 파일을 이 정의는 발생하지 않습니다.

if (!defined('_PS_MODE_DEV_')) { 
    define('_PS_MODE_DEV_', false); 
} 
+0

감사합니다,하지만 Prestashop (1.6.1.X) 버전에는 다음 코드가 포함되어 있지 않습니다 : include_once ($ currentDir./define_custom.inc.php '); –

+2

@alexandrebru 그러면 존재하는 것이므로 뭔가를 수정해야합니다. https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/config/config.inc.php#L30 – TheDrot

+0

@TheDrot 예. 커밋을 찾았습니다 : https://github.com/PrestaShop/PrestaShop/ 커밋/146f0676d5e1fc51d7edcdf46b192988ccbe4660 –

0

나는 자신의 모듈 (아마도 '더미'모듈 :)을 생성하고 전역 변수를 선언 할 것을 제안한다.

예를 들어 mymodule.php가 있어야한다 '인 MyModule'라는 모듈, 주요 파일 생성 :

// 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(); } 
} 

그래서 당신은 문제가 글로벌 바르의 손실없이 PrestaShop 버전 버전을 업데이트 할 수 있습니다)