2017-04-20 5 views
0

테마를 사용할 때 상점 옵션 중 일부를 구성 할 수 있는지 궁금합니다.테마 구성을 통해 사전 구성 구성

설명하자면, 나는 이미 테마 zip의 루트에 config.xml을 생성하여 일부 모듈이나 후크를 활성화/비활성화합니다. 그러나 나는 더 많은 것을하고 싶다.

예를 들어, 테마를 사용하면 CCC의 "JavaScript를 끝까지 이동"할 수 있습니다.

일부 테마 (including the community theme)에는 테마 폴더 내에 config.xml이 포함되어 있습니다. 나는 종종 <ccc available="true" /> 같은 것을 본다.

하지만 나는 그것이 무엇인지 잘 모릅니다. 그것은 무엇인가?

해당 config.xml 파일에 대한 참조를 찾을 수 없으므로 원하는대로 달성 할 수있는 방법이 있습니까?

최신 Prestashop 1.6을 사용하십시오.

답변

0

해당 행은 구성 값을 확인하지만 <ccc available="false" /> 인 경우에만 확인합니다.

따라서 <ccc available="true" />이 있으면 테마가 CCC과 호환되며 상점에 CCC이 사용 설정되어 있는지 여부는 중요하지 않습니다.

당신이 CCC 관련된 설정을 사용할 경우 false에 설치가 그렇지 않으면 자신의 CCC 구성은 테마와 함께 작동하지 않습니다 사용자에게 오류가 발생합니다 확인 것이라는 점을 설정합니다.

기능 정의 here을 볼 수 있습니다.

'ccc' => array(
     'attributes' => array(
      'available' => array(
       'value' => 'true', 
       /* 
       * accepted attribute value if value doesn't match, prestashop configuration value must have those values 
       */ 
       'check_if_not_valid' => array(
        'PS_CSS_THEME_CACHE' => 0, 
        'PS_JS_THEME_CACHE' => 0, 
        'PS_HTML_THEME_COMPRESSION' => 0, 
        'PS_JS_HTML_THEME_COMPRESSION' => 0, 
       ), 
      ), 
     ), 
     'error' => 'This theme may not correctly use PrestaShop\'s "combine, compress and cache" options.', 
     'tab' => 'AdminPerformance', 
    ) 

그래서 당신이 설정 한 경우 config.xml<ccc available="false" />는, check_if_not_valid 배열의 네 가지 구성이 0으로 설정되어 있는지 확인합니다 그렇지 않으면거야 오류 메시지 This theme may not correctly use PrestaShop's "combine, compress and cache" options. 밖으로 던져입니다.

테마 설치의 설정 구성에 대해서는 AdminThemesController 클래스를 재정의하지 않고 xml 구성을 사용하여 작업을 수행하는 방법이 표시되지 않지만이 테마를 배포하려는 것으로 추측하고 있습니다. 따라서 재정의는 옵션이 아닙니다.

그래도 할 수있는 일은 displayAfterThemeInstallation에 연결되는 테마와 함께 간단한 구성 설정 모듈을 설치하는 것입니다.

public function hookDisplayAfterThemeInstallation($params) 
{ 
    $theme_name = $params['theme_name']; 
    if ($theme_name != 'mythemename') { 
     return false; 
    } 
    // Enable Move JS to bottom setting 
    Configuration::updateValue('PS_JS_DEFER', 1); 

    // Optional text or html to display 
    return 'Your settings have been changed'; 
} 
+0

감사합니다. :) –

+0

커뮤니티 테마에는 실제로 비슷한 것을 수행하는 테마가 포함되어 있습니다. https://github.com/PrestaShop/community-theme-16/blob/dev/modules/ctconfiguration/ctconfiguration.php –

+0

s/theme/module/... –