【问题标题】:Drupal programmatic view block output faultDrupal 程序化视图块输出故障
【发布时间】:2011-11-06 17:02:30
【问题描述】:

我正在尝试通过 AJAX 动态加载我最新的一些页面。

为此,我正在尝试以编程方式加载我的视图生成块。默认情况下,该块包含使用视图幻灯片插件轮播的图像。

我正在使用以下代码sn-p:

<?php
        $view       =   'pagetopimage';
        $block_id   =   'block_1';
        $args       =   array(32);
        print views_embed_view( $view, $block_id, $args );
    ?>

使用上面的代码,块被打印,但轮播效果被破坏了。我该如何解决这个问题?

【问题讨论】:

  • 您可能还需要包含一个 JS(假设您的轮播使用 JS ..)
  • 非常正确,但是我需要一些关于什么 JS 文件以及如何以编程方式包含它的信息???
  • 首先,我建议在性能设置下禁用 JS 压缩。然后导航到轮播正常工作的页面,并记下页面上正在加载的所有 JS 文件。然后导航到不工作的页面,比较那些 JS 文件并找出丢失的 JS 文件。然后确保将那些丢失的 JS 文件加载到将使用 AJAX 的页面上。
  • 感谢@tyler.frankenstein,使用您的提示,我能够识别出丢失的 JS 文件。有人知道如何动态加载 JS 文件吗?尤其是属于 Drupal 网站中的一个模块???
  • 请查看 drupal_add_js 函数和@rémy 的答案以查看一般用例。

标签: php view drupal


【解决方案1】:

要在文件位于模块位置时加载文件,请使用:

drupal_add_js(drupal_get_path('module', 'your_module_name') .'/daFile.js');

一般加载(从安装根目录开始),使用:

drupal_add_js('misc/ajax.js');

drupal_add_js很强大,看你自己..

【讨论】:

  • 你的建议是有效的,我试过了,但没用。在不尝试以编程方式包含 JS 脚本的情况下,我收到以下错误: Drupal.settings.viewsSlideshowSingleFrame is undefined !?!?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-03
相关资源
最近更新 更多