Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 6从提交的表单中获取节点标题_Drupal_Drupal 6_Drupal Modules_Drupal Fapi - Fatal编程技术网

Drupal 6从提交的表单中获取节点标题

Drupal 6从提交的表单中获取节点标题,drupal,drupal-6,drupal-modules,drupal-fapi,Drupal,Drupal 6,Drupal Modules,Drupal Fapi,我正在使用form_alter编辑内容时的提交功能。在我的自定义功能中,我希望用标题名称编辑屏幕上的自定义消息。我想我能做到这一点的方法如下 function mymodule_myfunction(&$form) { drupal_set_message(t('Some text ' . $form['#node']->title)); } 标题未连接到“某些文本” 我在表单中使用以下行调用我的函数: $form['#submit'][] = 'mymodule_myf

我正在使用form_alter编辑内容时的提交功能。在我的自定义功能中,我希望用标题名称编辑屏幕上的自定义消息。我想我能做到这一点的方法如下

function mymodule_myfunction(&$form) {
    drupal_set_message(t('Some text ' . $form['#node']->title));
}
标题未连接到“某些文本”

我在表单中使用以下行调用我的函数:

$form['#submit'][] = 'mymodule_myfunction';

尝试更改您的签名

function mymodule_myfunction(&$form) {
    drupal_set_message(t('Some text ' . $form['#node']->title));
}
致:

还可以尝试安装devel模块,以便执行以下操作

dsm($form);
dsm($form_state);
看看你到底在处理什么

此外,如果您只想在创建“X”类型的新节点时给出一条消息,那么更好的方法是使用

它可能看起来像这样

function modulename_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {

if ($op == 'insert' && $node->type == 'my node  type') {
  drupal_set_message($node-title . ' is cool.');
}
}

尝试更改您的签名

function mymodule_myfunction(&$form) {
    drupal_set_message(t('Some text ' . $form['#node']->title));
}
致:

还可以尝试安装devel模块,以便执行以下操作

dsm($form);
dsm($form_state);
看看你到底在处理什么

此外,如果您只想在创建“X”类型的新节点时给出一条消息,那么更好的方法是使用

它可能看起来像这样

function modulename_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {

if ($op == 'insert' && $node->type == 'my node  type') {
  drupal_set_message($node-title . ' is cool.');
}
}
建议使用dsm$FORM查看变量。未填充节点标题。可以在Post数组中找到它。下面这句话让我可以做我想做的事

drupal_set_message(t('Some Text '.$form['#post']['title']));
建议使用dsm$FORM查看变量。未填充节点标题。可以在Post数组中找到它。下面这句话让我可以做我想做的事

drupal_set_message(t('Some Text '.$form['#post']['title']));

所有提交函数都会获得两个传递给它们的参数:$form,这是对hook\u form\u alter等进行所有调整后的最终表单数组,以及$form\u state,其中包含提交的值,这些值已被清除并检查了范围。例如,如果选择框中有三项,则$form_state['values']中的数据已经确保该输入的值是三个合法值之一

一般来说,您不应该使用$form['post']——它不是获取值的公开方式的一部分,而对核心进行更新以处理FAPI的一些问题可能会破坏您的代码

试试这个:

function mymodule_myfunction($form, &$form_state) {
  drupal_set_message(t('Some Message @title'), 
  array('@title' => $form_state['values']['title'])));
}

请注意该功能的正确使用-该功能的目的是允许其他用户翻译文本,因此通过使用“Some Message@title”,翻译人员可以更多地了解正在发生的事情。此外,通过t函数以这种方式输入的文本也会被输入,从而防止有人对输入进行恶意操作。

所有提交函数都会向其传递两个参数:$form,这是对hook\u form\u alter等进行所有调整后的最终表单数组,和$form_状态,其中的其他值包含已提交的值,这些值已被清除并检查范围。例如,如果选择框中有三项,则$form_state['values']中的数据已经确保该输入的值是三个合法值之一

一般来说,您不应该使用$form['post']——它不是获取值的公开方式的一部分,而对核心进行更新以处理FAPI的一些问题可能会破坏您的代码

试试这个:

function mymodule_myfunction($form, &$form_state) {
  drupal_set_message(t('Some Message @title'), 
  array('@title' => $form_state['values']['title'])));
}

请注意该功能的正确使用-该功能的目的是允许其他用户翻译文本,因此通过使用“Some Message@title”,翻译人员可以更多地了解正在发生的事情。此外,通过t函数以这种方式输入的文本也可以被输入,这样可以防止有人对输入进行恶意操作。

drupal\u set\u messaget'PRISK Project'.$form->title;似乎不起作用。将更新我如何调用函数的问题。drupal_set_messaget'PRISK Project'.$form->title;似乎不起作用。将更新我如何调用函数的问题。请检查$form模块的实际外观。如果安装了devel模块,则可以执行类似于dsm$form的操作来查看该变量。请检查$form模块的实际外观。如果您安装了devel模块,您可以执行类似dsm$form的操作来查看该变量。这是对t函数的不当使用。有关使用@title占位符的详细信息,请参见上面John Fiala的回答。这是对t函数的不当使用。有关使用@title占位符的详细信息,请参见上面John Fiala的回答。使用@sign调用的是什么。我不是一个本地php开发人员,所以如果我知道正确的术语,我可以对这个主题做更多的阅读。好吧,检查一下我用上面的t函数制作的链接,它链接到t的api页面,它说我们称它们为占位符。使用@sign调用的是什么。我不是一个本地php开发人员,所以如果我知道正确的术语,我可以对这个主题做更多的阅读。好吧,检查一下我用上面的t函数制作的链接——链接到t的api页面,上面说我们称它们为占位符。