使用Ajax访问视图的内容 -- views 领域 和 ajax 领域 和 javascript 领域 drupal 相关 的问题

Using AJAX to access the content of a view


0
vote

问题

中文

我有一个简单的视图,一个公开的过滤器,显示内容的表视图。(例如节点是城市暴露过滤器的一些地址)。我为城市制作了地图;我希望在用户点击地图中的城市时,所选城市变得暴露过滤器视图,并且可以在不刷新整个页面的情况下刷新。 我以为我可以使用类似的东西:

  $.get( '/myviewpage', {myfield=14}, function(data){  $('#SomeOtherDiv').html(data) } );   

我试过,但我得到了未经授权的错误。如果它是正确的;我怎样才能为每个人进行页面查看能力? 谢谢

英文原文

I have a simple view with one exposed filter that displays a table view of contents.(for example nodes are some addresses with the exposed filter of the city). And I made a map for cities;I want that whenever user clicks on a city in the map, the selected city become exposed filter of view and view become refreshed without refreshing the whole page.is it possible? I thought that I can use something like:

$.get( '/myviewpage', {myfield=14}, function(data){  $('#SomeOtherDiv').html(data) } ); 

I tried that but I got unauthorized error. if it's correct; how can I make a page view-able for everyone? thanks

        
 
 

回答列表

1
 
vote
vote
最佳答案
 

我会做的方式(它有效):

而不是用jQuery $ .get直接调用页面,您应该使用drupal ajax框架,并调用您使用Hook_Menu创建的自定义路径,并使用回调函数调用视图并使用AJAX_Deliver返回它。然后您为响应创建自己的JS函数。

有一些很好的文档/示例,特别是这个一个

 

The way I would do it (and it works):

Instead of directly calling the page with JQuery $.get, you should use the Drupal ajax framework and call a custom path you created with hook_menu with a callback function which calls the view and return it using ajax_deliver. Then you create your own js function for the response.

There is some nice documentatione/example about this, particularly this one.

 
 
 
 
3
 
vote

首先,在视图上启用Ajax。在窗口加载中,将单击事件绑定到自定义功能,让我们调用它 getInfo(arg) 并通过您需要的参数( n tid ,或无论你需要什么)

然后,在 getInfo() 添加以下代码。

  function getInfo(args) {   $.ajax({     url: '/views/ajax',     type: 'post',     data: {       view_name: 'your_view_name',       view_display_id: 'block_1', //your display id       view_args: args,     },     dataType: 'json',     success: function (response) {       if (response[1] !== undefined) {         var viewHtml = response[1].data;         $('#myDiv').html(viewHtml);         Drupal.attachBehaviors(); //check if you need this.       }     }   }); }   

您将参数传递在数据阵列中,并且您将使用视图内容替换#mydiv。

 

First, enable Ajax on the view. On window load, bind the click event to a custom function, let's call it getInfo(arg) and pass the arguments you need (nid, tid, or whatever you need)

Then, on getInfo() add the following code.

function getInfo(args) {   $.ajax({     url: '/views/ajax',     type: 'post',     data: {       view_name: 'your_view_name',       view_display_id: 'block_1', //your display id       view_args: args,     },     dataType: 'json',     success: function (response) {       if (response[1] !== undefined) {         var viewHtml = response[1].data;         $('#myDiv').html(viewHtml);         Drupal.attachBehaviors(); //check if you need this.       }     }   }); } 

You pass the arguments in the data array, and you get the #myDiv replaced with the view content.

 
 
1
 
vote

您无法使用hook_menu。曝光过滤器的视图发送请求/查看/ ajax,您可以为此请求添加Param view_name = [View_name]& View_display_id = [View_display_id], 所以你只获得所需的内容。 如果要使用JSON,请安装Views_dataSource

 

You can not use hook_menu. Exposed filter of view send request to /views/ajax, you can add param for this request view_name=[view_name]&view_display_id=[view_display_id], so you only get the content that you want. If you want to use JSON, install views_datasource

 
 

相关问题

0  生日迁移到Profile2  ( Birthdays migrate to profile2 ) 
家伙。 我这个问题,我确实从CSV文件中迁移了一个用户列表,并将迁移模块迁移到Profile2。我将使用Import的一个唯一值与FORMAT DD / MM / Y进行。一切都很好,但最后,生日场是空的。 导入(更新)我的用户生日的正确方法是什么。 谢谢! ...

0  根据内容是否具有用户引用对视图进行排序  ( Sort a view by whether content has a user reference ) 
我有一个,列出所有已标记一段内容的用户(使用标志模块)。此外,对于该内容,我还有某些用户引用(使用引用模块)。 SO: 用户可以标记一块内容。 内容可以参考用户。 我希望能够让视图显示所有标记的内容的所有用户(我有正确工作),但也按的顺序显示它们: 由内容引用的用户。 用户名,按字母顺序排列。 我想我只是有...

6  URL中的路径别名的上下文过滤器  ( Context filter with path alias in url ) 
快速摘要:当该视图位于站点的某处时,如何将URL中的别名传递给视图的上下文过滤器。 我已经阅读了几十个类似的文章,但没有任何直接对我做出明确的东西,所以如果有人有一些洞察力,我会感激。 我有一个内容类型:"艺术家" ,带有一个秃头别名:艺术家/毕加索 我有一个内容类型:艺术品与艺术家的实体引用。 给定的艺术品可能有一...

1  Drupal 7观看有机组复杂关系  ( Drupal 7 views organic groups complex relationship ) 
我有一个有机组设置,具有许多关系。我的团体分为3种主要组类型..打电话给他们: 卡车 汽车 面包车 所有这些组都有组内容: 轮胎 边缘 我创建了一个是一个轮胎列表的视图,我需要能够按组类型排序...所以我需要一个用于卡车的轮胎列表(例如)。如何联系捆绑类型? ...

0  如何使用包含多个图像的节点的一个图像创建网格视图?  ( How to create a grid view with only one image from nodes containing multiple ima ) 
我有一个可以具有任何数量图像字段的图像字段的节点。我想创建一个网格视图,其中我应该只应该是一个图像字段(可以是第一个或任何一个实际)。 附加图像显示了显示多个图像的视图设置 - 如何限制从网格视图显示的每个节点中选择单个图像? (我在drupal 6) ...

1  术语视图中的内容的关系会导致重复和缺少结果  ( Relationship to content in term view causes duplicate and missing results ) 
我有这些术语,节点和评论。所以'nodea'和'nodeb'被标记为"term1" 。 "Nodea" 和'NodeB'都有新的评论。 Term1 -NodeA (has new comments) -NodeB (has new comments) Term2 -NodeC (no new comments...

0  如何在全局:PHP视图字段中打印多个查询输出?  ( How can i print multiple query output in globalphp view field ) 
我有自定义全局:php字段我将以下代码放在其中作为值。 $shop_url=db_query("select page_url from mytable1 where user_id=$row->uid"); return $shop_url; 作为输出代码,我提出了以下一个。 foreach($sho...

0  每次加载JavaScript的视图  ( Views exposed filters loading javascript each time ) 
我有一个曝光的过滤器,在视图中启用了ajax。每次单击不同的过滤器选项,它会重新加载JavaScript。这是普通行为或已知问题3吗? 有没有办法防止重新加载整个JavaScript? 感谢 ...

1  如何排序一个视图,例如,说,所有带有库存的节点= 0来到最后,而不是股票?  ( How to sort a view so that say all the nodes with stock 0 come last and not s ) 
我想对视图进行排序,以便在列表的末尾具有归档值的元素,但其他其他元素将被同等地处理。事实上,它是一个笨蛋的商业网站,我希望所有的产品都有股票和gt; 0在列表中首先出现,无论股票数量如何,都要在最终实现,但仍然处于视野中(之后那个,我对alphabeitally进行排序)。 任何想法如何做到这一点? 这意味着制作布尔...

0  该块未显示在首页上  ( The block isnt shown on the front page ) 
我有一个查看块,显示节点的子集。在"配置" 页面中,"自动软件视图" 部分显示内容,因此我知道正确设置视图的过滤器。我配置了块仅在列出的页面上显示,并为页面输入 <front> 。不幸的是,首页仅显示以下内容和静态块。 没有创建前页内容。 •添加新内容 奇怪的部分是,此静态块配置了相同的方式,视图配置为仅在首...

2  查看具有关系的当前用户的视图过滤器  ( Views filter for current user with a relationship ) 
我知道如何创建一个筛选当前用户创作的节点的视图。我想做的是基于与节点关系的节点的作者过滤。 例如: 我的视图有一个过滤器来显示A类型的节点 类型A具有一个字段,该字段是对B型的引用 我想要一个过滤器,它显示所引用的B节点的节点(类型A)由当前用户编写。 在d6中,我通过创建与b的关系来完成此操作,然后在其中添加(b)...

1  如何设置drupal自动完成  ( How to set drupal auto complete off ) 
我是drupal我想在我的以下代码中设置自动完成 $form['plantuser']['username'] = array( '#type' => 'textfield', '#title' => t('Username'), '#description' => t(''), ...

0  视图:在登录用户角色的基础上过滤节点  ( Views filtering nodes on the basis of logged in user role ) 
是否可以在当前用户角色过滤掉节点?例如,我想创建一个视图,用户可以看到所有已发布的节点以及他们创建的未发布节点。如果当前用户是站点管理员,他应该能够查看所有节点。是否可以使用视图? ...

0  如何从Drupal 6 views 2港口将Customfield PHP港口到Drupal 7次浏览3  ( How to port customfield php from drupal 6 views 2 to drupal 7 views 3 ) 
我有这段代码是在Drupal 6 views 2 customfield php中,我需要在全局:php字段中以ropal 7 views 3端口到Drupal 7 views 3,但我无法弄清楚为什么我在构建时获得空的Ajax错误全局:PHP字段值代码中的此代码。 访问的变量是否已更改? <?php //va...

0  观点 - 学习的全面来源? [关闭]  ( Views comprehensive source for studying ) 
正如目前所在的那样,这个问题并不适合我们的Q&amp;一种格式。我们预计事实,参考资料或专业知识的支持,但该问题可能会征求辩论,论点,投票或扩展讨论。如果您觉得可以改进此问题并可能重新开放,请访问帮助中心进行指导。 ...

1  获取Rewrite结果中的Drupal基础路径  ( Get drupal base path in views rewrite result ) 
我想在视图中获取Drupal基础路径重写结果。但重写结果不支持PHP代码。 如何将Drupal基础路径添加到替换模式中的视图重写结果?我尝试安装一些像实体API,令牌的模块,但它没有帮助。 我知道有 http://drupal.org/project/views_php 和我得到基础路径使用PHP代码,但它具有DEV...

2  观看组通过如何仅显示带有行数的组标题  ( Views group by how to display only group headers with count of rows ) 
我希望我的视图只能显示一个字段,另外由此字段组进行组。因此,我设置了以下内容: 在高级设置中检查"使用聚合" 将字段添加到字段部分 在格式化部分中设置格式 - &gt;此字段对组的设置 在字段中,在field-&gt;聚合选择"组字段 一起" 因此,假设字段包含颜色值:,我得到以下输出 Blue Blu...

1  将最后一个项目替换为图像网格  ( Replace last item in a views grid of images ) 
让我们说我的服务器上有1000个图像文件,我在视图块中的FrontPage上分页了10个最新的(每个5张图片),格式化为"网格" 。我的观点的设置是: 格式:grid,show:字段,文件:呈现,然后按文件过滤:类型(=映像)并按文件排序:上传日期 而不是添加"查看更多" 链接,我想用"查看更多" 按钮,替换第10个...

1  添加新内容时缺少Drupal 7身体内容  ( Error drupal 7 body content missing when adding new content ) 
嗨我的drupal 7创造了一个新的内容,突然身体字段消失了?我不知道这是什么原因吗?有没有人可以帮助我 ...

0  DRUPAL 6的视图中的日期选择器  ( Date picker in views for drupal 6 ) 
是否有任何方法可以将日期拾取器显示为Drupal 6视图的过滤器? ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.