用户传递表单提交后重定向 -- 8 领域 drupal 相关 的问题

Redirect after user pass form submit


1
vote

问题

中文

我正在尝试在击中Drupal 8重置密码表单中击中提交按钮后进行重定向。

我使用 theme_form_alter 钩子和函数作为新的提交操作。问题是,重定向工作但没有发送电子邮件。 如果我取消注释新提交挂钩的行,则邮件被发送,而是当然没有重定向。

  function theme_form_alter(&$form, &$form_state, $form_id) {   if($form['#form_id'] == 'user_pass') {     $form['actions']['submit']['#submit'][] = 'user_pass_redirect';   } }  function user_pass_redirect(&$form, $form_state) {   $url = DrupalCoreUrl::fromRoute('entity.node.canonical', [     'node' => '87',   ]);   $form_state->setRedirectUrl($url); }   

我对 contact_message_personal_form 表单做出了完全相同的事情,它有效。

所以,我不知道 contact_message_personal_form user_pass 没有工作。

感谢您的帮助

英文原文

I'm trying to do a redirect after hitting the submit button in a Drupal 8 reset password form.

I use the theme_form_alter hook and a function as a new submit actions. The problem is, that the redirect works but no email is send. If I uncomment the line for the new submit hook the mail is send but of course there is no redirect.

function theme_form_alter(&$form, &$form_state, $form_id) {   if($form['#form_id'] == 'user_pass') {     $form['actions']['submit']['#submit'][] = 'user_pass_redirect';   } }  function user_pass_redirect(&$form, $form_state) {   $url = \Drupal\Core\Url::fromRoute('entity.node.canonical', [     'node' => '87',   ]);   $form_state->setRedirectUrl($url); } 

I'm doing exactly the same thing for the contact_message_personal_form form and it works.

So, I have no idea why that happens for the contact_message_personal_form and the user_pass has isn't working.

Thanks for your help

  

回答列表

1
 
vote
vote
最佳答案
 

我发现了一个解决方案。我将输出与user_pass $ form和contact_message_personal_form $ form变量进行比较。
我的问题是,我的 $form['actions']['submit']['#submit'] 数组是空的。所以我添加了缺失的' 99887661 '参数 一切都有效。

  function module_form_alter(&$form, $form_state, $form_id) {   if($form['#form_id'] == 'user_pass') {     $form['actions']['submit']['#submit'][] = '::submitForm';     $form['actions']['submit']['#submit'][] = 'user_pass_redirect';    } }  function user_pass_redirect(&$form, $form_state) {   $url = DrupalCoreUrl::fromRoute('entity.node.canonical', [     'node' => '87',   ]);   $form_state->setRedirectUrl($url); }   

我不知道为什么我的变量为空,但这适用于我。

 

I found a solution. I compared the output from a dump of user_pass $form and contact_message_personal_form $form variable.
My problem was, that my $form['actions']['submit']['#submit'] array was empty. So I added the missing '::submitForm' parameter and everything works.

function module_form_alter(&$form, $form_state, $form_id) {   if($form['#form_id'] == 'user_pass') {     $form['actions']['submit']['#submit'][] = '::submitForm';     $form['actions']['submit']['#submit'][] = 'user_pass_redirect';    } }  function user_pass_redirect(&$form, $form_state) {   $url = \Drupal\Core\Url::fromRoute('entity.node.canonical', [     'node' => '87',   ]);   $form_state->setRedirectUrl($url); } 

I have no idea why my variable was empty but this works for me.

 
 

相关问题

0  汇总CSS的问题  ( Problems with aggregated css ) 
我在本地开发和远程测试环境上激活了聚合CSS,没有任何问题。现在正在暂存CSS文件的聚合导致麻烦:在某些页面上的样式看起来正确,但随机页面它完全破碎。 HTML有时会显示: <link rel="stylesheet" href="/?p0upgh" media="all" /> <link rel="style...

0  查询条件串联  ( Query condition concatenation ) 
我可以直接在mysql ... GEOID + '-' + NAME IN ('01005-Barbour', '01007-Bibb') 但是当我尝试使用数据库API执行此操作时... $query->condition("s.STUSPS + '-' + c.NAME", $counties, ...

1  WebForm Subsumform Hook  ( Webform submitform hook ) 
我正在使用drupal 8和webform ::errorElement()5 。我有一个使用ajax的多步表单,启用了5页。 我需要改变确认消息,但我还无法弄清楚。我想要实现的是根据最后一个问题所选的某些表单值来更改消息。我创建了一个自定义模块并扩展了 ::errorElement()6 ,并创建了 ::erro...

0  如何调用CSV资源  ( How to call a csv resource ) 
我有一个解耦的Drupal网站,我想使用CSV序列化模块调用REST资源输出CSV。我还在该特定资源中配置了REST UI以接受CSV。 我尝试用 Content-Type: application/csv ,或 Content-Type: text/csv ,我发送 _format=csv 作为get参数,但唯一的...

1  “将此字段作为自定义链接输出”设置此处链接到内容[已关闭]  ( Output this field as a custom link set here link to the content ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并澄清编辑此帖的问题。 关闭 3年前。 ...

0  将重复字段的所有实例输出在一起  ( Output all instances of a repeating field together ) 
我有段落安装,正在创建具有嵌套段落的内容类型 - 因此有一个标题字段的段落,一个主体字段 - 然后在另一个段落中嵌套,这样我就可以嵌套了多个框这页纸。到目前为止这么好 - 我想学习的是输出字段,所以我可以将它们放在jQuery UI标签中。 在我的模板中我现在有: {{ content.field_tab_tit...

2  Drupal 8规则和媒体  ( Drupal 8 rules and media ) 
我想在内容发布时发布与内容相关联的媒体。 是有可能的规则吗? 如果是这样,我需要设置的条件是什么? 我所设置的条件是: 节点已发布 - 数据选择器:节点 实体有字段 - 数据选择器:节点,值:field_my_media_field ...

0  如何添加块模板建议?  ( How to add block template suggestions ) 
我希望能够将块或将块放入区域,并根据面板的选定视图模式将其主题为主题。我已经注意到自定义块和实体块之间的差异,其中一个表单为您提供了视图模式,以显示块,而另一个表单没有(自定义块)。 我希望模板建议沿着 block--provider/module--block-bundle--view-mode.html.twig...

4  搜索API eferpt在结果中是空的  ( Search api excerpt are empty in the result ) 
我在Drupal 8中安装了搜索API模块,并在搜索结果中包含摘录。 但摘录在搜索结果中始终为空。 (HTML DIV元素在内但内部没有内容) 我在论坛中搜索,并启用了从建议的设置中的"亮点" 。 但结果没有变化(我清除了缓存) 我错过了什么? ...

11  如何防止块被缓存?  ( How to prevent a block from being cached ) 
登录后。我正在添加一个侧栏块。一旦我清除缓存,那么只有更新变量或它的值。 namespace Drupal est_demoPluginBlock; use DrupalCoreBlockBlockBase; /** * Provides 'Sidebar' Block * * @Block( * ...

2  如何使用Datadefinition :: Create('list')?  ( How to use datadefinitioncreatelist ) 
答案链接到a 所有可能使用的所有类型的列表 DataDefinition::create() 。 可以使用的一个插件是 itemlist 。 但我找不到有关如何定义列表中的项目的任何文档。 我会期待这样的东西: $status_definition = DataDefinition::create('list...

1  如何更改“发布状态”复选框的标签和帮助文本?  ( How do i change the label and help text of the publishing status checkbox ) 
我们最近将我们的网站更新为Drupal 8.4,并且发布节点的小部件已从下拉列表中更改为复选框。现在,如何更改标签和复选框的文本?它无法在字段UI中更改。 ...

3  贡献D8版本的现有D7 Controm项目?  ( Contribute d8 version of an existing d7 contrib project ) 
有人可以介绍如何贡献现有D7 Controm项目的D8版本?我维护D7项目,并进一步想要添加它的D8版本。 我正在努力创建8.x.1.x开发分支。 请分享以下任何引用或步骤。 我的项目链接:检查dns 。 所以当我创建 C:UsersMyusernameAppDataRoamingComposervendordrus...

4  用CKEDITOR包装锚标记的包装内容  ( Wrapping content in anchor tags with ckeditor ) 
我正在尝试在drupal 8安装中的标记中包装html内容块: <a href="/link"><h2>Link 1</h2><h3>Subheader link 1</h3></a> ckeditor将其更改为至: <h2><a href="/link">Link 1</a></h2><h3><a...

0  如何防止在节点上显示特定段落类型(捆绑包)  ( How to prevent display of specific paragraph types bundles on nodes ) 
我有一个包含段落字段的内容类型,该段落具有可用许多段落类型。对于其中一个段落类型,我不希望它在节点中显示它,因为我在使用不同区域中的视图显示它。视图工作很大,但我无法弄清楚如何防止特定段落类型在节点上显示。我尝试使用各种钩子从渲染阵列中删除.Theme,但这也从视图中删除它。我还尝试从节点模板中的段落字段中删除段落类...

0  如何从页面标题中删除“drupal”?  ( How to remove drupal from title of page ) 
现在我有这个: 在这里,我发现了如何将此文本更改为其他文本: https: //www.drupal.org/forum/support/post-installation/2016-09-20/change-site-title-in-drupal-8 我试过: 但它没有帮助。 drupal是8...

3  从段落中引用块插件或表单?  ( Reference a block plugin or form from a paragraph ) 
是否有一种方法来引用自定义表单(用Form API构建)或一个块插件,该插件呈现相同的形式?我只看到了一种方法来引用自定义块(内容)或配置块,而不是两者。如何解决这一场景? ...

0  以节点上的以编程方式重新排列实体引用列表的顺序  ( Programmatically rearrange order of entity reference list on node ) 
我的内容类型有一个节点参考字段,允许用户输入无限量的节点。我需要以编程方式更改此列表中第一个问题。 使用下面的代码,我能够从字段中获取数据。 $node = Drupal::entityTypeManager()->getStorage('node')->load($function); $focus = $no...

4  从简单的Create-React-App制作JSON API请求时,405方法不允许错误  ( 405 method not allowed error when making a json api request from a simple create ) 
以下请求在从localhost:3000的简单创建 - react-app生成的项目运行时不允许使用405方法。我真的需要这个应用程序来运行域外(解耦)。这感觉非常像一个十字发发的问题,但我发送了 X-CSRF-TOKEN 标题令牌,并且配置了Apache,也可以接受标题。 不知道我做错了什么... Hos...

1  如何理解和修复反射不存在错误?  ( How to understand and fix a reflection does not exist error ) 
我正在尝试使用fasefumscriber来添加http标头。在D7中,我将简单地使用 drupal_add_http_header('Content-Type', 'application/javascript'); 但我认为这现在在d8中推出。我一直在谷歌上狩猎几个小时,似乎我现在需要使用enversu...




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


Licensed under cc by-sa 3.0 with attribution required.