У меня есть два сайта Drupal, размещенные на разных серверах. В основном они должны работать отдельно, однако у сайта1 есть один конкретный тип контента, который я хотел бы показать в списке на сайте2.Drupal - используя views_embed_view с внешним сайтом Drupal
Я не могу просто использовать фиды для импорта, поскольку оригинал должен оставаться, и если отредактирован, изменения будут мгновенно отражаться на обоих сайтах. Site2 не требует редактирования содержимого - покажите его.
Содержимое уже представлено в списке на сайте1. Список был создан с использованием представлений.
Мое намерение состояло в том, чтобы вызвать представление на сайте2, используя следующий код в пользовательском модуле.
function site2_menu() {
$items = array();
$items['content-from-site1'] = array(
'title' => 'Content from Site1',
'page callback' => 'site_two_list',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function site2_list() {
db_set_active('site1');
$content = views_embed_view('articles', 'default');
db_set_active('default');
return $content;
}
сайт1 DB определен в файле settings.php.
Однако данные не возвращаются. Использование того же подхода на Site1 (без коммутационных БД) отлично работает.
Был ли я чрезмерно оптимистичен в надежде, что этот подход будет работать, или я пропущу что-то очевидное?
Если это вряд ли будет работать, какова будет альтернатива? Я могу сделать свой собственный SQL-запрос, но я бы предпочел использовать представления для встроенных аргументов, разбивки на страницы, шаблоны и т. Д.
Спасибо.
вам нужно использовать iframe для отображения информации site1 на сайте2. –
@ viswanath-polaki - нет необходимости использовать iFrame для отображения информации с одного сайта Drupal в другом. Drupal поддерживает «на лету» изменения БД. Это просто пример правильного синтаксиса. – sagraham