在 Octobercms 上从 Partial 注入 CSS

On Octobercms inject CSS from Partial

我尝试从部分注入 Javascript 和 Css:

function onStart()
{
    $this->addCss('assets/css/style1.css');
    $this->addCss('assets/css/style2.css');
    $this->addJs('assets/js/javascript1.js');
    $this->addJs('assets/js/javascript2.js');

}

在我的布局中,我使用了 {% styes %} 和 {% scripts %},但是只有 javascripts 被成功注入。 Css 未注入。

我也使用了 {% put scripts %} 和 {% put styles %} 但只再次注入了脚本。

如果我直接在我的 layout.htm css 上使用上面的代码,但我需要在我的部分上使用此功能。这可能吗?

似乎{% styles %}尊重层次结构

意味着如果你在你的部分之前使用 {% styles %} 它会 而不是 为那个部分注入 css。

所以你的部分在 {% styles %} 之后,它没有它的信息所以它不会从它注入样式。

例如。您在部分代码部分 onStart 中包含 css/js 那么,

This will work

<!-- it will work -->
{% partial 'site/meta' %} <- you are injecting styles in code section
{% styles %} <- its after partial

This will not work

<!-- it will not work -->
{% styles %} <- its before partial
{% partial 'site/meta' %} <- you are injecting styles in code section

因此,我们可以确保我们 include/inject 所有样式然后使用 {% styles %} 因此它具有关于 css included/injecting 的所有信息。然后它可以渲染所有带有 css.

的样式标签

如有疑问请评论。