Polskie wsparcie PrestaShop
PrestaShop => Wygląd => Wątek zaczęty przez: design4VIP w Luty 06, 2012, 10:15:47 am
-
mam pytanie, jak dodac do listy produktow nr referencyjny oraz nazwe kategorii domyslej?
dodam ze PS 1.4.6.2 wraz z blocklayered
co juz znalazlem:
odnosnie nr referencyjnego: na innych forach niby podaja aby dodac tylko {$product.reference}. niestety, podaja tez, ze takie cos nie dziala z wlaczonym blocklayered. maja racje... nie dziala ;/ wie ktos co z tym fantem?
odnosnie kategorii, narazie udalo mi sie poprzez {$product.id_category_default} wyswietlic nr kategorii. teraz pytanie jak pobrac jej nazwe?
z gory dzieki za wszelkie sugestie.
-
nie ma chetnych do pomocy? a moze po prostu lenistwo w te zimowe dni ogarnia...
no nic... to sam sie podziele rozwiazaniem na swoje pytanie :D
Duza wina z problemi wyswietlania lezy po stronie BlockLayered
Rozwiazanie bez uzywania BL w productlist-tpl wystarczy wprowadzic:
<p>{$product.reference|escape:'htmlall':'UTF-8'}</p>
<p>{$product.category_default|escape:'htmlall':'UTF-8'}</p>
jezlei ktos uzywa BL to jeszcze do powyzszego w blocklayered.php:
w okolicach linii 2000 nalezy rozbudowac clase, czyli zamienic to co tam jest na:
$this->nbr_products = count($productIdList);
if ($this->nbr_products == 0)
$this->products = array();
else
{
$n = (int)Tools::getValue('n', Configuration::get('PS_PRODUCTS_PER_PAGE'));
$this->products = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT p.id_product, p.on_sale, p.out_of_stock, p.available_for_order, p.quantity, p.minimal_quantity, p.id_category_default, p.customizable, p.show_price, p.`weight`, p.reference,
p.ean13, pl.available_later, pl.description, pl.description_short, pl.link_rewrite, pl.name, i.id_image, il.legend, m.name manufacturer_name, p.condition, p.id_manufacturer, cl.`name` AS category_default,
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 AS new
FROM '._DB_PREFIX_.'category_product cp
LEFT JOIN '._DB_PREFIX_.'category c ON (c.id_category = cp.id_category)
LEFT JOIN '._DB_PREFIX_.'product p ON p.id_product = cp.id_product
LEFT JOIN '._DB_PREFIX_.'product_lang pl ON (pl.id_product = p.id_product)
LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (p.id_category_default = cl.id_category AND cl.id_lang = '.(int)($cookie->id_lang).')
LEFT JOIN '._DB_PREFIX_.'image i ON (i.id_product = p.id_product AND i.cover = 1)
LEFT JOIN '._DB_PREFIX_.'image_lang il ON (i.id_image = il.id_image AND il.id_lang = '.(int)($cookie->id_lang).')
LEFT JOIN '._DB_PREFIX_.'manufacturer m ON (m.id_manufacturer = p.id_manufacturer)
WHERE p.`active` = 1 AND
'.(Configuration::get('PS_LAYERED_FULL_TREE') ? 'c.nleft >= '.(int)$parent->nleft.' AND c.nright <= '.(int)$parent->nright : 'c.id_category = '.(int)$id_parent).'
AND pl.id_lang = '.(int)$cookie->id_lang.'
AND p.id_product IN ('.implode(',', $productIdList).')'
.' GROUP BY p.id_product ORDER BY '.Tools::getProductsOrder('by', Tools::getValue('orderby'), true).' '.Tools::getProductsOrder('way', Tools::getValue('orderway')).
' LIMIT '.(((int)Tools::getValue('p', 1) - 1) * $n.','.$n));
}
return $this->products;
}
milej zabawy ;)