主题中需要资产组

时间:2015-03-19 13:05:59

标签: concrete5

如何在主题控制器中需要资产组? Theme-> requireAsset()似乎只处理单个资产,而不是资产组。

资产组在application / config / app.php

中定义

编辑:我使用5.7,这是我的代码示例:

在config / app.php中

'assets'        => array(
    'awesomejs'     => array(
        array(
            'javascript',
            'themes/mytheme/js/awesome.min.js',
            array('position' => 'H', 'minify' => true, 'combine' => true)
        )
    ),
    'greatjs'   => array(
        array(
            'javascript',
            'themes/mytheme/js/great.js',
            array('position' => 'H', 'minify' => true, 'combine' => true)
        )
    )
)

'asset_groups' => array(
    'myjavascripts' => array(
        array(
            array('javascript', 'awesomejs'),
            array('javascript', 'greatjs')
        )
    )
)

在page_theme.php

$this->requireAsset('javascript', 'myjavascripts');

这不起作用,因为myjavascripts是一个asset_group,但我似乎能够做的只是在我的主题中需要一个特定资产,而不是整个组。

1 个答案:

答案 0 :(得分:0)

您在5.6.x或5.7.x中使用的是哪个版本的API

如果您在5.7工作,请尝试

$this->requireAsset('redactor');

其中redactor是您想要的资产的名称。

在您需要资产之前,请务必先提供资产:

    $this->providesAsset('javascript', 'bootstrap/*');
    $this->providesAsset('css', 'bootstrap/*');
    $this->providesAsset('css', 'blocks/form');
    $this->providesAsset('css', 'core/frontend/*');

这告诉具体在哪里找到资产文件本身,如果找不到它们就不能要求它们。请注意,您只输入路径,而不是实际资产。

对于您的情况,您将使用

$this->providesAsset('css', 'application/config');