Configuration 通过主题配置配置prestashop

Configuration 通过主题配置配置prestashop,configuration,prestashop,prestashop-1.6,Configuration,Prestashop,Prestashop 1.6,我想知道在启用主题时是否可以配置商店的一些选项 让我解释一下,我已经在主题zip的根目录中生成了一个config.xml来启用/禁用一些模块或挂钩。但我想做得更多 事实上,例如,我希望能够在主题出现时启用CCC“将JavaScript移到末尾” 我看到一些主题()在主题文件夹中包含一个config.xml。我经常看到像这样的东西 但我不确定它有什么作用。它有什么作用吗 我找不到该config.xml文件的任何引用,有什么方法可以实现我想要的吗 使用最新的Prestashop 1.6。这些行只在时

我想知道在启用主题时是否可以配置商店的一些选项

让我解释一下,我已经在主题zip的根目录中生成了一个config.xml来启用/禁用一些模块或挂钩。但我想做得更多

事实上,例如,我希望能够在主题出现时启用CCC“将JavaScript移到末尾”

我看到一些主题()在主题文件夹中包含一个
config.xml
。我经常看到像
这样的东西

但我不确定它有什么作用。它有什么作用吗

我找不到该config.xml文件的任何引用,有什么方法可以实现我想要的吗


使用最新的Prestashop 1.6。

这些行只在
时检查配置值

因此,如果你有
你是说你的主题是
CCC
兼容的,商店是否启用了
CCC
并不重要

如果将其设置为
false
,安装将检查与
CCC
相关的设置是否已禁用,否则它将向用户抛出一个错误,即他们的
CCC
配置将无法与您的主题配合使用

可以查看要素定义

因此,如果您在
config.xml
中设置,它将检查
检查数组中的所有四个配置是否都设置为0,否则将抛出错误消息
此主题可能无法正确使用PrestaShop的“合并、压缩和缓存”选项。

至于在主题安装上配置设置,我看不到在不覆盖
AdminThemesController
类的情况下使用xml配置的方法,但我猜您希望分发此主题,因此覆盖不是一个选项

不过,您可以做的是安装一个简单的配置设置器模块以及挂钩到的主题


社区主题实际上包括一个做类似事情的主题:s/theme/module/…
    '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',
    )
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';
}