Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Как выстроить товары в 2 колонки через smarty?

Как выстроить товары в 2 колонки через smarty?


Например

<ul>
{foreach name=aussen item=module_data from=$module_content}
<li style="float:left;width:50%;">тут содержание</li>
{if $smarty.foreach.aussen.iteration % 2 == 0}</ul><div style="clear:both;"></div><ul>{/if}
{/foreach}
</ul>



{if $smarty.foreach.aussen.iteration % 2 == 0}</ul><div style="clear:both;"></div><ul>{/if}
первый </ul> закрывает список после двух итераций
далее идет <div style="clear:both;"></div> для разделения первых двух блоков от следующих
потом идет открытие <ul> для начала нового списка из двух блоков
и так пока цикл не замкнется.

в результате
<ul>
<li style="float:left;width:50%;">тут содержание</li>
<li style="float:left;width:50%;">тут содержание</li>
</ul>
<div style="clear:both;"></div>
<ul>
<li style="float:left;width:50%;">тут содержание</li>
<li style="float:left;width:50%;">тут содержание</li>
</ul>
<div style="clear:both;"></div>
<ul>
<li style="float:left;width:50%;">тут содержание</li>
<li style="float:left;width:50%;">тут содержание</li>
</ul>
<div style="clear:both;"></div>


в общем тут вариантов море.
можно и не через smarty, а чисто css, можно через php, можно в smarty несколькими способами вывод делать.

http://www.smarty.net/docsv2/ru/
смотреть, например, foreach, cycle...


Попробовал приведенный код. В FF выводит две колонки,  в IE8  - все в одну колонку


Скорее всего нужно сделать там не width:50%;, а например width:49%;


Работает начиная с  width:48%;


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

ul, li {margin:0;padding:0;}
ul {list-style: none;}


тогда будет работать и с 50%. Главное, чтобы не добавлялись padding и margin в отступы по ширине. Иначе там не будет 50% и блоки будут ехать.


Так работает


Источник



Copyright ShopOS