После того как Вы создали Views нужно позаботиться о том, чтобы посетитель сайта смог его увидеть. Для этого можно прямо в настройках Views указать название ссылки в меню или, дав ему имя, сделать на этот адрес гиперссылку в любом удобном месте. Но что делать, если кроме результатов работы Вашего Views, на странице должна быть выведена и другая информация. Тогда можно при создании этой страницы для вывода на экран Views в заданном месте использовать следующий сниппет:
/* В следующей строке введите имя выводимого Views,
как оно выглядит на /admin/build/views */
$view_name = "ArticlesInVocabulary1";
/* В следующей строке можно указать имя представления (display) */
print views_embed_view($view_name, 'default');
?>
Другой вариант:
$view = views_get_view('имя_вьювса');
print $view->preview('default');
?>
Можно передать аргументы:
print views_embed_view('имя_вьювса', 'page1', $аргумент1, $аргумент2);
?>
или через массив:
$args = array(аргумент1, аргумент2, ... );
$view = views_get_view('имя_вьювса');
print $view->preview('default', $args);
?>
Комментарии
Попробовал, что-то не
Попробовал, что-то не работает. Это для Друпал 6?
Да, это для Друпал 6. Сейчас
Да, это для Друпал 6. Сейчас попробовал еще раз. Вставил в страницу именно этот текст, не изменяя ни символа. Работает.
В первой строке кода нужно точно указать имя вашего конкретного Views'а, который будет выведен на странице. Т.е. подставить его вместо "ArticlesInVocabulary1". Да, и формат ввода должен быть "PHP code".
Все варианты
Все варианты работают.
Проблема возникает дальше. Если выводишь несколько view на одну страницу, то те поля которые выведены в предыдущем, в следующем уже не выводятся.
Например,последние 5 статей,и самые просматриваемые 5 статей. Если записи второго пересекается с первым, то во втором они не выводятся.
Или как частный случай - невозможно вывести одно и тоже представление (или первые его N записей) дважды.