Witam serdecznie ! Moich problemów z prestą ciąg dalszy... Do rzeczy.
1) Chciałbym wprowadzić w wyszukiwarce możliwość wyszukwiania produktów TYLKO po wysokości przedmiotu (dane z tabeli ps_feature_value_lang) lub po nazwie lub po tym i po tym. W panelu admina dodaję sobie dane na temat wysokości produktu. Modyfikuję zapytanie z klasy Search, kombinuję i nic. Póki co chcę zrobić tak, żeby działało tylko dla wysokości. Mam radio button którym przesyłam sobie dane na temat tej wysokości (to działa). Oto moje wypociny:
$sql = 'SELECT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity,
pl.`description_short`, pl.`available_now`, pl.`available_later`, pl.`link_rewrite`, pl.`name`,
MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` manufacturer_name '.$score.', MAX(product_attribute_shop.`id_product_attribute`) id_product_attribute,
DATEDIFF(
p.`date_add`,
DATE_SUB(
NOW(),
INTERVAL '.(Validate::isUnsignedInt(Configuration::get('PS_NB_DAYS_NEW_PRODUCT')) ? Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY
)
) > 0 new
FROM '._DB_PREFIX_.'product p
'.Shop::addSqlAssociation('product', 'p').'
INNER JOIN `'._DB_PREFIX_.'product_lang` pl ON (
p.`id_product` = pl.`id_product`
AND pl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('pl').'
)
INNER JOIN `'._DB_PREFIX_.'feature_product` fvp ON (
p.`id_product` = fvp.`id_product`
)
INNER JOIN `'._DB_PREFIX_.'feature_value_lang` fvl ON (
fvl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('pl').'
AND fvl.`id_feature_value` = fvp.`id_feature_value`
)
LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON (p.`id_product` = pa.`id_product`)
'.Shop::addSqlAssociation('product_attribute', 'pa', false, 'product_attribute_shop.`default_on` = 1').'
'.Product::sqlStock('p', 'product_attribute_shop', false, $context->shop).'
LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON m.`id_manufacturer` = p.`id_manufacturer`
LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product`)'.
Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').'
LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
WHERE fvl.`value` = "'.$height.'"
GROUP BY product_shop.id_product
'.($order_by ? 'ORDER BY '.$alias.$order_by : '').($order_way ? ' '.$order_way : '').'
LIMIT '.(int)(($page_number - 1) * $page_size).','.(int)$page_size;
$result = $db->executeS($sql);
Dodałem dwa inner joiny dla dwóch tabel przechowujących te wartości oraz jeden warunek w klauzuli WHERE. Jednak mi to nie śmiga, cały czas chce szukać po nazwie produktu. Kombinacji tego kodu było mnóstwo, ale wrzucam najbardziej, moim zdaniem, sensowny. Co powinienem zmienić?
2) Dodaję sobie w panelu administratora sporo modułów i możliwości dostowowanych pode mnie. Gdzie znajdę pomoc na temat tego, jak przy generowaniu formularza wczytać wartości z bazy danych ? Jakieś dane z tabel, które są updateowane, tak jak jest to w przypadku choćby produktu, który mogę edytować.
Question
mefimess
Witam serdecznie ! Moich problemów z prestą ciąg dalszy... Do rzeczy.
1) Chciałbym wprowadzić w wyszukiwarce możliwość wyszukwiania produktów TYLKO po wysokości przedmiotu (dane z tabeli ps_feature_value_lang) lub po nazwie lub po tym i po tym. W panelu admina dodaję sobie dane na temat wysokości produktu. Modyfikuję zapytanie z klasy Search, kombinuję i nic. Póki co chcę zrobić tak, żeby działało tylko dla wysokości. Mam radio button którym przesyłam sobie dane na temat tej wysokości (to działa). Oto moje wypociny:
Dodałem dwa inner joiny dla dwóch tabel przechowujących te wartości oraz jeden warunek w klauzuli WHERE. Jednak mi to nie śmiga, cały czas chce szukać po nazwie produktu. Kombinacji tego kodu było mnóstwo, ale wrzucam najbardziej, moim zdaniem, sensowny. Co powinienem zmienić?
2) Dodaję sobie w panelu administratora sporo modułów i możliwości dostowowanych pode mnie. Gdzie znajdę pomoc na temat tego, jak przy generowaniu formularza wczytać wartości z bazy danych ? Jakieś dane z tabel, które są updateowane, tak jak jest to w przypadku choćby produktu, który mogę edytować.
Z góry dziękuję za pomoc, pozdrawiam !
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now