【问题标题】:Inserting jQuery with Drupal 7使用 Drupal 7 插入 jQuery
【发布时间】:2011-02-11 20:03:43
【问题描述】:

我想在我的 Drupal 7 网站上使用 Colourbox jQuery 脚本,但我只想加载某些内容类型。

我找到了我想要的 [这个脚本][1]。它适用于 Drupal 6,但似乎适用于 Drupal 7。

在脚本中,您必须将 Java 脚本插入 PHP 包装器中。 但是,因为我的 Java 脚本使用了两种引号/撇号,所以它会破坏脚本。我该如何纠正这个问题?

这是我正在尝试使用的脚本(插入到 template.php 中):

功能 THEMENAME_preprocess_node(&$variables) { // 测试资源页面节点类型 if ($variables['type'] == 'resources_page') {

// include colorbox javascript
drupal_add_js(path_to_theme() . '/scripts/colorbox/jquery.colorbox.js');


// include colorbox css
drupal_add_css(path_to_theme() . '/scripts/colorbox/colorbox.css');  
   $js = '        jQuery(document).ready(function(){
      jQuery('.photos>a').attr('rel',

'颜色框'); jQuery("a[rel='colorbox']").each(function(){

jQuery(this).colorbox({title:jQuery(this).attr('title')+

" " + jQuery(this).find('img').attr('alt')}); }); '; drupal_add_js($js, 'inline'); } }

jQuery("a[rel='colorbox']"). 位会破坏脚本,因为它有两种引号。我该如何解决这个问题?

[1]: // 添加 jScript http://thedrupalblog.com/adding-jquery-image-carousel-your-node-view

【问题讨论】:

    标签: jquery colorbox drupal-7


    【解决方案1】:

    我想您可以使用 PHP 的 heredoc feature,但实际上,我会发现将您的自定义 JavaScript 放在自己的文件中并将其包含在 drupal_add_js 中更明智。就像你对 colorbox 插件所做的那样。

    drupal_add_js('/path/to/your/custom.js/');
    

    我认为大多数 Web 应用程序都遵循Separation of Concerns 的概念,例如,将标记 (HTML) 与样式 (CSS) 和行为 (JavaScript) 分开。它可以简化维护,假设您的团队中有只负责 HTML/CSS/JS 的设计师,您可能不希望他们接触 PHP 代码。

    当然你也可以转义引号。

    $foo = 'Hello \'Name\'';
    $bar = "$('a[rel=\"colorbox\"]')";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      相关资源
      最近更新 更多