自动节点Redirct取决于CCK字段的内容 -- 6 领域 和 redirection 领域 drupal 相关 的问题

Auto node redirct depending on a cck field's content


1
vote

问题

中文

当访问者转到节点/ 123时,我需要它们被重定向到该节点CCK字段中指定的URL。我知道有大量的模块可以重定向,但我需要这种特定类型的自动化。邻接这个的最佳方式是什么?

英文原文

When a visitor goes node/123, I need them to be redirected to the url that is specified in that node's cck field. I know there are plenty of modules that do redirects, but I need this specific type of automation. What would be the best way to go abut this?

     

回答列表

3
 
vote

有多种方法是这样做。可能是最好的是创建自定义模块和

使用hook_menu_alter(),更改节点/%节点的页面回调。在页面回调中,检查节点的类型以在节点上调用node_page_view或重定向到引用的节点。

  MODULE_menu_alter(&$items) {   $items['node/%node']['page callback'] = 'MODULE_node_page_view'; }  MODULE_node_page_view($node) {   if ($node->type == MODULE_NODE_TYPE) {     //if fixed_x is a node nid     $reference = $node->field_x;     drupal_goto('node/'. $referenced_node->nid);     //if fixed_x is a path     drupal_goto($node->field_x);     //etc   }   else {     return node_page_view($node);   } }   
 

There is multiple way of doing this. Probably the best one is create a custom module and

Using hook_menu_alter(), alter the page callback for node/%node. In your page callback, check the type of the node to invoke node_page_view on the node or redirect to the referenced node.

MODULE_menu_alter(&$items) {   $items['node/%node']['page callback'] = 'MODULE_node_page_view'; }  MODULE_node_page_view($node) {   if ($node->type == MODULE_NODE_TYPE) {     //if fixed_x is a node nid     $reference = $node->field_x;     drupal_goto('node/'. $referenced_node->nid);     //if fixed_x is a path     drupal_goto($node->field_x);     //etc   }   else {     return node_page_view($node);   } } 
 
 

相关问题

11  在Google图表中显示WebForm结果数据  ( Display webform results data in a google chart ) 
我正在尝试将WebForm结果显示为 google图表。我在主题的template.php文件上覆盖主题层和使用图表模块。 drupal 6.22, webform 6.x-3.11。 WebForm分析页面通常显示表中的数据,因此我正在尝试将该表的阵列分开,以将填充物传递到图表api 。 编辑:我想出了如何使...

6  如何用层次结构将父母术语获得分类?  ( How can i get the parent term in a taxonomy with a hierarchy ) 
我有一个节点,该节点标记为分类项,该分类项是诸如"州>县的态度" 等级的一部分。 因为用户选择了一个"县" 标签,我如何获得父项的名称? ...

11  如何编程方式重复节点?  ( How to programmatically duplicate a node ) 
我想创建一个我制作的WebForm的副本,并使用新的电子邮件地址作为收件人。 使用node_load加载节点后,我可以用node_save保存它吗?将创建一个新节点,其中包含新的时间戳和ID? 如何获取已创建的新节点的NID? ...

1  为什么无法在插入节点时找到标记的父项?  ( Why cant i find the parent term of a tag when a node is being inserted ) 
我遵循另一个问题,我问了,如何用层次结构将父术中获取父项?,我可以获得父母术语当我在视图运行时,但不是在我在插入操作时。 var_dump() 显示 $terms 变量,但 NULL $pterms 。这是我的代码在 hook_nodeapi('insert') 中被调用。 foreach ($node-...

1  如何防止有机组管理员访问组的编辑页面?  ( How can i prevent an organic group administrator from accessing edit page of a g ) 
我希望它们能够仅发布内容,而不是编辑组本身。我正在使用OG_READ_ONLY,所以它们也只能将内容发布到自己的组。此模块存在问题,您必须只选择每次创建一个组时读取哪些内容类型,以及如果添加内容类型,则必须再次编辑所有组并查看新内容类型作为只读。 是否有一个模块可以阻止组管理员访问组编辑页面?该模块还能够防止管理员发...

2  允许创建新的内容类型,就像分类  ( Allow creation of new content type just like taxonomy ) 
我喜欢分类模块允许用户创建新的分类学术语"在飞行" 的方式。是否有任何模块,也可以允许用户创建节点的新"内容" "在飞行" ?这是我的场景: 内容类型A(公司) 内容B(用户) 用户对公司有节点引用,因此每次添加新用户时,都会为此用户选择一家公司。 我需要能够直接在Drupal 6站点上添加一个用户,如果公司不存...

0  最简单的方法来制作文本包裹的形象  ( Easiest way to make body of text wrap around image ) 
我想在下面的图像周围有一个身体文本缠绕。这是一个例子: http://www.fareham.ac。英国/赛事/ 2011/06 / Creative-arts-Summer-exition 和这里是代码的摘录: <div class="content"> <div class="field fiel...

1  以编程方式禁用帐户  ( Disabling accounts programmatically ) 
我想在同步作业之后以编程方式禁用用户帐户in hook_cron()。由于其生成的内容,我不想删除用户。但他们不应该登录并收到类似的通知邮件和那样的东西。 我应该使用用户状态字段吗?如果是这样,我应该使用 user_save 要将其更改,因为我不希望drupal向用户发送邮件(通过 _ user_mail_notif...

1  在节点编辑表单上添加WYSIWYG(CKEDITOR)到Textarea  ( Adding wysiwyg ckeditor to textarea on node edit form ) 
我正在尝试将wysiwyg添加到通过cck添加的textarea。 在我的hook_form_alter中,我可以更改字段的属性没有问题。使用似乎应该可以向元素添加'格式',然后使用filter_format,它添加过滤器选择信息,但似乎打破了wysiwyg的正文实现。 文档似乎很稀少在这个主题上,有谁知道实现这一或...

1  此外观是否适用于添加使用条款复选框以注册表单?  ( Does this look right for adding a terms of use checkbox to register form ) 
还,如何将节点/术语获得打开目标="_空白" ? example.com?q=node/1233 ...

2  如何添加跨度类以在寄存器表单中形成项目标题?  ( How do i add a span class to form item title in register form ) 
'#title' => t('I have read and agree to the') . "<b><a href='/terms' target='_blank'> terms of service</a></b>", 如何为整个标题添加跨度类,因此它将最终如下: <span class="my...

1  实现“网站门”的最佳方式  ( Best way for implement site gate ) 
我尝试将"站点门" 添加到 http://bartenderlab.it 。 它是酒精内容,所以18岁以下的人不允许查看这个网站。 我创建了hook_init的模块: function gate_init() { $curr_uri = request_uri(): if (strpos($cu...

1  如何根据最长的一侧调整上传的图像大小?  ( How to resize an uploaded image based on the longest side ) 
我似乎无法弄清楚如何获得ImageCache以基于最长的一侧调整图像大小。 所需的行为: upload image 800x532 --> resize image to 400x266 (landscape) upload image 532x800 --> resize image to 266x400 (p...

1  如何在块中调用模块,或者将模块块或将模块形成为块?  ( How to call a module in a block or give a module a block or put module form into ) 
我有一个模块,我希望它的添加表单放入块中。所以我的问题是,你如何采取模块页面(admin / build / mymodule /添加),并给它一个块?因此,此模块现在将在块管理页面中拥有自己的块。您是由它的URL,模块或表格ID的吗? ...

1  根据TAC Lite权限排除选项卡  ( Exclude tabs based on tac lite permissions ) 
我目前正在使用TAC Lite来授予整个网站的个人编辑权限。如果用户可以访问编辑特定节点,则会出现"编辑" 选项卡,如果它们没有看到选项卡。但是,我还有启用工作流程和修订模块,并在每个页面上显示工作流和修订选项卡,这意味着特定的用户能够将内容移动到其他州(但无法编辑它。) 这是由于具有3个角色 - 作者,编辑和发布者...

2  form_alter正确的编码问题  ( Form alter correct coding question ) 
function MYMODULE_form_views_exposed_form_alter(&$form, $form_state) { if ($form['#id'] == 'views-exposed-form-search-page-1') { $form['submit']['#value'] ...

1  “最受欢迎”的观点  ( Most popular view ) 
我创建了一个假设在我网站上列出的5个最受欢迎的故事的视图,因此我按节点统计信息排序:总视视图,并在过滤器中包含多种内容类型。只有问题是视图只检查所选的第一个内容类型中的故事并忽略所有其他内容。有什么我做错了吗? 以下是视图的导出: $view = new view; $view->name = 'popular'...

3  公开的过滤器呈现为自动完成,但我需要一个选择字段  ( Exposed filter render as autocomplete but i need a select field ) 
我有一个使用这些过滤器的审核队列: 已发布:否 内容类型:xxxx 作者UID:暴露 drupal将公开的过滤器呈现自动完成,但我需要使用SELECT字段。是否有可能? ...

3  根据CCK中的共享字段声明的当前节点类型选择分类学父ID  ( Select a taxonomy parent id based on the current node type for shared field decl ) 
我有一个分类词汇表,下面的大规模: *Property Type -Commercial -Office -Building -Warehouse -Residential -Villa -Apartment -Penthouse 我有两个内容类型的属性...

2  jQuery对话框,将HTML传递给对话框  ( Jquery dialog passing html to dialog ) 
我正在寻找一种将html传递给jQuery对话框的方法。没有成功。 我尝试: Drupal.jqui_dialog.html(messages); 和 Drupal.jqui_dialog.open({ data : messages }); ...




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


Licensed under cc by-sa 3.0 with attribution required.