Помощь Вывод случайных товаров на главную

Статус
В этой теме нельзя размещать новые ответы.

ColobokRU

Писатель
Регистрация
13 Ноя 2009
Сообщения
4
Реакции
1
Уважаемые форумчане, подскажите пожалуйста как реализовать вывод случайных товаров (чтоб количество можно было задавать вручную) из всей базы магазина на главную страницу?
в поиске я уже был нашел следующее, выводили из категории спец предложения.
Попробовал вставить код в home.html на главной ночего не отобразилось. В чем может быть проблема?
у меня установлена версия 281
 
Уважаемые форумчане, подскажите пожалуйста как реализовать вывод случайных товаров (чтоб количество можно было задавать вручную) из всей базы магазина на главную страницу?
в поиске я уже был нашел следующее, выводили из категории спец предложения.
Попробовал вставить код в home.html на главной ночего не отобразилось. В чем может быть проблема?
у меня установлена версия 281
*** скрытое содержание ***

вы путаете темы, эта ветка Shop-script а у вас Для просмотра ссылки Войди или Зарегистрируйся
 
...

Если у вас Shop-Script Premium то вот код:

includes/home.php
PHP:
<?php
/*****************************************************************************
 *                                                                           *
 * Shop-Script PREMIUM                                                       *
 * Copyright (c) 2005 WebAsyst LLC. All rights reserved.                     *
 *                                                                           *
 *****************************************************************************/
?><?php
	// front-end homepage
	//get root categories to be shown in the front-end homepage
	$q = db_query("SELECT categoryID, name, products_count, picture FROM ".
		CATEGORIES_TABLE." WHERE categoryID<>0 and parent=1 ORDER BY sort_order, name") or die (db_error());
	$root = array();
	while ($row = db_fetch_row($q))
	{
		if (!file_exists("./products_pictures/$row[3]")) 
			$row[3] = "";
		$root[] = $row;
	}

	//get subcategories of root categories
	$query = "SELECT categoryID FROM ".CATEGORIES_TABLE." WHERE categoryID<>0 ";
	$result = array();
	for ($i=0; $i<count($root); $i++)
	{
		$q = db_query("SELECT categoryID, name, products_count, parent FROM ".CATEGORIES_TABLE.
			" WHERE categoryID<>0 and parent=".$root[$i][0].
			" ORDER BY sort_order, name " ) or die (db_error());
		while ($row = db_fetch_row($q))
			$result[] = $row;
	}
	$smarty->assign("root_categories",$root);
	$smarty->assign("root_categories_subs",$result);

	//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))
	{
		$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_offers",$result);






//Случайный вывод из всех продуктов 
    $result = array(); 
    $q = db_query("SELECT `categoryID`,`name`,'viewed_times' FROM ".PRODUCTS_TABLE." order by rand() limit 0,5") or die (db_error()); 
    while ($row = db_fetch_row($q)) 
    { 
        $q1 = db_query("SELECT productID, name, default_picture, Price, categoryID, list_price FROM ".PRODUCTS_TABLE." where `categoryID`=$row[0] order by rand() limit 0,4") or die (db_error()); 
        if ($row1 = db_fetch_row($q1)) 
        { 
            if ( is_null($row1[2]) ) 
                continue; 
            $picture = db_query( "select thumbnail, filename, 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[1]; 
                    if ($row1[3]<$row1[5]){$row1[5] = show_price($row1[5]);}else{$row1[5] ="";} 
                    $row1[3] = show_price($row1[3]); 
                    $result[] = array($row[1],$row1); 
                } 
            } 
        } 
    } 
    $smarty->assign("all_product",$result);







?>

и templates/frontend/tmplX/home.tpl.html где Х номер шаблона
PHP:
{* front-end homepage*}

{$smarty.const.STRING_GREETINGS}

<p>
<table width="100%" border="0" cellpadding="5">
{section name=i loop=$root_categories}
{if $smarty.section.i.index is div by 2}<tr>{/if}
<td width="1%" align="center" valign="top">
	{if $root_categories[i][3] ne ""}<a href="index.php?categoryID={$root_categories[i][0]}"><img border=0 src="products_pictures/{$root_categories[i][3]}" alt="{$root_categories[i][1]|replace:'"':'&quot;'}">{/if}
</td>
<td width="49%" valign="top">
		<a href="index.php?categoryID={$root_categories[i][0]}" class="cat">{$root_categories[i][1]}</a> <font class="olive">({$root_categories[i][2]})</font><br>

		{* show sub categories *}
		{assign var="tmp" value=0}
		{section name=j loop=$root_categories_subs}
		  {if $root_categories_subs[j][3] == $root_categories[i][0]}
		    
			{if $tmp == 1}<font class="olive">|</font>
			{else}
				{assign var="tmp" value=1}
			{/if}
			
			<a href="index.php?categoryID={$root_categories_subs[j][0]}" class=standard>{$root_categories_subs[j][1]}</a>
		  {/if}
		{/section}
</td>

{if ($smarty.section.i.index+1) is div by 2}</tr>{/if}
{/section}
</table>



{* now show special offers *}
<p>
<center>
<table border=0 cellspacing=1 cellpadding=5>
{section name=i loop=$special_offers}
{if $smarty.section.i.index is div by 2}<tr>{/if}
<td valign=top>

 <table border=0 width=100% bgcolor=#{$smarty.const.CONF_MIDDLE_COLOR} cellpadding=0 cellspacing=1>
 <tr><td>

  <table border=0 bgcolor=white width=100%>
   <tr>
   <td colspan=2><a href="index.php?productID={$special_offers[i][0]}"><img src="products_pictures/{$special_offers[i][2]}" border=0></a></td>
   </tr>
   <tr>
   <td align=center><a href="index.php?productID={$special_offers[i][0]}">{$special_offers[i][1]}</a></td>
   <td align=right><font color=red><b>{$special_offers[i][3]}</b></font></td>
   </tr>
  </table>

 </td></tr>
 </table>

</td>
{if ($smarty.section.i.index+1) is div by 2}</tr>{/if}
{/section}
</table>


{* Случайные товары *}
<b>Случайные товары:</b>
<p style="margin-top: 0; margin-bottom: 0">{* now show all product *}</p>
<center>
<table border=0 cellspacing=0 cellpadding=0 width="150">
{section name=i loop=$all_product}
{if $smarty.section.i.index is div by 4}<tr>{/if}
<td valign=top width="100%">

  <table border=0 bgcolor=white width="160" height=100 cellspacing=0>
   <tr>
   <td width="168" height="150" align="center" valign="bottom">
	<p align="center">
	<a href="index.php?productID={$all_product[i][1][0]}">
	<img src="products_pictures/{$all_product[i][1][2]}" border=0 width="120"></a></td>
   </tr>
   <tr>
   <td align="center" width="168">
	<a href="index.php?productID={$all_product[i][1][0]}">{$all_product[i][1][1]}</a></td>
     </tr>
   <tr>
   <td align="center" width="168">
	<font color=red><b>{$all_product[i][1][3]}</b></font></td>
   </tr>
  </table>

</td>
{if ($smarty.section.i.index+1) is div by 4}</tr>{/if}
{/section}
</table>
</center>
;)
 

Ну вопшето это считается не лучшим приемом и создает некоторую нагрузку на бд, в свою очередь может создавать и задержку, а тем более для морды это вообще нефантан
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху