使用参数创建节点 -- 7 领域 和 nodes 领域 和 forms 领域 drupal 相关 的问题

Node creation with parameters


简体版||繁體版
4
vote

问题

中文

我有一种表单,当提交和验证时,需要重定向到页面以创建节点(节点/添加/ factura-tmn),但我想向此页面发送参数。是否有可能?

我目前有以下代码:

  function add_invoice_file_form_submit($form, &$form_state) {   $form_state['redirect'] = 'node/add/factura-tmn';   drupal_redirect_form($form_state); }   
english

I have a form that when submitted and validated, needs to be redirected to a page to create a node (node/add/factura-tmn), but I want to send a parameter to this page. Is it possible?

I currently have the following code:

function add_invoice_file_form_submit($form, &$form_state) {   $form_state['redirect'] = 'node/add/factura-tmn';   drupal_redirect_form($form_state); } 
        

回答列表

1
 
vote

为什么不仅使用修改后的节点添加表单?您可以将其更改为您想要的任何字段和验证。

 

Why not just use a modified node add form? You can change it to have whatever fields and validation you want.

 
 
     
     
1
 
vote
vote
最佳答案
 
索尔索非常简单:
  function add_invoice_file_form_submit($form, &$form_state) { // files validations... ...   $form_state['redirect'] = 'node/add/factura-tmn/' . $fid;   drupal_redirect_form($form_state); }   function paperless_planning_form_node_form_alter(&$form, $form_state, $form_id) {     if(isset($form['type']) && isset($form['#node'])) {         $type = $form['#node']->type;         switch($type) :             case 'factura_tmn':                 $fid = arg(3);                 $file = file_load($fid);                 ...         endswitch;     } }   
 

the solucion is very simple:

function add_invoice_file_form_submit($form, &$form_state) { // files validations... ...   $form_state['redirect'] = 'node/add/factura-tmn/' . $fid;   drupal_redirect_form($form_state); }   function paperless_planning_form_node_form_alter(&$form, $form_state, $form_id) {     if(isset($form['type']) && isset($form['#node'])) {         $type = $form['#node']->type;         switch($type) :             case 'factura_tmn':                 $fid = arg(3);                 $file = file_load($fid);                 ...         endswitch;     } } 
 
 
0
 
vote

如果要处理表单,则可以使用 drupal_form_submit()。文档页面中报告的示例显示了如何使用该函数。

  // Register a new user. $form_state = array(); $form_state['values']['name'] = 'robo-user'; $form_state['values']['mail'] = 'robouser@example.com'; $form_state['values']['pass']['pass1'] = 'password'; $form_state['values']['pass']['pass2'] = 'password'; $form_state['values']['op'] = t('Create new account'); drupal_form_submit('user_register_form', $form_state);   

在表单提交处理程序中,没有必要调用 drupal_redirect_form() ;代码只需要设置 $form_state['redirect'] 。请参阅窗口提交处理程序所做的内容,例如 system_modules_submit(), aggregator_form_opml_submit(),和 comment_multiple_delete_confirm_submit()

 

If you want to process a form, you can use drupal_form_submit(). The example reported in the documentation page shows how to use the function.

// Register a new user. $form_state = array(); $form_state['values']['name'] = 'robo-user'; $form_state['values']['mail'] = 'robouser@example.com'; $form_state['values']['pass']['pass1'] = 'password'; $form_state['values']['pass']['pass2'] = 'password'; $form_state['values']['op'] = t('Create new account'); drupal_form_submit('user_register_form', $form_state); 

Inside a form submission handler, it's not necessary to call drupal_redirect_form(); the code just need to set $form_state['redirect']. See what is done from form submission handlers implemented by Drupal core modules, such as system_modules_submit(), aggregator_form_opml_submit(), and comment_multiple_delete_confirm_submit().

 
 

相关问题

6  是否有相当于表单编辑的视图模式?  ( Is there an equivalent of view modes for form editing ) 
我有一个包含很多字段的内容类型。最终用户需要创建此类型的内容,因此我想以简化的形式提供它们,以便他们可以在不知道大多数选项的情况下创建内容项并编辑它。然后那些想要潜入复杂性的人可以有一种先进的形式,它暴露了它们。 查看模式看起来像我想要做的那种东西,所以我使用 hook_entity_info_alter 来创建自定...

2  Drupal的Multiboad Filefield小部件是否提供了表单API元素?  ( Does multiupload filefield widget for drupal provides a form api element ) 
我有一个表单在我的drupal页面上,使用multiboad filefield窗口小部件一次上传多个图像。 我想使用hook_form_alter从我的自定义模块改变此多层文件域窗口小部件的功能。 起初我认为它将是 managed_file 小部件。但它不是。 有没有办法做到这一点? ...

0  更改用户注册中的用户名字段的描述  ( Change the description for username field in user registration ) 
我想禁用用户名中的空格。因为我安装了一个规则模块,我应用了一个规则。一切都很好,但现在标签仍然在说: "Spaces are allowed; punctuation is not allowed except for periods, hyphens, apostrophes, and underscores." ...

6  Ajax表单 - 替换#default_value不起作用  ( Ajax form replacing default value not working ) 
我有一个ajax形式。触发按钮时,我要更新文本字段的文本。但这不起作用。我的表格如下: <?php function my_form($form, &$form_state) { $form['ask_first_name'] = array( '#type' => 'textfield', ...

4  使用参数创建节点  ( Node creation with parameters ) 
我有一种表单,当提交和验证时,需要重定向到页面以创建节点(节点/添加/ factura-tmn),但我想向此页面发送参数。是否有可能? 我目前有以下代码: function add_invoice_file_form_submit($form, &$form_state) { $form_state['red...

3  如何将表单元素值输出为文本?  ( How to output form element values as text ) 
在节点编辑表单上,我想使某些字段由所有用户不可编辑,但存储在其上的值在表单上可见。我的思想是要将它们作为文本而不是HTML表单元素打印出来。什么是完成此目的的最佳方式? 要提供一些上下文,这些值通过迁移填充,不应在网站上编辑。 ...

0  用户注册默默地失败 - 如何调试?  ( User registration silently fails how to debug ) 
在我们的Drupal 7站点上,用户注册默默地失败。 Drupal甚至没有达到表格的验证函数。 我们检查了什么: 禁用JavaScript没有帮助。 删除与注册相关的安装模块,例如:logintoboggan,user_registrationPassword没有帮助。 错误日志显示。 用户模块当然是启用,人们...

0  如何更改节点表单上的菜单父选项列表?  ( How to alter menu parent select list on node form ) 
我想修改选择列表以选择菜单父级以用于创建节点(从菜单选项卡)。我正在寻找 $form 变量,但我没有看到此列表数据。如何更改此选择列表? ...

1  如何在hook_node_load()中添加表单到$节点?  ( How to add a form to node in hook node load ) 
我想在传递到主题层之前向节点添加表单。 我的模块有一个 hook_node_load < / a>,如下: function gp_shop_node_load($nodes, $types) { foreach($nodes as $nid => $node) { //Determine if w...

1  用户提交的业务多个方面的回顾?  ( User submitted reviews of multiple aspects of a business ) 
我的网站是基于业务的用户提交的评论。我希望用户评价不同的方面和amp;而不是仅仅是一个整体评级。业务提供的服务。例如,我希望他们以"非常无益" 的规模来评价"员工" ,以"非常有帮助" ,"服装质量" 为1-10。我理想情况下也希望用户可以进入的表格领域,例如他们在商店度过了多少。 为用户填写的审查表单创建审查表的...




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