Мультисайтинг и Field API (field_attach_form() не работает с db_set_active() )

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

Аватар пользователя P1ratRuleZZZ P1ratRuleZZZ 19 января 2012 в 10:38

Здравствуйте! Мне необходимо загрузить ноду из другого сайта и темизировать одно из полей.

я делаю так

db_set_active('site_2');

$node = node_load(1); //тут все хорошо

$form = array();
$fs = array();
field_attach_form('node', $node, $form, $fs);  //а вот тут все нехорошо. Друпал берет ноду из дефолтной базы данных текущего сайта и темизирует все поля для ноды номер 1, а не для той, которую я загрузил

db_set_active(); //вернул дефолтную базу

С чем это может быть связано и как бороться?

Комментарии

Аватар пользователя Orion76 Orion76 19 января 2012 в 14:47

А вообще както не айс так вторую БД использовать..
Там же и кэш и объекты , глобальные переменные, variables в памяти..
При вызове api-функций хз что с чем работает..

Надежнее наверное переключиться на вторую бд, сделать запрос, переключиться обратно и формировать вывод..

или модулек написать который будет по определенному запросу ко второму сайту например сериализированный массив ноды отдавать...
или уже отренденную ноду