Показ тизеров в несколько колонок

Прислано: Gerasimovjazz@gmail.com

чт, 26/07/2007 - 09:04

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

Подскажите пажалста как мне организовать вывод тизеров с графическими файлами и несколькими полями так, как показано на приложенном рисунке.

Комментарии


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

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано coil в чт, 26/07/2007 - 09:51.

модуль CCK + Views
хотя если поправить images то можно и им


Опубликовано Gerasimovjazz@g... в чт, 26/07/2007 - 11:14.

а поконкретнее можно. я так и думал, что ответы будут носить такой характер. вы б ещё в handbook посоветовали заглянуть =)


Опубликовано alexweb в чт, 26/07/2007 - 12:49.

можно вполне себе обойтись и без cck
нужно поставить views и views_bonus_pack модули.
http://drupal.org/project/views_bonus

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


Опубликовано alexweb в чт, 26/07/2007 - 12:50.

хотя да.... без ССК наверное не обойтись


Опубликовано kiev1 в чт, 26/07/2007 - 14:26.

тут дело не в друпале - надо просто придумать какой-то хитрый нтмл шаблон - наверно на дивах


Опубликовано Gerasimovjazz@g... в чт, 26/07/2007 - 20:53.

Да пробовал всё описанное на drupal.org (там всего один вариант решения — именно его и использовал). ССК для создания дополнительных полей я использую и так. Но вот как заставитьь эти несколько полей отображаться в несколько колонок ума приожить не могу... =)


Опубликовано mixey в сб, 04/08/2007 - 11:09.

Думаю надо делать темы для View результатов (сам еще не делал - буду поззже)

И результаты на дивах сделать...


Опубликовано mixey в сб, 04/08/2007 - 22:20.

Вот что у меня получилось. Вариант тестовый, так что без притензий :)

в template.php

<?php
function phptemplate_views_view_list_VIEWNAME($view$nodes$type) {
  
$fields _views_get_fields();

  
$taken = array();

  
// Set up the fields in nicely named chunks.
  
foreach ($view->field as $id => $field) {
    
$field_name $field['field'];
    if (isset(
$taken[$field_name])) {
      
$field_name $field['queryname'];
    }
    
$taken[$field_name] = true;
    
$field_names[$id] = $field_name;
  }

  
// Set up some variables that won't change.
  
$base_vars = array(
    
'view' => $view,
    
'view_type' => $type,
  );

  foreach (
$nodes as $i => $node) {
    
$vars $base_vars;
    
$vars['node'] = $node;
    
$vars['count'] = $i;
    
$vars['stripe'] = $i 'even' 'odd';
    foreach (
$view->field as $id => $field) {
      
$name $field_names[$id];
      
$vars[$name] = views_theme_field('views_handle_field'$field['queryname'], $fields$field$node$view);
    }
    
$output .= _phptemplate_callback('views-list-search_range'$vars);
  }
  if(
$output) {
      
$output "<div id=\"products_container\">".$output."</div>";
      return 
$output;
  }
}
?>

В views-list-VIEWNAME.tpl.php

<?php
<div id="product_holder">
    <
table width="100%" border="0" cellspacing="0" cellpadding="0">
      <
tr>
        <
td colspan="2"><?php print $field_pictures_fid?>
<?php print $title;?> <?php print $name?> <?php print $field_price_value?>

?>

ну и в CSS

div#product_holder {
	padding: 10px 10px 10px 10px;
	width:200px;
	float:left;
}


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