Php Drupal:在Drupal中加载AJAX内容

Php Drupal:在Drupal中加载AJAX内容,php,jquery,drupal,drupal-panels,Php,Jquery,Drupal,Drupal Panels,最近我被告知使用Drupal使用面板将内容动态加载到不同的部分。然而,我刚刚意识到有一种简单的方法可以做到这一点,我已将此jQuery代码添加到所有菜单项中: $('.menu a').click(function(){ $('#content').load($(this).attr('href') + " #content"); return false; //to avoid refresh }); 通过这种方式,我可以轻松地从任何链接更新任何块,而无需使用面板 这个方法好

最近我被告知使用Drupal使用面板将内容动态加载到不同的部分。然而,我刚刚意识到有一种简单的方法可以做到这一点,我已将此jQuery代码添加到所有菜单项中:

$('.menu a').click(function(){
    $('#content').load($(this).attr('href') + " #content");
    return false; //to avoid refresh
});
通过这种方式,我可以轻松地从任何链接更新任何块,而无需使用面板

这个方法好吗? 您是否也认为,仅仅将html动态加载到网站部分并不需要面板


感谢

面板的主要用途是,在没有页面加载的情况下不会加载内容。它主要用于

  • 根据特定条件创建不同的页面布局,您可以使用代码或在AI中进行设置
  • 让页面的内容知道正在查看哪些内容,并将不同的内容绑定在一起

您当前的脚本可以工作,但它的当前形式有点粗糙。Fx,如果用户多次单击会发生什么情况。如果您想动态更新内容,您应该只更改需要更改的部分,而不是加载/更改整个页面。然后,您也可以只加载新页面。我想这是面板可以帮助您的地方,但我还没有尝试过使用这样的面板。

谢谢,所以这里的问题是:如何只加载节点内容而不是普通页面?到节点的链接是什么?(当然不必使用面板)thanks@Patrick:ATM,没有一种方法可以只加载节点的内容,但是制作一个模块来实现这一点应该相当简单。更棘手的是,并非所有页面都是节点视图。我想我已经解决了这个问题。我将参数“onlyNode=true”与链接一起传递,并且我更新了模板,以便在该变量为true时忽略页面内容。通过这种方式,选择在服务器端完成,我不会加载整个页面。是的,解决方案如下: