更新的Drupal通过AJAX
问题描述:
意见的说法我有一个关于Drupal的6.x的 的请求,我想有这样的行为:更新的Drupal通过AJAX
想象有2列,左边的节点(仅标题例如列表),在右侧显示仅显示左侧内容之一的视图。 我的想法是以AJAX的方式实现这个功能:单击左侧列表中的链接,用实际节点更新右侧的视图。
这是处理的最佳方式?
我的想法是使用面板,使2列面板与2次,一个(左)上过滤内容类型,不带参数,和一个在其上发生在作为参数的节点ID的权利要被显示。
但是如何连接与AJAX的2次? (或者更好的,如何通过AJAX调用更新右侧的视图?) 是可能的吗?
任何帮助或想法真的欢迎 谢谢!
干杯 莫罗
答
这当然是可能的,而且也不是很困难的事。
你的任务可分为两个主要部分:
- 提供的,需要一个节点ID(NID)后端一个“回调” URL并返回标记来显示在右侧面板中的节点一种可以通过javascript处理的格式。这将在正常的Drupal模块中用PHP完成。重点不是像往常一样返回完整的Drupal页面,而只是返回节点的标记。
- 针对前端,当通过点击左侧面板中的链接触发,通过URL回调上述检索新的节点标记和替换它的右面板的内容创建逻辑。这需要在JavaScript中使用Drupal JavaScript API和jQuery来完成。
你可以找到一个introduction and example for AJAX in Drupal here.(这确实几乎正是你想做的事,只能用图像)
答
你也可以做一个快速的黑客,这是相当灵活的,因为它可以让你改变你的观点不改变代码。
最近我有一个类似的任务,并为你的任务,我会做到以下几点:
- 你的右列,创建一个过滤器曝光(节点ID),并使用CSS隐藏整个暴露过滤器的形式。
- 使用jQuery,将点击行为附加到左列的标题。
- 点击行为花费的节点ID,发现附着露出滤波器在右列中,进入节点ID输入到输入字段,并且执行形式的.submit()。
.submit()触发build-into-views调试好的ajax请求,刷新右列。
这就是我想到的。加工! – 2009-11-12 11:06:48