views_viewtype_my v0.01
Добавляет 10 дополнительных видов к модулю views
Отображение видов необходимо определить в template.php
Переопределите функцию
function theme_views_viewtype_my_display($view, $nodes, $type, $teasers = FALSE, $links = TRUE)
как Вам нужно в вашем template.php
PS за основу взят хороший модуль views_tabs
Вложение | Размер |
---|---|
views_viewtype_my.zip | 7.71 КБ |
Комментарии
В переопределенной функции theme_views_viewtype_my_display удобно использовать такую фишку: Вывод ноды несколькими видами
Спасибо за дополнительные возможности.
$fields = _views_get_fields();
$content ='';
foreach ($nodes as $node) {
switch ($view->type) {
case 'viewtype_my_1':
$node = node_load($node->nid);
$content .= node_view($node, true, 'my_node_view_1', false);
break;
case 'viewtype_my_2':
$node = node_load($node->nid);
$content .= node_view($node, true, 'my_node_view_2', false);
break;
case 'viewtype_my_3':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_4':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_5':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_6':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_7':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_8':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_9':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_10':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_teaser':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_node':
return views_theme('views_view_nodes', $view, $nodes, $type, true, false);
break;
}
}//foreach
return $content;
}
Дмитрий, Вы могли сказать что я делаю неправильно.
Мне надо чтобы был views который выводил по шаблону отличный от тизера вид
1. я в template.php вставляю эту функцию
<?phpfunction theme_viewtype_my_display($view, $nodes, $type, $teasers = FALSE, $links = TRUE) {
$fields = _views_get_fields();
$content ='';
foreach ($nodes as $node) {
switch ($view->type) {
case 'viewtype_my_1':
$node = node_load($node->nid);
$content .= node_view($node, true, 'my_node_view_1', false);
break;.... ?>
только полную версию
2.включаю через админку модуль views_viewtype_my
3.выбираю viewtype_my_1
4.во views в поля вставляю поле тело документа (аннотация)
5. далее у моего типа материала
есть такой шаблон
5.node-prodag_kvartir.tpl.php
<?php <div class="<?php print $node_classes; ?>">
<div class="content clear-block clear"><?php print $content?>
<div class="field-field-price-ob"><?php print "Цена: ". $node->field_price_ob[0]['view']?></div>
<?php if ($page == 0){?>
<?php if ($node->field_vid00[0]['filepath']==null){?>
<div class="multimage-teaser" > <img src = "/files/netufoto.gif" ></div>
<?php }; ?>
<div class="multimage-teaser"> <?php print $node->field_vid00[0]['view'];?></div>
<div><?php print "Этаж: ".$node->field_etag0[0]['view'] ?></div>
<div><?php print "Этажей: ".$node->field_etagnost[0]['view']?></div>
<div><?php print "Количество комнат: ".$node->field_kolvokomnat0[0]['view'] .$node->field_raspolog_komnat[0]['view'] ?></div>
<div><?php print "Площадь ".$node->field_pl_obshaya0[0]['value']."/".$node->field_field_pl_gilaya0[0]['value']."/".$node->field_pl_kuhnya0[0]['value']." m²"?></div>
<div class="nedvigimost .field-field-price-ob"><?php print "Цена: ". $node->field_price_ob[0]['view']?></div>
Код: <?php print $title?> <a href="<?php print $node_url?>"><?php print подробнее ?></a>
</div> <?php }; ?>
<strong><?php elseif($page!=1 && $page=='my_node_view_1'){?>
<div class="nedvigimost .field-field-price-ob"><?php print "Цена: ". $node->field_price_ob[0]['view']?></div>
<?php}?> </strong>
<div><span class="broker_name">Брокер: <?php print l($node->name, "user/". $node->uid);?></span></div>
</div> ?>
вставляю в него выделенный фрагмент т.е. должен быть список цен по факту выводится термины таксаномии более того перстаёт работать полный вид.
Что делаю не так ?
Попробуйте вставить в template.php этот код:
<?php
return $content;
function theme_views_viewtype_my_display($view, $nodes, $type, $teasers = FALSE, $links = TRUE) {
$fields = _views_get_fields();
foreach (
$nodes as $node) {switch (
$view->type) {case 'viewtype_my_1':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case
'viewtype_my_2':return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_3':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_4':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_5':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_6':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_7':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_8':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_9':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_10':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_teaser':
return views_theme('views_view_nodes', $view, $nodes, $type, false, false);
break;
case 'viewtype_my_node':
return views_theme('views_view_nodes', $view, $nodes, $type, true, false);
break;
}
}//foreach
}
?>
а в node-prodag_kvartir.tpl.php
пропишите как будет отображаться нода при page==1
<?php if ($page == 0){?>
...
<?php elseif($page!=1 && $page=='my_node_view_1'){?>
...
<?php else {?>
вот здесь
Здравствуйте, Dimm.
У меня есть проблема в оформлении блока и страницы, созданной во вьюс. Создала тему http://www.drupal.ru/node/30370.
Скажите, пожалуйста, ваш модуль может решить мою проблему?
P.S. Пробовала ставить модуль, но ничего не вышло(скорее всего не так что-то делаю).
Node displays
http://drupal.org/project/nd