Из спец предложении в карзину

Тема в разделе "Shop-script", создана пользователем virogago, 3 янв 2008.

Статус темы:
Закрыта.
Модераторы: kadurinho
  1. virogago

    virogago Постоялец

    Регистр.:
    5 май 2007
    Сообщения:
    118
    Симпатии:
    14
    здравствуйте.
    Вот уже несколько часов по форуму ищу, но так и не смог найти.
    Может кто-нибть знает, как сделать чтобы с главной страницы, в часности из спец предложении, поставит товар в карзину.
    Спасибо
     
  2. pyatakk

    pyatakk Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    97
    Симпатии:
    14
    как увеличить число спецпредложений на главной странице?

    с 2-х до 4 или 6?

    и можно ли как-то сделать, чтобы появлялись каждый раз случайные товары из списка спец предложений, а не одни и те же?
     
  3. ndmitry

    ndmitry

    Регистр.:
    18 июн 2006
    Сообщения:
    980
    Симпатии:
    603
    нужно найти в файле шаблона home.tpl и поменять два параметра в которые заключена таблица в special offers:
    {if $smarty.section.i.index is div by 4}
    {if ($smarty.section.i.index+1) is div by 4}
    (это для шаблона №0)
    меняешь 4 на нужное

    Ищи, в шаблоне № 7 или другом, не помню (там есть рандом для спецпредложений)... строку:
    Код:
    {* show two random products from the special offers list *}
    и скопируй код под ней в свой шаблон.
     
  4. pyatakk

    pyatakk Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    97
    Симпатии:
    14
    это я уже пробовал, но ничего не меняется :nezn:
     
  5. FLINT

    FLINT А пофлудить?о_О

    Регистр.:
    23 июл 2007
    Сообщения:
    429
    Симпатии:
    176
    странный у тебя магазин какойто.
    ты какой шаблон юзаеш?
    если отрезок кода
    {if $smarty.section.i.index is div by 4}
    {if ($smarty.section.i.index+1) is div by 4}
    не работает...
     
  6. pyatakk

    pyatakk Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    97
    Симпатии:
    14
    шаблон переделанный, на базе 8-го

    разобрался .... картинки перезагрузил, заработало ...

    by 4}
    by 4}

    4-ка указвает, что в строке будет отображаться четыре спецпредложения, а отображаться будут все спецпредложения (по 4 в строке)
     
  7. arp

    arp

    Регистр.:
    10 авг 2006
    Сообщения:
    325
    Симпатии:
    177
    но тут будет отображаться всего 2, а мне, например, надо 3. подскажите как сделать :)
     
  8. FLINT

    FLINT А пофлудить?о_О

    Регистр.:
    23 июл 2007
    Сообщения:
    429
    Симпатии:
    176
    если ты невнимательно читал предыдущие посты и не понял что означает by 2.....3......4..... тогда не знаю что сказать:)
    все по аналогии делается.
    приведу тебе отезок кода из твоего 7 шаблона - в моем куске кода отображается 1 товар из спецпредложений.
    Код:
    	{counter name='special_offers_count' start=0 skip=1 print=false}
    	{section name=i loop=$special_offers}
    		{counter name=special_offers_count print=false}
    	{/section}
    	{counter name=special_offers_count assign="special_offers_count"}
    
    	{if $special_offers_count > 1}
    
    		{math equation="rand() % (maximum-1)" maximum=$special_offers_count assign="special_offers_random_index"}
    		{math equation="(n+1)%(m-1)" n=$special_offers_random_index m=$special_offers_count assign="special_offers_random_index2"}
    Сравни тот код который у меня с твоим исходным кодом и посмотри где нужно поменять твою двоечку на троечку.
     
    ndmitry нравится это.
  9. arp

    arp

    Регистр.:
    10 авг 2006
    Сообщения:
    325
    Симпатии:
    177
    где ты тут увидел "by 1" "by 2" "by 4" и вообще "by" ?
    в этом отрезке он отображает не 1, а 2 спецпредложения. если внимательно посмотреть код, то можно понять, что в этой строке:
    Код:
    {math equation="rand() % (maximum-1)" maximum=$special_offers_count assign="special_offers_random_index"}
    переменной special_offers_random_index присваивается рандомное спецпредложение. Далее:
    Код:
    {math equation="(n+1)%(m-1)" n=$special_offers_random_index m=$special_offers_count assign="special_offers_random_index2"}
    тут переменной special_offers_random_index2 присваивается результат вычислений "($special_offers_random_index + 1) % ($special_offers_count-1)", где $special_offers_random_index - это рандомное спецпредложение, а $special_offers_count - это кол-во спецпредложений. я просто не очень понимаю, что тут значит знак % и что тут высчитывается. и тупой заменой "1 на 3" не обойтись.

    Добавлено через 20 минут
    Докопался и нашел выход. Ловите, кому нужно:)
    Код:
    {section name=i loop=3}
    {if $smarty.section.i.index is div by 3}<tr>{/if}
    {counter name='special_offers_count' start=0 skip=1 print=false}
    {section name=s loop=$special_offers}
    {counter name=special_offers_count print=false}
    {/section}
    
    {counter name=special_offers_count assign="special_offers_count"}
    {math equation="rand() % (maximum-1)" maximum=$special_offers_count assign="special_offers_random_index"}
    
    <td valign="top" width="25%">
    <!-- start product -->
    <table cellpadding="0" cellspacing="0" border="0" width="100%" class="products">
    <tr>
            <td width="12" height="12"><img src="images/l_t.jpg" width="12" height="12" border="0" alt="" /></td>
            <td class="top"></td>
            <td width="12" height="12"><img src="images/r_t.jpg" width="12" height="12" border="0" alt="" /></td>
    </tr>
    <tr>
            <td class="left_2"></td>
            <td align="center">
                    <a href="index.php?productID={$special_offers[$special_offers_random_index][0]}"><img src="products_pictures/{$special_offers[$special_offers_random_index][2]}" border="0" alt="{$special_offers[$special_offers_random_index][1]}" /></a><br />
                    <div class="name"><a href="index.php?productID={$special_offers[$special_offers_random_index][0]}">{$special_offers[$special_offers_random_index][1]}</a></div>
                    <div class="price">{$special_offers[$special_offers_random_index][3]}</div>
            </td>
            <td class="right_2"></td>
    </tr>
    <tr>
            <td width="12" height="12"><img src="images/l_b_l.jpg" width="12" height="12" border="0" alt="" /></td>
            <td class="bottom"></td>
            <td width="12" height="12"><img src="images/l_b_r.jpg" width="12" height="12" border="0" alt="" /></td>
    </tr>
    </table>
    <!-- end product -->
    </td>
    {if ($smarty.section.i.index+1) is div by 3}</tr>{/if}
    {/section}
    
     
    Valorous нравится это.
Статус темы:
Закрыта.