Настроить View на странице

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

Аватар пользователя Lexandro Lexandro 14 июня 2007 в 10:43

Создал страничный View, вставил его на страницы с помощью [view:имя вида].
Но при этом не отображается список страниц внизу (предыдущая,1,2,3,следующая). Если смотреть страницу, на которую View настроен, то все гут.
Как добавить этот пейджер?

Комментарии

Аватар пользователя Lexandro Lexandro 14 июня 2007 в 10:59

Да, указано. Если смотретьименно ту страницу на которую настраивается вид, то все показывается, а если страницу куда вставляю вид - то нет.
Вставляю вид модулем Insert_view.

Аватар пользователя romandor romandor 14 июня 2007 в 11:05

Это фича модуля Insert_view, пейджера там нет, посмотрите документацию к нему.
Вариант выхода: добавте линк на ваш вид под(над) тегом [view:имя вида].

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 14 июня 2007 в 11:15

Вставлять вид можно и напрямую в *.tpl.php:

<?php
$view_name = 'site_photos'; // название вида
$limit = 8; // number of returns - сколько элементов выводить
$view_args = array($node->nid); // если есть аргументы,
// в данном случае передается nid текущего материала
// (грубо говоря, id страницы, куда мы вставляем вид)
// если нет аргументов - ставим $view_args = array();
$view = views_get_view($view_name);
print views_build_view('embed', $view, $view_args, FALSE, $limit);
?>

Не помню, кажется, "пагинатор" в таком случае работает.
Вставляем несколько видов на страницу - и модуль panels не нужен. Smile

Аватар пользователя Lexandro Lexandro 14 июня 2007 в 11:16

т.е. ссылку на страницу, где все отображается? Это не выход. Страница становится очень большой. Надо именно пейджер добавить.

Аватар пользователя Lexandro Lexandro 14 июня 2007 в 11:55

Поясните, плз, что значит "линк на ваш вид". Адрес страницы, на которую вид настроен? Вставить просто в тегах "а" или как?

Аватар пользователя Dimm Dimm 14 июня 2007 в 16:27

print views_build_view('embed', $view, $view_args, FALSE, $limit); - без разбиения на страницы.
print views_build_view('embed', $view, $view_args, TRUE, 10); - и будет вам по 10 на страницу.

Аватар пользователя Dimm Dimm 14 июня 2007 в 18:40

Код вызова View вставляешь в файл node-"имятипаданных".tpl.php (например node-page.tpl.php, node-class.tpl.php) и при обращении к странице этого типа данных будет вызван View.
<?php
if($page){
// load the context-node's 'metadata'
global $current_view;
// * define the context-node's NID as the argument
$current_view->args[0]=$node->nid;
// * select the name of the view to embed as $view1
$view1 = views_get_view('class_products');
// * define this section for CSS
print '

';
// * display a subtitle for the view section
//print '

' . t($node->title . ' Класс продукции') . '

';
// send $args to the View's Argument Handler and display $view1 in the context-node
print (views_build_view('embed', $view1, $current_view->args, true, $view1->nodes_per_page));
print '

';
}
?>

Аватар пользователя Lexandro Lexandro 15 июня 2007 в 8:57

Вид настроен для стандартного типа данных page.
А как сделать, чтобы это применялось только к определенным страницам (по именам)?

Аватар пользователя Mezolick2 Mezolick2 18 октября 2010 в 7:35

Подскажите пожалуйста.
Создаю ноду и вид с аргументом. По путям: taxonomy/term/11 и taxonomy/term/10 выдает то, что нужно.
Теперь, мне нужно в разные ноды вывести эти виды. В одну ноду вьюху taxonomy/term/11, а в другую соответсвенно
taxonomy/term/11.
Я делаю вот так:


<?php
  $myvid 
views_get_view('personality');
  
$ar = array('tid'11);
  
$myvid->set_arguments($ar);
  
$myvid->set_items_per_page(0);
  print 
$myvid->render('default');
?>

Пробовал вот так:


<?php
  $myvid 
views_get_view('personality');
  
$ar = array();
  
$ar[] = $term->tid;
  
$myvid->set_arguments($ar);
  
$myvid->set_items_per_page(0);
  print 
$myvid->render('default');
?>

<?php
$view 
views_get_view('personality');
print 
views_build_view('embed'$view, array('11'), FALSE20);
?>

Но не получается. Что я делаю не так?