Insert view + CCK

Прислано: seaji

сб, 16/12/2006 - 15:17

Другие статьи по теме:

С помощью модуля Views можно создавать свои списки документов, выбирать отображаемые поля и производить фильтрацию по различным параметрам. Существует еще один модуль "Insert view" который работает как фильтр и позволяет вставлять созданные виды в любую ноду, использует формат тэгов [view:name].
Грабли в том, что эта вставка не работает для типов документов, созданных с помощью CCK. :(
После поиска по форумам drupal.org я пришел к выводу, что осуществить вставку вида в ноду CCK можно только используя PHP код, но конкретного решения я так и не нашел.
Пришлось код придумывать самому, вот решение:

<?php
print theme_view ($view_name$limit=NULL$use_pager=NULL$type'embed'$view_args=array())
?>

$view_name - имя вставляемого вида
$limit - ограничение на количество документов
$use_pager - использовать или нет разбивку на страницы (true/false)
$view_args - массив аргументов, передаваемых виду

естественно формат ввода PHP code

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Dan в вс, 17/12/2006 - 16:30.

Долго думал? :)))

А я думал это стандартный код помещения вида на страницу.
Можно кстати короче:

<?php
print theme_view ('view name'NULLNULL'embed', array());
?>

Ещё вариант:

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


Опубликовано seaji в пн, 18/12/2006 - 09:58.

Не, над кодом думал не долго.
Долго думал, почему у меня вместо вида на странице впечатывается [view:name].


Опубликовано Dan в пн, 18/12/2006 - 11:39.

Да, такая же фигня была, тоже долго понять не мог - то ли лыжи не едут ....


Опубликовано seaji в пн, 26/05/2008 - 12:16.

UPD: Последняя версия модуля Insert Veiw прекрасно работает с полями CCK.
То, с чем я столкнулся был видимо временный баг.

Если вы не хотите давать всяким разным людям доступ к PHP вводу, а например текст до или после вставленного вида они могут менять, тогда лучше пользоваться фильтром Insert View.


Опубликовано vktRus в пт, 20/02/2009 - 08:54.

А как вставить только картинку?
Я сделал представление с полями:
картинка+заголовок ноды в виде ссылки. Данные брать из каталога Ubercart, в котором помимо картинки и заголовка есть описание товара и кнопки "добавить в корзину".
С помощью Insert View делаю
[view:view_name=1]
и выводится вся нода без фильтрации: заголовок ноды, картинка, описание, кнопка "добавить в корзину".
Как прописать фильтр, используемый в представлении?


Опубликовано fasdalf@fasdalf.ru в пт, 20/02/2009 - 10:53.

Где вы, уважаемый, нашли раритетный дистрибутив дру 4.7 в нашем 2009 году?
Лучше начни новую тему и укажи свою версию друпала и модулей.


Опубликовано cinderella в чт, 19/08/2010 - 11:20.

Не знаю в чем причина у меня этот код не работает, представление не выходит

<?php
$view 
views_get_view('rez_gol_node');
$current_view->args[0]=$node->nid;
print 
views_build_view('embed'$view,$current_view->argsfalsefalse);
?>

Тип докумнтов создан с помощью CCK полей


Опубликовано Dan в пн, 23/08/2010 - 14:26.

Ну ещё бы! Прошло полтора года. Очевидно, что АПИ изменилось.


Опубликовано Mezolick2 в пн, 18/10/2010 - 03: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);
?>

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


Новое на сайте

Ссылки партнёров