nonocampa Posted January 15, 2012 Share Posted January 15, 2012 Hola. En el teme q estoy implementando, el bloque de productos muestras dos imagenes pequeñas al inicio y luego la lista de productos. Modificandolo, a lo bestia, he conseguido q se muestre de la forma q adjunto. Foto y descripcion por cada producto. Siempre q se recarga la página los productos nuevos salen en el mismo orden. Lo q me gustaria saber es si hay alguna forma de hacer q esos productos sean o se muestren de una forma aleatoria, como hace opencart, no siendo siempre los mismos. No se si me he explicado. O en su defecto si ya existe un modulo asi me lo podrían linkar ? gracias por todo salu2 Ajunto. Link to comment Share on other sites More sharing options...
nadie Posted January 15, 2012 Share Posted January 15, 2012 Hola. En el teme q estoy implementando, el bloque de productos muestras dos imagenes pequeñas al inicio y luego la lista de productos. Modificandolo, a lo bestia, he conseguido q se muestre de la forma q adjunto. Foto y descripcion por cada producto. Siempre q se recarga la página los productos nuevos salen en el mismo orden. Lo q me gustaria saber es si hay alguna forma de hacer q esos productos sean o se muestren de una forma aleatoria, como hace opencart, no siendo siempre los mismos. No se si me he explicado. O en su defecto si ya existe un modulo asi me lo podrían linkar ? gracias por todo salu2 Ajunto. Echale un vistazo a este enlace: http://www.prestashop.com/forums/topic/54927-rendre-aleatoire-laffichage-du-block-nouveaux-produits/ Link to comment Share on other sites More sharing options...
nonocampa Posted January 16, 2012 Author Share Posted January 16, 2012 Hola Siguiendo el post sugerido por "nadie" y con aportaciones encontradas por ahí, hemos quedado en esto: modificacion en el .php public function hookRightColumn($params) { global $smarty; $newProducts = Product::getNewProducts(intval($params['cookie']->id_lang), 0, intval(Configuration::get('NEW_PRODUCTS_NBR'))); shuffle($newProducts); $smarty->assign(array('new_products' => $newProducts, 'mediumSize' => Image::getSize('medium'))); return $this->display(__FILE__, 'blocknewproducts.tpl'); } y el .tpl quedaría de la siguiente forma: <dl class="products"> {foreach from=$new_products item=newproduct name=myLoop} {if $smarty.foreach.myLoop.index < 5} {if $newproduct.id_image} {$newproduct.id_image|escape:html:'UTF-8'}<!-- me da el el id de la imagen asociada al producto --> <!--<img src=""/> Aqui tendria q venir la imagen pero no se como hacerlo !!!!!!--> {$newproduct.name|strip_tags|escape:html:'UTF-8'}<br/> {if $newproduct.description_short} {$newproduct.description_short|strip_tags:'UTF-8'|truncate:50:'...'}<br/> {/if} {/if} {/if} {/foreach} </dl> El q salga el id de la imagen es solo or motivos de verificación, Luego desaparecerá. Mis conocimientos de Smarty y PHP son, por ahora excasos, y necesitaría ayuda para solucionar esta cuestión programática. gracias por todo salu2. P.D. Gracias Victor por la ayuda. salu2 Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2012 Share Posted January 16, 2012 Hola Siguiendo el post sugerido por "nadie" y con aportaciones encontradas por ahí, hemos quedado en esto: modificacion en el .php public function hookRightColumn($params) { global $smarty; $newProducts = Product::getNewProducts(intval($params['cookie']->id_lang), 0, intval(Configuration::get('NEW_PRODUCTS_NBR'))); shuffle($newProducts); $smarty->assign(array('new_products' => $newProducts, 'mediumSize' => Image::getSize('medium'))); return $this->display(__FILE__, 'blocknewproducts.tpl'); } y el .tpl quedaría de la siguiente forma: <dl class="products"> {foreach from=$new_products item=newproduct name=myLoop} {if $smarty.foreach.myLoop.index < 5} {if $newproduct.id_image} {$newproduct.id_image|escape:html:'UTF-8'}<!-- me da el el id de la imagen asociada al producto --> <!--<img src=""/> Aqui tendria q venir la imagen pero no se como hacerlo !!!!!!--> {$newproduct.name|strip_tags|escape:html:'UTF-8'}<br/> {if $newproduct.description_short} {$newproduct.description_short|strip_tags:'UTF-8'|truncate:50:'...'}<br/> {/if} {/if} {/if} {/foreach} </dl> El q salga el id de la imagen es solo or motivos de verificación, Luego desaparecerá. Mis conocimientos de Smarty y PHP son, por ahora excasos, y necesitaría ayuda para solucionar esta cuestión programática. gracias por todo salu2. P.D. Gracias Victor por la ayuda. salu2 No esta bien del todo.... Fijate en el original: <div id="new-products_block_right" class="block products_block"> <h4><a href="{$link->getPageLink('new-products.php')}" title="{l s='New products' mod='blocknewproducts'}">{l s='New products' mod='blocknewproducts'}</a></h4> <div class="block_content"> {if $new_products !== false} <ul class="product_images clearfix"> {foreach from=$new_products item='product' name='newProducts'} {if $smarty.foreach.newProducts.index < 2} <li{if $smarty.foreach.newProducts.first} class="first"{/if}><a href="{$product.link}" title="{$product.legend|escape:html:'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'medium')}" height="{$mediumSize.height}" width="{$mediumSize.width}" alt="{$product.legend|escape:html:'UTF-8'}" /></a></li> {/if} {/foreach} </ul> <dl class="products"> {foreach from=$new_products item=newproduct name=myLoop} <dt class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if}"><a href="{$newproduct.link}" title="{$newproduct.name|escape:html:'UTF-8'}">{$newproduct.name|strip_tags|escape:html:'UTF-8'}</a></dt> {if $newproduct.description_short}<dd class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if}"><a href="{$newproduct.link}">{$newproduct.description_short|strip_tags:'UTF-8'|truncate:50:'...'}</a> <a href="{$newproduct.link}"><img src="{$img_dir}bullet.gif" alt=">>" width="10" height="7" /></a></dd>{/if} {/foreach} </dl> <p><a href="{$link->getPageLink('new-products.php')}" title="{l s='All new products' mod='blocknewproducts'}" class="button_large">{l s='All new products' mod='blocknewproducts'}</a></p> {else} <p>{l s='No new products at this time' mod='blocknewproducts'}</p> {/if} </div> </div> Link to comment Share on other sites More sharing options...
nonocampa Posted January 16, 2012 Author Share Posted January 16, 2012 ahora mismo me pillas fuera de juego...... solo he puesto el trozo de código q he modificado, el resto sigue igual. si es a eso a lo q te refieres. Hacer un volcado d productos en ramdom, lo hace, a cada recarga salen productos nuevo y en distinto ordfen, pero sin imagenes. Q es lo q busco. Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2012 Share Posted January 16, 2012 ahora mismo me pillas fuera de juego...... solo he puesto el trozo de código q he modificado, el resto sigue igual. si es a eso a lo q te refieres. Hacer un volcado d productos en ramdom, lo hace, a cada recarga salen productos nuevo y en distinto ordfen, pero sin imagenes. Q es lo q busco. Ah ... no quieres que salgan las imagenes?? Link to comment Share on other sites More sharing options...
nonocampa Posted January 16, 2012 Author Share Posted January 16, 2012 eso es lo q quiero, q delante del nombre del producto salgan las imagenes. en el original usa:_ <a href="{$newproduct.link}"><img src="{$img_dir}bullet.gif" alt=">>" width="10" height="7" /></a> pero $img_dir apunta a http://localhost/presta/themes/velvetsky/img/ y las imagenes de los productos estan en http://localhost/presta/img/p/ por eso no puedo verlas. No se si me explico o prefieres q te adjunte el .tpl ? salu2 Link to comment Share on other sites More sharing options...
nonocampa Posted January 16, 2012 Author Share Posted January 16, 2012 Dicho de otra forma <img src="http://localhost/presta/img/p/10-59-medium.jpg" /> teniendo solo el 10-59 q me lo da el {$newproduct.id_image} Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2012 Share Posted January 16, 2012 Dicho de otra forma <img src="http://localhost/presta/img/p/10-59-medium.jpg" /> teniendo solo el 10-59 q me lo da el {$newproduct.id_image} Y por que no compones el enlaze de la imagen??, teniendo ya el 10-59 ?? Link to comment Share on other sites More sharing options...
nonocampa Posted January 16, 2012 Author Share Posted January 16, 2012 pq no se hacerlo ! :unsure: Lo mio es nivel de principiante total, como habras comprobado, Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2012 Share Posted January 16, 2012 pq no se hacerlo ! :unsure: Lo mio es nivel de principiante total, como habras comprobado, Bueno, una pista <img src="{$link->getImageLink($newproduct.link_rewrite, $newproduct.id_imag, 'medium')}" /> Link to comment Share on other sites More sharing options...
nonocampa Posted January 16, 2012 Author Share Posted January 16, 2012 Gracias por la pista, ya la habia probado y solo me sale el id del producto. Sigo a la busca. Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2012 Share Posted January 16, 2012 Gracias por la pista, ya la habia probado y solo me sale el id del producto. Sigo a la busca. Sube lo que tengas echo. (voy a salir, y cuando venga te lo reviso). Un saludo Link to comment Share on other sites More sharing options...
nonocampa Posted January 16, 2012 Author Share Posted January 16, 2012 He conseguido q funcione haciendo trampas, solo falta un programador en php q las quite con codigo autentico. <!-- MODULE Block new products --> <div id="new-products_block_right" class="block products_block"> {$raiz = 'http://localhost/presta/img/p/'}<!-- TRAMPA REALIZADA --> <h4><a href="{$link->getPageLink('new-products.php')}" title="{l s='New products' mod='blocknewproducts'}">{l s='New products' mod='blocknewproducts'}</a></h4> <div class="block_content"> {if $new_products !== false} <ul class="product_images clearfix"> {foreach from=$new_products item=newproduct name=myLoop} {if $smarty.foreach.myLoop.index < 5} <li{if $newproduct.id_image}> <dl> <a href="{$newproduct.link}"><img src={$raiz}{$newproduct.id_image|cat:'-medium.jpg'} /> </a> <!--RECONSTRUCCION DE LA URL DE LA IMAGEN --> <dt> <a class="text_desc" href="{$newproduct.link}" title="{$newproduct.name|escape:html:'UTF-8'}">{$newproduct.name|strip_tags|escape:html:'UTF-8'}</a> </dt> {if $newproduct.description_short} <dd> <a class="text_det" href="{$newproduct.link}">{$newproduct.description_short|strip_tags:'UTF-8'|truncate:60:'...'}</a> <br/> {/if} {/if} <a href="{$newproduct.link}" class="lnk_more">{l s='Saber más...'}</a> <br/> </dd> </dl> </li> {/if} {/foreach} </dl> <dl class="products"> </dl> </ul> <p> <a href="{$link->getPageLink('new-products.php')}" title="{l s='All new products' mod='blocknewproducts'}" class="button_large">{l s='All new products' mod='blocknewproducts'}</a> </p> {else} <p>{l s='No new products at this time' mod='blocknewproducts'}</p> {/if} </div> </div> <!-- /MODULE Block new products --> muestro captura para q se vea q con cada refresco los nujevos productos cambian de posicion, como estoy de pruebas no tengo nuevos productos en demasia, asi q..... espero soluciones a la trampa en el codigo gracias por todo salu2 Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2012 Share Posted January 16, 2012 Lo que no entiendo, es por que estas modificando el tpl... si solo tienes que modificar el php, para que sea aleatorio... http://www.prestashop.com/forums/index.php?/topic/54927-rendre-aleatoire-laffichage-du-block-nouveaux-produits/page__view__findpost__p__349908 Link to comment Share on other sites More sharing options...
nonocampa Posted January 16, 2012 Author Share Posted January 16, 2012 pq en el módulo q yo tengo, salian dos imagenes arriba y despues el texto de descripcion, muestro adjunto No se pq pero me lie a retocarlo para q saliera como debe, de ahí las modificaciones en .tpl Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2012 Share Posted January 16, 2012 pq en el módulo q yo tengo, salian dos imagenes arriba y despues el texto de descripcion, muestro adjunto No se pq pero me lie a retocarlo para q saliera como debe, de ahí las modificaciones en .tpl http://www.prestashop.com/forums/index.php?/topic/150830-bloque-de-productos-modificacion/page__view__findpost__p__729941 Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2012 Share Posted January 16, 2012 He conseguido q funcione haciendo trampas, solo falta un programador en php q las quite con codigo autentico. <!-- MODULE Block new products --> <div id="new-products_block_right" class="block products_block"> {$raiz = 'http://localhost/presta/img/p/'}<!-- TRAMPA REALIZADA --> <h4><a href="{$link->getPageLink('new-products.php')}" title="{l s='New products' mod='blocknewproducts'}">{l s='New products' mod='blocknewproducts'}</a></h4> <div class="block_content"> {if $new_products !== false} <ul class="product_images clearfix"> {foreach from=$new_products item=newproduct name=myLoop} {if $smarty.foreach.myLoop.index < 5} <li{if $newproduct.id_image}> <dl> <a href="{$newproduct.link}"><img src={$raiz}{$newproduct.id_image|cat:'-medium.jpg'} /> </a> <!--RECONSTRUCCION DE LA URL DE LA IMAGEN --> <dt> <a class="text_desc" href="{$newproduct.link}" title="{$newproduct.name|escape:html:'UTF-8'}">{$newproduct.name|strip_tags|escape:html:'UTF-8'}</a> </dt> {if $newproduct.description_short} <dd> <a class="text_det" href="{$newproduct.link}">{$newproduct.description_short|strip_tags:'UTF-8'|truncate:60:'...'}</a> <br/> {/if} {/if} <a href="{$newproduct.link}" class="lnk_more">{l s='Saber más...'}</a> <br/> </dd> </dl> </li> {/if} {/foreach} </dl> <dl class="products"> </dl> </ul> <p> <a href="{$link->getPageLink('new-products.php')}" title="{l s='All new products' mod='blocknewproducts'}" class="button_large">{l s='All new products' mod='blocknewproducts'}</a> </p> {else} <p>{l s='No new products at this time' mod='blocknewproducts'}</p> {/if} </div> </div> <!-- /MODULE Block new products --> muestro captura para q se vea q con cada refresco los nujevos productos cambian de posicion, como estoy de pruebas no tengo nuevos productos en demasia, asi q..... espero soluciones a la trampa en el codigo gracias por todo salu2 Trampa = {$img_prod_dir} Hay tienes ..... eso te valdra. Link to comment Share on other sites More sharing options...
nonocampa Posted January 17, 2012 Author Share Posted January 17, 2012 HOLA perdona el retraso. Funciona a las mil maravillas. Gracias por todo. Salu2 Link to comment Share on other sites More sharing options...
nadie Posted January 17, 2012 Share Posted January 17, 2012 HOLA perdona el retraso. Funciona a las mil maravillas. Gracias por todo. Salu2 Al final te di la solución. Un saludo y suerte con la tienda. Link to comment Share on other sites More sharing options...
nonocampa Posted January 17, 2012 Author Share Posted January 17, 2012 Al final te di la solución. Un saludo y suerte con la tienda. Pero yo te habia dado el planteamiento :D :D :D :D muchisimas gracias. un saludo Link to comment Share on other sites More sharing options...
nonocampa Posted January 17, 2012 Author Share Posted January 17, 2012 Al final te di la solución. Un saludo y suerte con la tienda. Pero yo te habia dado el planteamiento :D :D :D :D muchisimas gracias. un saludo Link to comment Share on other sites More sharing options...
nadie Posted January 17, 2012 Share Posted January 17, 2012 Pero yo te habia dado el planteamiento :D :D :D :D muchisimas gracias. un saludo jajaja tambien... venga un saludo. Ya sabes que para cualquier duda, estaremos por aquí. Un saludo Link to comment Share on other sites More sharing options...
Recommended Posts