Исходя из темы ясно, что требуется после создания некоторого материала вывести пользователю сообщение.
Создал маленький модуль, для этих целей. в нем пишу:
$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);
}
}
function greylight_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
if ($node['type'] == 'Мой тип ноды' && $op == 'insert') {
drupal_set_message($message);
}
}
Как результат страницы создания материала не отображаются. Как решить данную проблему?
Комментарии
$node - это объект.
Спасибо. Еще один глупый вопрос
$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);
}
}
А сообщения все таки не выводяться...
http://ru.php.net/manual/en/language.variables.scope.php
А внутрь условия он попадает? Поставьте там watchdog какой-нибудь.
И что за переменные вне функции хука nodeapi? Это файл модуля?
если мессаг надо выводить после создания ноды, то обрабатывайте не $op = insert, а $op = submit.
У hook_nodeapi нету $op = submit. В пятом Друпале был, в шестом - нету.
Таки да. Так, глядишь, у меня скоро на голове и волос не останется.
+1
Спасибо. Все решено.
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);
}
}