我正在使用Concrete5 8.0.1版本。我创建了一个附加组件。现在,我想借助我的附加组件在全球范围内添加脚本和样式标签,这意味着如果我从附加组件中启用设置,那么一个脚本和一个样式标签将在整个站点上添加。目前,我正在使用以下代码,但它仅适用于我的控制器。如果我单击其他菜单脚本,并且样式标签将不会加载。
$this->addHeaderItem('<style type="text/css"> .mytyle { display:none;}</style>');
$this->addHeaderItem('<script> alert("Here")</script>');
在软件包控制器中您可以添加以下行:
public function on_start()
{
$al = ConcreteCoreAssetAssetList::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-1和Concrete5-2