vasikgreif Posted October 4, 2010 Share Posted October 4, 2010 Zdravím, chtěl bych v product-list zobrazit u každého produktu i jeho druhý a třetí obrázek. Zatím jsem ale nepřišel na to, jak je identifikovat, tzn. jak říct "pokud má produkt více obrázků, vezmi druhý a zobraz ho tady". Máte někdo nápad jak na to? Díky Link to comment Share on other sites More sharing options...
vigel Posted October 6, 2010 Share Posted October 6, 2010 Zdravím, chtěl bych v product-list zobrazit u každého produktu i jeho druhý a třetí obrázek. Zatím jsem ale nepřišel na to, jak je identifikovat, tzn. jak říct "pokud má produkt více obrázků, vezmi druhý a zobraz ho tady". Máte někdo nápad jak na to? Díky pouzit to s product.tpl<!-- thumbnails -->)+ upravit/zmenit v css Link to comment Share on other sites More sharing options...
vasikgreif Posted October 6, 2010 Author Share Posted October 6, 2010 pouzit to s product.tpl<!-- thumbnails -->)+ upravit/zmenit v css Díky za tip, do product-listu jsem vložil (z product.tpl): <!-- thumbnails --> {if count($images) > 3}{l s='Previous'}{/if} {foreach from=$images item=image name=thumbnails} {assign var=imageIds value=`$product->id`-`$image.id_image`} getImageLink($product->link_rewrite, $imageIds, 'thickbox')}" rel="other-views" class="thickbox {if $smarty.foreach.thumbnails.first}shown{/if}" title="{$image.legend|htmlspecialchars}"> getImageLink($product->link_rewrite, $imageIds, 'medium')}" alt="{$image.legend|htmlspecialchars}" height="{$mediumSize.height}" width="{$mediumSize.width}" /> {/foreach} {if count($images) > 3}{l s='Next'}{/if} ale nic se mi nezobrazilo. Dělám něco špatně? Link to comment Share on other sites More sharing options...
vigel Posted October 10, 2010 Share Posted October 10, 2010 mozna jeste neco ze zacatku toho souboru? Link to comment Share on other sites More sharing options...
vasikgreif Posted October 11, 2010 Author Share Posted October 11, 2010 Zkusil jsem vložit část která se zabývá obrázky: [removed] // <![CDATA[ // Images var img_prod_dir = '{$img_prod_dir}'; var combinationImages = new Array(); {foreach from=$combinationImages item='combination' key='combinationId' name='f_combinationImages'} combinationImages[{$combinationId}] = new Array(); {foreach from=$combination item='image' name='f_combinationImage'} combinationImages[{$combinationId}][{$smarty.foreach.f_combinationImage.index}] = {$image.id_image|intval}; {/foreach} {/foreach} combinationImages[0] = new Array(); {foreach from=$images item='image' name='f_defaultImages'} combinationImages[0][{$smarty.foreach.f_defaultImages.index}] = {$image.id_image}; {/foreach} //]]> [removed] A pořád nic. Podle mého je potřeba přidat něco do product.php, ale nemám ponětí co... Link to comment Share on other sites More sharing options...
Vojtěch Posted February 9, 2011 Share Posted February 9, 2011 Dobrý den, řeším stejný problém, podařilo se Vám prosím najít řešení? Díky! Vojtěch Link to comment Share on other sites More sharing options...
Vojtěch Posted February 10, 2011 Share Posted February 10, 2011 Tak se mi to nakonec podařilo s pomocí odkazu od vasikgreif vykoumat a není to ani tak složité, jak se zprvu zdálo:1. Do souboru /classes/product.php vložit do třídy Product funkci: public function getImages($id_lang) { return Db::getInstance()->ExecuteS(' SELECT i.`cover`, i.`id_image`, il.`legend` FROM `'._DB_PREFIX_.'image` i LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.intval($id_lang).') WHERE i.`id_product` = '.intval($this->id).' ORDER BY `position`'); } 2. V souboru /category.php najít řádky (někde okolo 56. řádku): if ($category->id != 1) { $nbProducts = $category->getProducts(NULL, NULL, NULL, $orderBy, $orderWay, true); include(dirname(__FILE__).'/pagination.php'); $smarty->assign('nb_products', $nbProducts); $cat_products = $category->getProducts(intval($cookie->id_lang), intval($p), intval($n), $orderBy, $orderWay); } ...a nahradit je tímto: if ($category->id != 1) { $nbProducts = $category->getProducts(NULL, NULL, NULL, $orderBy, $orderWay, true); include(dirname(__FILE__).'/pagination.php'); $smarty->assign('nb_products', $nbProducts); $cat_products = $category->getProducts(intval($cookie->id_lang), intval($p), intval($n), $orderBy, $orderWay); foreach ($cat_products as &$product) { $product['images'] = Product::getImagesById(intval($cookie->id_lang), $product['id_product']); foreach($product['images'] as &$image) { $image['id_image'] = $product['id_product'].'-'.$image['id_image']; } } } 3. V souboru /themes/[moje_tema]/product-list.tpl najít cyklus: {foreach from=$products item=product name=products} ...a do něj na vhodné místo vložit: {foreach from=$product.images item=image name=images} getImageLink($product.link_rewrite, $image.id_image, 'home')}" alt="{$image.legend|escape:'htmlall':'UTF-8'}" width="{$homeSize.width}" height="{$homeSize.height}" /> {/foreach} Hodně štěstí! Vojtěch Link to comment Share on other sites More sharing options...
pjcz Posted August 27, 2011 Share Posted August 27, 2011 Cao ... zkousel jsem tohle resni ale na 1.4 se mi to nepodarilo rozchodit. Nemate nekdo radu jak na to? Link to comment Share on other sites More sharing options...
tonis Posted September 7, 2011 Share Posted September 7, 2011 Taktiez by som to potreboval na 1.4, bo takto to tam nejde. Link to comment Share on other sites More sharing options...
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