如何在Drupal中获取压缩文件名?

时间:2014-07-12 14:04:46

标签: javascript php drupal drupal-7

在Drupal中压缩JS文件后,我得到了一个随机的JS文件名。

我的问题是如何获取此文件名以将其添加到我的javascript中?

Drupal代码:导入并压缩

<?php drupal_add_js(drupal_get_path('theme', 'mytheme') . 'mybigfile.js'); ?>

随机文件名结果:

js_2KQpJNjjupC1Beoweoqpok2JCXhe0sJ6YBllaRDUXYQ.js

尝试调用mybigfile.js文件:

<script>
telInput.intlTelInput({
      validationScript: "mybigfile.js"
    });
</script>

1 个答案:

答案 0 :(得分:1)

据我所知,你无法使用PHP获取Drupal生成的连接javascript文件的名称。

您最好的选择是避免将javascript文件mybigfile.js连接和压缩。然后,您可以通过调用文件名来应用验证脚本。

您必须在drupal_add_js preprocess数组中将false属性设置为$options,以防止文件被聚合。

drupal_add_js(drupal_get_path('theme', 'mytheme') . '/mybigfile.js', array(
    'type'      => 'file',
    'preprocess'=> false,
));

更新

如果您想压缩单个javascript文件,则可以选择使用AdvAgg API。

不幸的是,我找不到任何有关如何操作的文档。但是你从以下开始:

  1. 下载并安装advagg并启用子模块advagg_js_compress

  2. advagg_js_compress子模块文件夹中,找到文件advagg_js_compress.advagg.inc并在文本编辑器中打开。在这里,您可以找到一些帮助您压缩javascript文件的辅助函数。

  3. 希望这有帮助。