Legosp Forum
Shop-Script "Legosp" => Общие вопросы => Тема начата: favn от Марта 10, 2012, 12:41:42 pm
-
Shop-Script SP 5.0.2
Создал в БД в SS_products новый столбец pole.
Для product_detailed:
В файле product_detailed.php добавляю в $q = db_query("SELECT ".PRODUCTS_TABLE.".categoryID, ".PRODUCTS_TABLE.".name, ".PRODUCTS_TABLE.".description, customers_rating, Price, ".PRODUCTS_TABLE.".picture, in_stock, thumbnail, customer_votes, big_picture, list_price, productID, product_code, brief_description, ".PRODUCTS_TABLE.".hurl, accompanyID, ".PRODUCTS_TABLE.".meta_title, ".PRODUCTS_TABLE.".meta_keywords, ".PRODUCTS_TABLE.".meta_desc, ".PRODUCTS_TABLE.".brandID, ".BRAND_TABLE.".name, ".BRAND_TABLE.".hurl, ".PRODUCTS_TABLE.".canonical, ".CATEGORIES_TABLE.".hurl, ".BRAND_TABLE.".comment, ".PRODUCTS_TABLE.".h1, ".PRODUCTS_TABLE.".pole FROM ".PRODUCTS_TABLE." LEFT JOIN ".BRAND_TABLE." USING (brandID) JOIN ".CATEGORIES_TABLE." ON ".PRODUCTS_TABLE.".categoryID=".CATEGORIES_TABLE.".categoryID WHERE productID='".$productID."' and ".PRODUCTS_TABLE.".enabled='1'") or die (db_error());
".PRODUCTS_TABLE.".pole. Но каким {$product_info[X]} выводить в product_detailed.tpl.html непойму.
Для product_brief еще запутанней ситуация :). Подскажите пожалуйста.
-
C product_detailed вроде разобрался.
А с какого php-файла и места надо брать выборку для product_brief , чтобы вывести значение из БД - SS_products новый столбец pole.
Похоже что из category.php и выражение должно быть не {$product_info[X]}...
-
Вопрос всё еще актуален :(
-
Вопрос всё еще актуален :(
Похоже что из category.php и выражение должно быть не {$product_info[X]}...
вы сами почти ответили на свой вопрос, именно category.php(в двух местах, где происходит выборка товара из базы) и именно {$product_info[X]}(в product_brief.tpl.html)
-
Покажу наглядный пример. Особо не разбирался просто тупо добавил после
if (isset($_GET["show_all"]) || ($i>=$offset && $i<$offset+CONF_PRODUCTS_PER_PAGE)) {
Код:
$cq = db_query("SELECT name, hurl FROM ".CATEGORIES_TABLE." WHERE categoryID=".$row[0]) or die (db_error());
$c = db_fetch_row($cq);
$row[29] = $c[1];
$row[30] = $c[0];
В результате в основных категориях добавилась ссылка на категорию http://vo-stok.com.ua/catalog/zhenskaya/
...
Для решения вашей проблемы покопайтесь тут
$s = "SELECT categoryID, ".PRODUCTS_TABLE.".name, brief_description, customers_rating, Price, picture, in_stock, thumbnail, customer_votes, big_picture, list_price, productID, product_code, ".PRODUCTS_TABLE.".hurl, items_sold, ".PRODUCTS_TABLE.".brandID, ".BRAND_TABLE.".name, ".BRAND_TABLE.".hurl FROM ".PRODUCTS_TABLE." LEFT JOIN ".BRAND_TABLE." USING(brandID) WHERE enabled='1'";
и тут
$sql="SELECT ".PRODUCTS_TABLE.".categoryID, ".PRODUCTS_TABLE.".name, brief_description, customers_rating, Price, picture, in_stock, thumbnail, customer_votes, big_picture, list_price, ".PRODUCTS_TABLE.".productID, product_code, ".PRODUCTS_TABLE.".hurl, items_sold, ".PRODUCTS_TABLE.".brandID, ".BRAND_TABLE.".name, ".BRAND_TABLE.".hurl FROM ".PRODUCTS_TABLE.' LEFT JOIN '.CATEGORIY_PRODUCT_TABLE." USING(productID) LEFT JOIN ".BRAND_TABLE." USING(brandID) WHERE (".PRODUCTS_TABLE.".categoryID=".(int)$categoryID.' OR '.CATEGORIY_PRODUCT_TABLE.'.`productID` = `'.PRODUCTS_TABLE.'`.`productID` AND '.CATEGORIY_PRODUCT_TABLE.'.categoryID = '.(int)$categoryID.") AND enabled='1' GROUP BY `".PRODUCTS_TABLE."`.`productID` ORDER BY ".PRODUCTS_TABLE.".".$_SESSION["sort"]." ".$_SESSION["order"];
-
Что только не делал, что только не подствлял - полный ппц. ) Извёлси весь. :)
-
Ну подставь код что я давал. Просто используй свои данные
$cq = db_query("SELECT pole FROM ".PRODUCTS_TABLE." WHERE productID=".$row[11]) or die (db_error());
$c = db_fetch_row($cq);
$row[29] = $c[0];
в результате в product_brief.tpl.html $product_info[29] = pole
Код лепишь сразу после проверки (там в 2-х местах)
if (isset($_GET["show_all"]) || ($i>=$offset && $i<$offset+CONF_PRODUCTS_PER_PAGE))
-
дык, а какие проблемы проделать всё то же, что и в product_detailed.php.
добавили в двух строках, например: //show active products
$sql="SELECT ".PRODUCTS_TABLE.".categoryID, ".PRODUCTS_TABLE.".name, brief_description, customers_rating, Price, picture, in_stock, thumbnail, customer_votes, big_picture, list_price, ".PRODUCTS_TABLE.".productID, product_code, ".PRODUCTS_TABLE.".hurl, items_sold, ".PRODUCTS_TABLE.".brandID, ".BRAND_TABLE.".name, ".BRAND_TABLE.".hurl, ".PRODUCTS_TABLE.".pole FROM ".PRODUCTS_TABLE.' LEFT JOIN '.CATEGORIY_PRODUCT_TABLE." USING(productID) LEFT JOIN ".BRAND_TABLE." USING(brandID) WHERE (".PRODUCTS_TABLE.".categoryID=".(int)$categoryID.' OR '.CATEGORIY_PRODUCT_TABLE.'.`productID` = `'.PRODUCTS_TABLE.'`.`productID` AND '.CATEGORIY_PRODUCT_TABLE.'.categoryID = '.(int)$categoryID.") AND enabled='1' GROUP BY `".PRODUCTS_TABLE."`.`productID` ORDER BY ".PRODUCTS_TABLE.".".$_SESSION["sort"]." ".$_SESSION["order"];
и //create a query for extracting products from subcategories
$s = "SELECT categoryID, ".PRODUCTS_TABLE.".name, brief_description, customers_rating, Price, picture, in_stock, thumbnail, customer_votes, big_picture, list_price, productID, product_code, ".PRODUCTS_TABLE.".hurl, items_sold, ".PRODUCTS_TABLE.".brandID, ".BRAND_TABLE.".name, ".BRAND_TABLE.".hurl, ".PRODUCTS_TABLE.".pole FROM ".PRODUCTS_TABLE." LEFT JOIN ".BRAND_TABLE." USING(brandID) WHERE enabled='1'";
и добавили в 2-х местах, после if (isset($_GET["show_all"]) || ($i>=$offset && $i<$offset+CONF_PRODUCTS_PER_PAGE))
{
это $row[29] = $row[18];
в шаблоне вывели {$product_info[29]} и нет лишних запросов/селектов.
ps/хотя можно и сразу в шаблоне выводить {$product_info[18]}, без этой $row[29] = $row[18]; добавки.
-
Сделал как расписал Юрий. Всё вышло :). Большое спасибо !!!
И всем вельми дзякую то помогал....