2017-12-18 216 views
0

我正在使用concrete5 8.0.1版本。我创建了一个附加组件。现在,如果我通过附加模块启用设置,然后在整个站点上添加一个脚本和一个样式标记,我想在全局附加脚本和样式标记。目前我正在使用下面的代码,但它只适用于我的控制器。如果我点击其他菜单脚本,样式标签将不会加载。在混凝土中添加全局样式和脚本5

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

回答

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 - 1 and concrete5 - 2