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

Тема в разделе "Как сделать...", создана пользователем Grunuk, 24 июл 2014.

  1. Grunuk

    Grunuk

    Регистр.:
    19 янв 2008
    Сообщения:
    187
    Симпатии:
    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>
     
  2. mff4

    mff4 Постоялец

    Регистр.:
    2 апр 2008
    Сообщения:
    113
    Симпатии:
    15
    Ну тут можно и без php обойтись. Упакуйте форму в слой div ему задайте ширину 33% и позиционирование. Примерно так.
     
  3. Grunuk

    Grunuk

    Регистр.:
    19 янв 2008
    Сообщения:
    187
    Симпатии:
    6
    А можно в div не залезать? Просто там стилей очень много разных прописано уже, боюсь чтобы все не слетело...(
     
  4. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    То есть "сделать, но без стилей"? Задача (почти) невыполнимая -- "научите ходить, но только я не хочу ногами".
     
  5. mff4

    mff4 Постоялец

    Регистр.:
    2 апр 2008
    Сообщения:
    113
    Симпатии:
    15
    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>
     
    Последнее редактирование: 24 июл 2014
  6. Grunuk

    Grunuk

    Регистр.:
    19 янв 2008
    Сообщения:
    187
    Симпатии:
    6
    Сделал, но все равно 2 колонки....
    между тегами "форм" вставляем весь тот код вывода товара?
    и так для номера 2 и номера 3 ?
     
  7. Grunuk

    Grunuk

    Регистр.:
    19 янв 2008
    Сообщения:
    187
    Симпатии:
    6
    Я понял, вот какие сейчас стили прописаны:

    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%;
    }
     
  8. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    .product_brief_block {
    float: left;
    width:33%;
    position: relative;
    }
     
  9. KPACHODAP

    KPACHODAP DELETED

    Регистр.:
    21 дек 2009
    Сообщения:
    641
    Симпатии:
    111

    может не прокатить если 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 можно не трогать чтобы в принцыпе))) ну так смотрите сами можно и стилями, но надо убить тогда стандартные стили у разметки категории