[Инфо] Рандомные товары из всей БД через списки

Тема в разделе "WebAsyst", создана пользователем KPACHODAP, 14 июн 2013.

Модераторы: mdss
  1. KPACHODAP

    KPACHODAP DELETED

    Регистр.:
    21 дек 2009
    Сообщения:
    640
    Симпатии:
    111
    Добрый день друзья, решил с вами поделиться долго думал как реализовать вывод товаров на главную из всей БД webasyst а также на странице товара. Вот решение не судите строго, но вроде работает!

    Создаем списки:
    randomlist - формирование рандомного списка на странице товара
    slideoffers - формирование рандомного списка для главной и других страниц из всей бд!


    в файле /published/SC/html/scripts/classes/class.productlist.php

    нужно вставить так чтобы выглядело в функции getProducts

    PHP:
        function getProducts($enabled null){
       
    // randomlist - формирование рандомного списка на странице товара
        
    if ($this->id == 'randomlist' && isset ($_GET['productID'])){
      
    $product_info getProduct($_GET['productID']);
      
    $dbq 'SELECT t1.*, t3.thumbnail FROM ?#PRODUCTS_TABLE t1 LEFT JOIN ?#PRODUCT_PICTURES t3 ON t1.default_picture=t3.photoID WHERE'.(is_null($enabled)? '':' t1.enabled='.intval($enabled).' AND t1.categoryID = '.$product_info['categoryID']).' ORDER BY RAND() LIMIT 3';
     
    } else if (
    $this->id == 'slideoffers'){
    // slideoffers - формирование рандомного списка для главной и других страниц из всей бд!
      
    $dbq '
                SELECT t1.*, t3.thumbnail FROM ?#PRODUCTS_TABLE t1 LEFT JOIN ?#PRODUCT_PICTURES t3 ON t1.default_picture=t3.photoID WHERE t1.categoryID != 0 ORDER BY RAND() LIMIT 25'
    ;
     
    }
    else{
    // остальные списки из выбраного!
      
    $dbq '
        SELECT t1.*, t3.thumbnail FROM ?#PRODUCTS_TABLE t1 LEFT JOIN ?#TBL_PRODUCT_LIST_ITEM t2 ON t1.productID=t2.productID
        LEFT JOIN ?#PRODUCT_PICTURES t3 ON t1.default_picture=t3.photoID
        WHERE'
    .(is_null($enabled)?'':' t1.enabled='.intval($enabled).' AND t1.categoryID != 1 AND').' t2.list_id=? ORDER BY t2.priority ASC
      '
    ;
    }
    Не судите строго я не программист, кому помог рад!