[РЕШЕНО] Отправка xmpp правилом rules

Главные вкладки

Аватар пользователя zaus@drupal.org zaus@drupal.org 23 августа 2010 в 5:45

Делаю отправку xmpp через xmpphp по правилу rules. Возник вопрос, как в сообщение вставить данные полей CCK текущей ноды? Там есть шаблоны ([node:field_fio-raw],[node:field_fio-formatted] и т.д.) Как эти данные вставить в php?
Вод мой код

<?php
include 'XMPPHP/XMPP.php';

$conn = new XMPPHP_XMPP('jabber.ru'5222'user''pass''xmpphp''jabber.ru'$printlog=false$loglevel=XMPPHP_Log::LEVEL_INFO);

try {
    

$conn->connect();
    
$conn->processUntil('session_start');
    
$conn->presence();
    
$conn->message('zausev@qip.ru''Сообщение с сайта');
    
$conn->disconnect();
} catch(
XMPPHP_Exception $e) {
    die(
$e->getMessage());
}
?>

Вставлял так:

<?php
$fam 
$node'[node:field_fio-raw]'
...
$conn->message('zausev@qip.ru'$fam);
?>

В php мало понимаю Sad
Кто может помочь?

Комментарии

Аватар пользователя vitg vitg 23 августа 2010 в 6:06

"<a href="mailto:zaus@drupal.org">zaus@drupal.org</a>" wrote:
Там есть шаблоны ([node:field_fio-raw],[node:field_fio-formatted] и т.д.) Как эти данные вставить в php?

Если шаблоны == поля, то ответ на вопрос примерно такой:

$nid - id требуемой ноды

...
$node = node_load ($nid);
$fam = $node->field_fio-raw[0][value];
...

Это так, навскидку. Ответ на вопрос.

Бывает полезно для отладки распечатать print_r ($node). Оттуда вся структура видна. Если не получится так, выложите то, что дает print_r ($node).

Аватар пользователя zaus@drupal.org zaus@drupal.org 23 августа 2010 в 15:09

stdClass Object ( [nid] => 64 [type] => str [language] => ru [uid] => 1 [status] => 1 [created] => 1282154400 [changed] => 1282529354 [comment] => 0 [promote] => 0 [moderate] => 0 [sticky] => 0 [tnid] => 0 [translate] => 0 [vid] => 116 [revision_uid] => 1 [title] => 83432580021 [body] => [teaser] => [log] => [revision_timestamp] => 1282529354 [format] => 1 [name] => admin [picture] => [data] => a:4:{s:9:"xmpp_user";a:4:{s:6:"launch";i:0;s:3:"jid";s:13:"zausev@qip.ru";s:8:"password";s:10:"";s:8:"resource";s:4:"Home";}s:22:"messaging_xmpp_offline";s:1:"0";s:17:"messaging_default";s:4:"xmpp";s:13:"form_build_id";s:37:"form-29942d8a33c5fbda611ff827766c41c2";} [field_city] => Array ( [0] => Array ( [value] => Екатеринбург ) ) [field_postindex] => Array ( [0] => Array ( [value] => 620010 ) ) [field_state] => Array ( [0] => Array ( [value] => Свердловская Область ) ) [field_street] => Array ( [0] => Array ( [value] => Дагестанская ) ) [field_house] => Array ( [0] => Array ( [value] => 2 ) ) [field_flat] => Array ( [0] => Array ( [value] => ) ) [field_fio] => Array ( [0] => Array ( [value] => ryfvcxvxc ) ) [field_act] => Array ( [0] => Array ( [value] => ) ) [field_ok] => Array ( [0] => Array ( [value] => ) ) [field_nocall] => Array ( [0] => Array ( [value] => ) ) [path] => content/83432580021 [last_comment_timestamp] => 1282158663 [last_comment_name] => [comment_count] => 0 [page_title] => [taxonomy] => Array ( ) [files] => Array ( ) )
вот что вывел

Аватар пользователя zaus@drupal.org zaus@drupal.org 23 августа 2010 в 6:35

Заработало!!

<?php
include 'XMPPHP/XMPP.php';
$fam $node->field_fio[0][value];
$conn = new XMPPHP_XMPP('jabber.ru'5222'user''pass''xmpphp''jabber.ru'$printlog=false$loglevel=XMPPHP_Log::LEVEL_INFO);

try {
    

$conn->connect();
    
$conn->processUntil('session_start');
    
$conn->presence();
    
$conn->message('zausev@qip.ru'$fam);
    
$conn->disconnect();
} catch(
XMPPHP_Exception $e) {
    die(
$e->getMessage());
}
?>