Сообщение при создании ноды [Решено]

Аватар пользователя NX-74205 NX-74205 18 мая 2010 в 9:45

Исходя из темы ясно, что требуется после создания некоторого материала вывести пользователю сообщение.
Создал маленький модуль, для этих целей. в нем пишу:

$message = t('perhaps you were looking <a href="nodese">for</a>.', array('nodese' => url('$base_path/wp_search/$node->field_profession[0][\'value\']')));
function greylight_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if ($node['type'] == 'Мой тип ноды' && $op == 'insert') {
    drupal_set_message($message);
  }
}

Как результат страницы создания материала не отображаются. Как решить данную проблему?

Комментарии

Аватар пользователя NX-74205 NX-74205 18 мая 2010 в 10:27

Спасибо. Еще один глупый вопрос

<?php
  $rav = $node->field_profession[0]['value'];
  $var43 = "wp_search/$rav";
$message32 = t('perhaps you were looking for <a href="nodese">Stay Here</a>.', array('nodese' => url($var43)));

function greylight_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if ($node->type == 'video' && $op == 'insert') {
    drupal_set_message($message32);
  }
}

А сообщения все таки не выводяться...

Аватар пользователя graker graker 18 мая 2010 в 10:37

А внутрь условия он попадает? Поставьте там watchdog какой-нибудь.

И что за переменные вне функции хука nodeapi? Это файл модуля?

Аватар пользователя elia elia 18 мая 2010 в 11:23

если мессаг надо выводить после создания ноды, то обрабатывайте не $op = insert, а $op = submit.

Аватар пользователя elia elia 18 мая 2010 в 11:41

"graker" wrote:
У hook_nodeapi нету $op = submit. В пятом Друпале был, в шестом - нету.

Таки да. Так, глядишь, у меня скоро на голове и волос не останется.

"graker" wrote:
И что за переменные вне функции хука nodeapi? Это файл модуля?

+1

Аватар пользователя NX-74205 NX-74205 18 мая 2010 в 18:33

Спасибо. Все решено.

<?php
function greylight_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
$var43 = "wp_search/$node->field_profession[0]['value']";
$message32 = t('perhaps you were looking for <a href="nodese">Stay Here</a>.', array('nodese' => url($var43)));
  if ($node->type == 'videonoderecorder' && $op == 'insert') {
    drupal_set_message($message32);
  }
}