我想从https://static.example.com加载CSS和JS。典型的页面包含:
<link rel="stylesheet" href="/sites/default/files/css/css__wBfhyL83sORKzo__AgHv4HOGuOoSbIzIaa4clq9PXs.css?pik02l" media="all" />并包含类似的JS条目。我想将https://static.example.com添加到CSS和JS的href="URL"前面。
我知道这可以用一个控制模块来完成。我想找到一个钩子或其他方式添加到我的自定义模块。
发布于 2018-11-22 08:16:05
即使你不想使用控制模块,我还是会推荐CDN模块。它能做你想做的事,但是如果你不想使用它,你仍然可以看看他们是如何做到的。
它们定义了很多服务,但最有趣的是这个:
cdn.file_url_generator:
class: Drupal\cdn\File\FileUrlGenerator
arguments: ['@app.root', '@file_system', '@stream_wrapper_manager', '@request_stack', '@private_key', '@cdn.settings']然后,类FileUrlGenerator会检查文件,以确定是否应该重写和重写它们。
发布于 2018-11-22 13:57:13
这些是聚合资产,所以您首先需要了解它们是如何添加到那里的。然后,您可以通过hook_page_attachments_alter最有可能地修改它们。类似于使文档头中的规范URL成为绝对的。
这种方法的问题在于,这些资产应该按照每个环境的名称与神秘的散列进行聚合。因此,除了在活动实例上,您需要在任何其他地方关闭您的自定义模块。
https://drupal.stackexchange.com/questions/272859
复制相似问题