Вывод производителя в новинках и рекомендуемых
Как можно вывести? Вывел в листинг товара, вывел в результаты поиска, в карточку товара, а вот в новинки и рекомендуемых на главной и категориях не могу вывести.
Не пойму че и куда... Тут такие хитрые запросы нужны в БД ;)
а вот тут посмотри manufacturer_info.php - может поможет
Пробовал ковырять, так и не разобрался что и куда. Жаль. что стандартно нельзя выводить производителя. Вроде нужная штука.
я в запрос вписывал manufacturers_description приравнивал сразу после запроса $box->assign('DESCRIPTION', $manufacturer['manufacturers_description']); в другом месте не пошло приделал так. $info->assign('DESCRIPTION', $manufacturer['manufacturers_description']);
в чем отличие не знаю, читаю книгу по php 2ой день :) толстая зараза!
Не не. Мне на главную и в категории, не в блоки. В блоках оно особо не нужно, а вот на главной и в категориях, т.е. те места где выводятся списки товаров- нужно. Потому как товаров магазе много(40к) и производителей немерено.
дык может откуда запрос выдрать и вставить в categories.php
Не. Там файлы modules/featured.php и modules/new_products.php В них как я понял надо править код.
а на главной у тя че? новинки?
Ну да. Стандартные новинки и рекомендуемые товары.
там ж все производители участвуют, че-то я тогда не понимаю что и куда ты хочешь вывести. список имен производителей? че-то не пойму..
хы) Выводить производителя к у каждого товара на страницах - сайт/featured.php и сайт/products_new.php. Который так же выводятся на главной Новинки и Рекомендуемые(по центру главной) - modules/featured.php и modules/new_products.php
Да вроде не больно сложно. Там уже есть запрос,который выгребает все из таблицы PRODUCTS и нескольких других. Сделайте, чтобы он ещё из таблицы MANUFACTURERS выгребал. Тестировать у меня времени нет, но если аналитически, то запрос можно переделать вот так:
$featured_products_query = "SELECT distinct * FROM ".TABLE_PRODUCTS." p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on pd.products_id = p.products_id, left joint , " . TABLE_MANUFACTURERS. " m on p.manufacturers_id = m.manufacturers_id, ".TABLE_FEATURED." f where p.products_id=f.products_id ".$group_check." ".$fsk_lock." and p.products_status = '1' and f.status = '1' and pd.language_id = '".(int) $_SESSION['languages_id']."' order by p.products_date_added DESC limit ".MAX_DISPLAY_FEATURED_PRODUCTS;
Думаю как-то так. Для новинок похоже. В общем пробуйде.
Спасиб за подсказку. Надо было загуглить как правильно джоинить запросы. Получилось так составить запрос, чтобы было без ошибок
$featured_products_query = "SELECT distinct * from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on p.products_id = pd.products_id, ".TABLE_FEATURED." f where p.products_id=f.products_id ".$group_check." ".$fsk_lock." and p.products_status = '1' and f.status = '1' and pd.language_id = '".(int) $_SESSION['languages_id']."' order by p.products_date_added DESC limit ".MAX_DISPLAY_FEATURED_PRODUCTS; Сайт загружает, ошибок с мускулом нету. Не знаю, правильно или нет, но как теперь выводить название в шаблоне? Пробовал разные варианты {$module_data.MANUFACTURERS_NAME}, {$MANUFACTURERS_NAME} и т.д.. - не выводит. Видать запрос кривой...
Да джоин лефт нужен если подразумевается, что конкретная запись может не присутствовать в смежной таблице. А вы первый из двух запросов правили? Там первый для главной, второй для категорий? Если да, то странно, потому как насколько я понимаю, должно выводиться также как и любой элемент таблицы TABLE_PRODUCTS_DESCRIPTION .
упс. точно. Правил только первый запрос. Заработало. ща еще проверю в категориях вывод рекомендуемых и выложу код, может кому пригодится.
ProRab, спасибо за наводку!
Источник
|