【问题标题】:add globally style and script in concrete5在concrete5中添加全局样式和脚本
【发布时间】:2017-12-18 14:25:11
【问题描述】:
我使用的是concrete5 8.0.1 版本。我创建了一个附加组件。现在我想在我的插件的帮助下全局添加一个脚本和一个样式标签,这意味着如果我从我的插件启用设置,那么一个脚本和一个样式标签将添加到整个站点上。目前我正在使用下面的代码,但它只适用于我的控制器。如果我单击其他菜单脚本和样式标签将不会加载。
$this->addHeaderItem('<style type="text/css"> .mytyle { display:none;}</style>');
$this->addHeaderItem('<script> alert("Here")</script>');
【问题讨论】:
标签:
controller
routing
concrete5
concrete5-8.x
【解决方案1】:
在包控制器中,您可以添加以下行:
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');
}
使用此控制器安装包后,这些资源将在每次页面加载时加载。
源:concrete5 - 1 和 concrete5 - 2