Перейти к содержимому


Отображение описания подкатегорий в основ. категории

категории

  • Вы не можете ответить в тему
Сообщений в теме: 6

#1 lokitoki

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 20 сообщений
Репутация: 0
Начинающий

Отправлено 25 December 2012 - 11:52 PM

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

Что то типо такого.
Изображение

пока только получается тупо в строку, а хочется именно как подкатегории до ходят до края страницы следующие отображаются на новой строке и так далее

вот код
{if $catrescur}
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<td>
{section name=r loop=$catrescur}
{if $catrescur[r][3] != ""}
{if $smarty.const.CONF_MOD_REWRITE eq 1}
{assign var="tlink" value=" <a href='category_`$catrescur[r].categoryID`.html'>`$catrescur[r].name`</a>"}
{else}
{/if}

   {if $catrescur[r].picture}<td><a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}category_{$catrescur[r].categoryID}.html{else}index.php?categoryID={$catrescur[r].categoryID}{/if}"><center style="font-size:18px">{include file="header.tpl.html" header=$tlink}</center><img src="data/category/{$catrescur[r].picture}" alt="{$catrescur[r].name}" title="{$catrescur[r].name}" align="left" style="margin: 0px 6px 6px 0px;"></a></td>{/if}{$catrescur[r].description}
{/if}
{/section}</td>
</table>
{/if}
подскажите пжлста.
  • 0

#2 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 26 December 2012 - 12:08 AM

Наиболее просто строить желаемое с помощью тегов <table><tr><td>. Т.е. таблица, где есть строки и элементы строк. Но таким образом Вы получите красивую табличку подкатегорий только при конкретном разрешении. Ну а дальше начинаются пляски с категориями. Например, можно строить это самое <table><tr><td> используя javascrypt и исходя из текущего разрешения монитора по ширине.

Лично я так пока и не понял, когда элементы располагаясь в центральном блоке ShopCMS переносятся при достижении края центрального блока на следующую строку (например, как текст в любом модуле с текстом), а когда не переносятся и растягивают экран по ширине.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#3 lokitoki

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 20 сообщений
Репутация: 0
Начинающий

Отправлено 26 December 2012 - 12:53 AM

Мм, а как в моем примере сделать статику 4 подкатегории в строку потом перенос и опять 4?
  • 0

#4 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 26 December 2012 - 02:16 AM

Мм, а как в моем примере сделать статику 4 подкатегории в строку потом перенос и опять 4?

Есть несколько вариантов
1. Можно использовать индекс в цикле
Т.е. в цикле
{section name=r loop=$catrescur}

Есть индекс "r"
вот и ставим условие

{if $catrescur.r.index eq 3}</tr><tr>{/if}
но при этом если строк несколько то нужно будет писать несколько таких условий

{if $catrescur.r.index eq 3 or $catrescur.r.index eq 6}</tr><tr>{/if}
и т.д.

2-й Вариант использовать счетчик как сделано в блоке "Обзор категорий" и проверять кратность.
до цикла ставим
{counter name='s1' start=-1 skip=1 print=false assign='select_counter_var'}
в цикле перед строкой ставим
{counter name='s1'}
{if ($select_counter_var) is div by 3}<tr>{/if}
после строки ставим
{if ($select_counter_var+1) is div by 3}</tr>{else}
<td><img src="data/{$smarty.const.TPL}/pixel.gif" class="delim" alt=""></td><td><img src="data/{$smarty.const.TPL}/pixel.gif" class="delim" alt=""></td>{/if}

Ну и последний вариант, если дизайн фиксированный можно обойтись без таблицы, а сделать дивы фиксированной ширины в 33%, и поставим им
float:left

  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 26 December 2012 - 03:08 AM

но при этом если строк несколько то нужно будет писать несколько таких условий

Неа.

{if $smarty.section.r.iteration % 4 == 1}</tr><tr>{/if}

  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 26 December 2012 - 07:30 AM

Неа.


Да я вот собственно подумал а что мешает опять же кратность использовать?
{if ($catrescur.r.index) is div by 3}</tr><tr>{/if}

  • 0

#7 lokitoki

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 20 сообщений
Репутация: 0
Начинающий

Отправлено 26 December 2012 - 10:32 AM

badisoft,R.Sergey, Спасибо!

R.Sergey, Понравился второй способ, уже использую! Отдельное вам спасибо!
  • 0