我在基于 Drupal 8 的站点上设置了一个 Colorbox 模块,但我发现它不适用于每种内容类型,因为与 Colorbox 相关的 CSS 和 JS 文件并未包含在所有页面中。
我有两种不同的内容类型,我们称之为好和坏。两者都在标准html.html.twig模板中呈现 CSS 和 JS并使用它<js-placeholder token="{{ placeholder_token }}">
它们之间的唯一区别在于,在 GOOD 内容类型中,有一个常见的 Image 字段,我将 Colorbox 设置为视图“处理程序”,同时在 BAD 模板中,图像是在其代码中创建的。所以我在等效元素 ( <a class="colorbox .." rtc.
) 中添加了一个 CSS 类,但问题是 BAD 输出 html 中没有链接 Colorbox JS 文件。
来自 GOOD 的示例 putput(缩短):
<!-- BEGIN OUTPUT from 'themes/cav/templates/html.html.twig' -->
<!DOCTYPE html>
<html lang="cs" dir="ltr" prefix="og: http://ogp.me/ns#">
<head>
...
<link rel="stylesheet" media="all" href="/core/modules/quickedit/css/quickedit.icons.theme.css?q01vyb" />
<link rel="stylesheet" media="all" href="/core/themes/seven/css/components/quickedit.css?q01vyb" />
<link rel="stylesheet" media="all" href="/modules/colorbox/styles/plain/colorbox_style.css?q01vyb" />
<link rel="stylesheet" media="all" href="/core/modules/toolbar/css/toolbar.theme.css?q01vyb" />
...
从坏处:
<!-- BEGIN OUTPUT from 'themes/cav/templates/html.html.twig' -->
<!DOCTYPE html>
<html lang="cs" dir="ltr" prefix="og: http://ogp.me/ns#">
<head>
<meta charset="utf-8" />
...
<link rel="stylesheet" media="all" href="/core/modules/quickedit/css/quickedit.icons.theme.css?q01ykj" />
<link rel="stylesheet" media="all" href="/core/themes/seven/css/components/quickedit.css?q01ykj" />
<link rel="stylesheet" media="all" href="/core/modules/toolbar/css/toolbar.theme.css?q01ykj" />
...
我不知何故觉得那些与 Colorbox 相关的 JS 和 CSS 文件没有链接到 BAD,因为我没有在 BAD 内容类型中“设置 Colorbox”(因为我不能因为没有正式的图像字段)但是在那里一种方法我如何“强制”以其他方式将它们添加到页面中?
谢谢。TC