Цикл вывода товаров в 3 колонки - что исправить? (код)

Grunuk

Участник
Регистрация
18 Янв 2008
Сообщения
192
Реакции
6
Не селен в ПХП((( что нужно исправить форумчане?

PHP:
{* product brief view (from a category or search) *}
{if $product_info ne NULL}
{if $product_info.slug}
{assign var=_product_url value="?ukey=product&productID=`$product_info.productID`&product_slug=`$product_info.slug`"|set_query_html}
{else}
{assign var=_product_url value="?ukey=product&productID=`$product_info.productID`"|set_query_html}
{/if}
{if $widget}{assign var=_form_action_url value="&view=noframe&external=1"}{/if}


<form class="product_brief_block" action='{"?ukey=cart`$_form_action_url`"|set_query_html}' method="post" rel="{$product_info.productID}" {if $widget}target="_blank"{/if}>
    <input name="action" value="add_product" type="hidden">
    <input name="productID" value="{$product_info.productID}" type="hidden">
    <input class="product_price" value="{$product_info.PriceWithOutUnit|escape:'html'}" type="hidden">
    {assign var=_cnt value=''}

таблица, вывод картинки, названия, описание....

</form>
 
Ну тут можно и без php обойтись. Упакуйте форму в слой div ему задайте ширину 33% и позиционирование. Примерно так.
 
А можно в div не залезать? Просто там стилей очень много разных прописано уже, боюсь чтобы все не слетело...(
 
А можно в div не залезать? Просто там стилей очень много разных прописано уже, боюсь чтобы все не слетело...(
То есть "сделать, но без стилей"? Задача (почти) невыполнимая -- "научите ходить, но только я не хочу ногами".
 
Grunuk, ну попробуйте без слоев напрямую форме задать стиль.

HTML:
<style>
.myform{display: inline-block; width:33%; height:300px; background:#F00; margin-bottom:4px;}
</style>

<div style="width:100%">
<form class="myform">1</form>
<form class="myform">2</form>
<form class="myform">3</form>
<form class="myform">4</form>
<form class="myform">5</form>
<form class="myform">6</form>
<form class="myform">7</form>
<form class="myform">8</form>
<form class="myform">9</form>
<form class="myform">10</form>
</div>
 
Последнее редактирование:
Сделал, но все равно 2 колонки....
между тегами "форм" вставляем весь тот код вывода товара?
и так для номера 2 и номера 3 ?
 
То есть "сделать, но без стилей"? Задача (почти) невыполнимая -- "научите ходить, но только я не хочу ногами".

Я понял, вот какие сейчас стили прописаны:

HTML:
.product_brief_block {
/*overflow: hidden;*/
}

А дальше идет таблица на 7 строк и стилями:

HTML:
.prdbrief_thumbnail {
float: left;
margin-right: 5px;
position: relative;
}
.prdbrief_thumbnail div a img {
padding-bottom: 3px;
padding-top: 21px;
max-width:100%
}
.prdbrief_thumbnail a {
position: relative;
display: block;
}
.prdbrief_thumbnail img {
max-width: 100%;
}
 
.product_brief_block {
float: left;
width:33%;
position: relative;
}
 
.product_brief_block {
float: left;
width:33%;
position: relative;
}


может не прокатить если category.html в webasyste построен правильно, вообще если стандартно там просто поставить надо в админке в 3 колонки и оно должно прокатить вывести как надо ибо там табличный метод вывода!!

Код:
<table cellpadding="6" border="0" width="95%">
  {foreach from=$products_to_show item=product_item name=product_brief}
    {if $smarty.foreach.product_brief.index is div by $smarty.const.CONF_COLUMNS_PER_PAGE}<tr>{/if}
    <td valign="top" width="{math equation="100 / x" x=$smarty.const.CONF_COLUMNS_PER_PAGE format="%d%%"}">
        {include file="product_brief.html" product_info=$product_item}
    </td>
    {if ($smarty.foreach.product_brief.index+1) is div by $smarty.const.CONF_COLUMNS_PER_PAGE}</tr>{elseif $smarty.foreach.product_brief.last}</tr>{/if}
  {/foreach}
</table>

а сам product_brief.html можно не трогать чтобы в принцыпе))) ну так смотрите сами можно и стилями, но надо убить тогда стандартные стили у разметки категории
 
Назад
Сверху