ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

在Drupal上的某个页面上添加JS文件

2019-07-13 02:33:23  阅读:199  来源: 互联网

标签:javascript drupal drupal-6


我有一个JS文件,我想添加到Admin>添加内容>某些内容类型
看完template.php并查看函数theme_preprocess_node
我试图通过drupal_add_js(…)添加JS,但没有去.
现在,我知道有一个类似的问题,但我的情况是关于添加
一个JS文件到某个页面,没有别的(更好的分离JS文件).

谢谢.
(Drupal 6)

解决方法:

查看drupal_add_js() in page template not working.

它的要点是在预处理函数期间调用drupal_add_js()(或drupal_add_css())基本上是迟到的,因为js / css包含的标记已经被渲染成变量.要解决此问题,您需要在添加后调用drupal_get_js()再次覆盖该变量:

function yourThemeName_preprocess_page(&$variables) {
  // Is this a node addition page for the specific content type?
  // TODO: Adjust the content type to your needs
  // NOTE: Will only work for the node add form - if you want your js to be
  // included for edit forms as well, you need to enhance the check accordingly
  if ('node' == arg(0) && 'add' == arg(1) && 'yourContentType' == arg(2)) {
    // Add your js file as usual
    drupal_add_js('path/to/your/file.js', 'theme');
    // Ensure that the addition has any effect by repopulating the scripts variable
    $variables['scripts'] = drupal_get_js();
  }
}

注意:使用preprocess_page而不是preprocess_node,因为javascript包含应该在页面模板中发生.此外,Kevins暗示需要重建主题注册表仍然适用(1).

标签:javascript,drupal,drupal-6
来源: https://codeday.me/bug/20190713/1445180.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有