进阶篇14. 使用预处理函数加载CSS和JS

在第一篇中我们已经提过几种不同的在页面上加载css和js文件的方法。这一节再介绍一种,使用预处理函数来加载它们,即:

THEME_preprocess_HOOK()

其中,THEME是主题的名称,HOOK是模板钩子,模板名的第一组单词。

比如,如果你想在维护页面上加载一个特定的JS文件,维护页面的钩子是”maintenance_page“,预处理函数如下:

function nowicode_preprocess_maintenance_page(&$variables) {
  $variables['#attached']['library'][] = 'nowicode/maintenance';
}

第二行中的nowicode是主题名,maintenance是库的名称。

因此,为了让这个预处理函数生效,还应该在库文件即.libraries.yml中定义个名为maintenance的库。

用这种方法加载CSS和JS文件的强大之处在于,你可以在.theme文件中写自己的逻辑。

本书共84小节:

评论 (写第一个评论)