Как сделать чтобы спец-предложения выводились в 4 колонки

Статус
В этой теме нельзя размещать новые ответы.
а если мне в одном месте нужно вывести например 4 товара а в другом 12


например на главной странице выводим 4 товара

а если зайти на страничку "специальное предложение", что бы там были все (или скажем 20) товаров из спец-предложений


как такое реализовать?

Никак, потому что данные товары берутся из одной таблицы в БД, :D
куда не вставляй код вывода спец предложений всегда будет выводиться с ограничением.
 
biznesoft ты погорячился сделать можно! Я так делал новинки! v-i-k сейчас сделаю и выложу код. Подожди немного!

Добавлено через 36 минут
Значит так....

1)Создаем файл spec_all.php в includes

вставляем:

PHP:
<?php
	//Специальные предложения полные
	$result = array();
	$q = db_query("SELECT productID FROM ".SPECIAL_OFFERS_TABLE." order by sort_order DESC LIMIT 0,2") or die (db_error());
	while ($row = db_fetch_row($q))
	{
		$q1 = db_query("SELECT productID, name, default_picture, Price, categoryID FROM ".
					PRODUCTS_TABLE.
					" where productID=$row[0]") or die (db_error());
		if ($row1 = db_fetch_row($q1))
		{
			if ( is_null($row1[2]) )
				continue;
			$picture = db_query( "select filename, thumbnail, enlarged from ".
				PRODUCT_PICTURES." where photoID=".$row1[2] );
			$picture_row = db_fetch_row( $picture );
			if ( $picture_row )
			{
			 	if ( file_exists( "./products_pictures/".$picture_row[0] ) )
				{
					$row1[2] = $picture_row[0];
					$row1[3] = show_price($row1[3]);
					$result[] = $row1;
				}
			}
		}
	}

	$smarty->assign("special_offers1",$result);
	
	if (isset($_GET["spec_all"]) || isset($_POST["spec_all"]))

	$smarty->assign("main_content_template", "spec_all.tpl.html");
?>

там где DESC LIMIT 0,2 вместо 2 поставь 20 или сколько надо хоть 1000 и сохрани!

2) создам файл spec_all.tpl.html в папке твоего шаблона

вставляем:

PHP:
{* now show special offers *}

<p>
<center>
<table border=0 width="161" cellspacing=1 cellpadding=5>
  <div align="center" class="axt1">Спец-предложения полный список</div>
{section name=i loop=$special_offers1}
{if $smarty.section.i.index is div by 3}
  <tr>{/if}
<td width="149" valign=top>
<table border=0 width=49% bgcolor=#{$smarty.const.CONF_MIDDLE_COLOR} cellpadding=0 cellspacing=1>
        <tr>
          <td> <table width=145 {*здесь я выставлял ширину ячейки для того чтобы по ширине все были одинаковые*} border=0 cellpadding="0" cellspacing="0" bgcolor=white>
              <tr> 
                <td width="145" height=130 {*здесь я выставлял высоту ячейки для того чтобы по высоте все были одинаковые*} ><div align="center"><a href="index.php?productID={$special_offers1[i][0]}"><img src="products_pictures/{$special_offers1[i][2]}" border=0></a></div></td>
              </tr>
              <tr> 
                <td height="60" align=center><a href="index.php?productID={$special_offers1[i][0]}" class="unnamed1Copy2">{$special_offers1[i][1]}</a></td>
              </tr>
              <tr> 
                <td align=center><font color=red><b>{$special_offers1[i][3]}</b></font></td>
              </tr>
            </table>
</td>
        </tr>
      </table></td>
    {if ($smarty.section.i.index+1) is div by 6}</tr>
  {/if} {/section} 
</table>
</center>

3) Ссылка выглядит так на полный список:
<a href="index.php?spec_all=yes" >Все спец. товары</a>

4) в includes/home.php находим:

PHP:
//special offers
	$result = array();
	$q = db_query("SELECT productID FROM ".SPECIAL_OFFERS_TABLE." order by sort_order") or die (db_error());
	while ($row = db_fetch_row($q))

в часть

PHP:
order by sort_order

добавь вот это

PHP:
DESC LIMIT 0,12
там где 12 поставь сколько надо выводить на главной. Готово! Приятного аппетита!;):ay:
 
Спасибо, работает!

а как бы еще сделать что бы ссылка на список была

<a href="http://site.com/shop/spec_all.php">


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

Для просмотра ссылки Войди или Зарегистрируйся
Прочитал сделал как было указано (цель сделать 3 столбца) все формируется но выводиться попрежнему только 4 товара, в спец предложения поставил 8 товаров, ноль реакции, в Хоме прописал DESC LIMIT 0,13 как было указано результат нулевой. Помогите.
 
А не подскажете как сделать так что бы при выводе 3х колон в спецпредложениях сделать выравнивание.
1 товар слева ,2 - центр, 3- справа?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху