在concrete5

时间:2017-12-18 14:25:11

标签: controller routing concrete5 concrete5-8.x

我使用的是concrete5 8.0.1版本。我创建了一个附加组件。现在我想在我的附加组件的帮助下全局添加脚本和样式标记,如果我从我的附加组件启用设置,那么将在整个站点上添加一个脚本和一个样式标记。目前我正在使用下面的代码,但它只适用于我的控制器。如果我点击其他菜单脚本和样式标签将无法加载。

$this->addHeaderItem('<style type="text/css"> .mytyle { display:none;}</style>');
$this->addHeaderItem('<script> alert("Here")</script>');

1 个答案:

答案 0 :(得分:0)

在包控制器中,您可以添加以下行:

public function on_start()
{
    $al = \Concrete\Core\Asset\AssetList::getInstance();
    $al->register(
        'javascript', 'yourhandle', 'path/to/file/your-javascript.min.js'
    );
    $al->register(
        'css', 'yourhandle', 'path/to/file/yourcss.min.css'
    );
    $view = \View::getInstance();
    $view->requireAsset('css', 'yourhandle');
    $view->requireAsset('javascript', 'yourhandle');
}

使用此控制器安装软件包后,将在每次加载页面时加载这些资产。

Src:concrete5 - 1concrete5 - 2