kikor1 Posted January 9, 2011 Share Posted January 9, 2011 holahe activado este modulo que permite poner debajo del un articulo "Los clientes que compraron este producto también han comprado:", y muestra las imagenes de otros articulos, pero las imagenes de esos articulos salen en posicion vertical y a la izquierda de la pagina dejando el resto de pagina vacia podeis verlo aqui http://www.rcmak.com/product.php?id_product=194 ¿hay algun modo de que esos articulos saliesen en horizontal ocupando el ancho de la web las lineas horizontales que fuesen necesarias? yo no se que habria que modificar pero ponco aqui el codigo del archivo crossselling.php y crossselling.tpl, a ver si podeis decirme si es o no posible y que habria que cambiar.gracias <?php if (!defined('_CAN_LOAD_FILES_')) exit; class CrossSelling extends Module { function __construct() { $this->name = 'crossselling'; $this->tab = 'Products'; $this->version = 0.1; parent::__construct(); $this->displayName = $this->l('Cross selling'); $this->description = $this->l('Customers who bought this product also bought...'); } function install() { if (parent::install() == false OR !$this->registerHook('productFooter')) return false; return true; } /** * Returns module content for left column */ function hookProductFooter($params) { global $smarty, $cookie, $link; $orders = Db::getInstance()->ExecuteS(' SELECT o.id_order FROM '._DB_PREFIX_.'orders o LEFT JOIN '._DB_PREFIX_.'order_detail od ON (od.id_order = o.id_order) WHERE o.valid = 1 AND od.product_id = '.intval($params['product']->id)); $list = ''; foreach ($orders AS $order) $list .= intval($order['id_order']).','; $list = rtrim($list, ','); if ($list != '') { $orderProducts = Db::getInstance()->ExecuteS(' SELECT DISTINCT od.product_id, pl.name, pl.link_rewrite, p.reference, i.id_image, cl.`name` AS category_name, p.ean13 FROM '._DB_PREFIX_.'order_detail od LEFT JOIN '._DB_PREFIX_.'product p ON (p.id_product = od.product_id) LEFT JOIN '._DB_PREFIX_.'product_lang pl ON (pl.id_product = od.product_id) LEFT JOIN '._DB_PREFIX_.'image i ON (i.id_product = od.product_id) LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (cl.`id_category` = p.`id_category_default`) WHERE od.id_order IN ('.$list.') AND cl.id_lang = '.intval($cookie->id_lang).' AND pl.id_lang = '.intval($cookie->id_lang).' AND od.product_id != '.intval($params['product']->id).' AND i.cover = 1 AND p.active = 1 ORDER BY RAND() LIMIT 10'); foreach ($orderProducts AS &$orderProduct) { $orderProduct['image'] = $link->getImageLink($orderProduct['link_rewrite'], intval($orderProduct['product_id']).'-'.intval($orderProduct['id_image']), 'medium'); $orderProduct['link'] = $link->getProductLink(intval($orderProduct['product_id']), $orderProduct['link_rewrite'], $orderProduct['category_name'], $orderProduct['ean13'] ); } $smarty->assign(array( 'orderProducts' => $orderProducts, 'middlePosition_crossselling' => round(sizeof($orderProducts) / 2, 0) )); } return $this->display(__FILE__, 'crossselling.tpl'); } } {if count($orderProducts) > 0} [removed]var middle = {$middlePosition_crossselling};[removed] [removed][removed] {l s='Customers who bought this product also bought:' mod='crossselling'} {if count($orderProducts) > 5}{l s='Previous' mod='crossselling'}{/if} 5}style="width: {math equation="width * nbImages" width=107 nbImages=$orderProducts|@count}px"{/if}> {foreach from=$orderProducts item='orderProduct' name=orderProduct} {$orderProduct.name|truncate:15:'...'|escape:'htmlall':'UTF-8'} {/foreach} {if count($orderProducts) > 5}{l s='Next' mod='crossselling'}{/if} {/if} Link to comment Share on other sites More sharing options...
4webs.es Posted January 9, 2011 Share Posted January 9, 2011 lo que tienes que modificar es la css de ese modulo, para que los productos ocupen el ancho que tu quieras y floten. Link to comment Share on other sites More sharing options...
kikor1 Posted January 9, 2011 Author Share Posted January 9, 2011 hola, gracias por tu respuesta, ¿pero donde se encuentra eso?, ¿cual es el archivo que habria que modificar?Puede ser este??? var cs_serialScrollNbImagesDisplayed; var cs_serialScrollNbImages; var cs_serialScrollActualImagesIndex; function cs_serialScrollFixLock(event, targeted, scrolled, items, position) { serialScrollNbImages = $('#crossselling_list li:visible').length; serialScrollNbImagesDisplayed = 5; var leftArrow = position == 0 ? true : false; var rightArrow = position + serialScrollNbImagesDisplayed >= serialScrollNbImages ? true : false; $('a#crossselling_scroll_left').css('cursor', leftArrow ? 'default' : 'pointer').css('display', leftArrow ? 'none' : 'block').fadeTo(0, leftArrow ? 0 : 1); $('a#crossselling_scroll_right').css('cursor', rightArrow ? 'default' : 'pointer').fadeTo(0, rightArrow ? 0 : 1).css('display', rightArrow ? 'none' : 'block'); return true; } $(document).ready(function(){ //init the serialScroll for thumbs cs_serialScrollNbImages = $('#crossselling_list li').length; cs_serialScrollNbImagesDisplayed = 5; cs_serialScrollActualImagesIndex = 0; $('#crossselling_list').serialScroll({ items:'li', prev:'a#crossselling_scroll_left', next:'a#crossselling_scroll_right', axis:'x', offset:0, stop:true, onBefore:cs_serialScrollFixLock, duration:300, step: 1, lazy:true, lock: false, force:false, cycle:false }); $('#crossselling_list').trigger( 'goto', [middle-3] ); }); Un saludo Link to comment Share on other sites More sharing options...
4webs.es Posted January 9, 2011 Share Posted January 9, 2011 como te he indicado, la css de tu modulo o la css general. Link to comment Share on other sites More sharing options...
kikor1 Posted January 9, 2011 Author Share Posted January 9, 2011 no si entender he entendido a la primera, el problema es que no tengo ni idea de programacion y cuando me dices eso pues estoy como al principio, sigo sin tener ni idea de donde esta eso de CSS ni que es.GraciasUn saludo Link to comment Share on other sites More sharing options...
kikor1 Posted January 22, 2011 Author Share Posted January 22, 2011 ¿alguien puede explicar algo un poco menos tecnico y mas extenso?Un saludo Link to comment Share on other sites More sharing options...
Caspian Posted January 22, 2011 Share Posted January 22, 2011 esto pasa según leí a los themes que se crearon antes del modulo cross sellingpara arreglarlo tienes que agregar al final del archivo global.css de tu theme el siguiente código /* crosselling block */ #crossselling { margin: 0 auto 0; height: 120px; width: 100% } #crossselling_noscroll { margin: 0 auto 0; height: 120px; width: 100% } #crossselling_list { overflow: hidden; float: left; width: 96% } #crossselling_list ul { padding-left: 0; list-style-type: none } #crossselling_list li { float: left; margin: 0 3px; cursor: pointer; text-align: center; width: 100px; overflow: hidden } #crossselling_scroll_left, #crossselling_scroll_right { background: url('../img/thumbs_left.gif') no-repeat center; text-indent: -3000px; display: block; width: 9px; height: 18px; float: left; margin-top: 30px } #crossselling_scroll_right { background-image: url('../img/thumbs_right.gif') } Y también puedes editar esa parte como quieras para obtener el resultado que buscasSaludos Link to comment Share on other sites More sharing options...
kikor1 Posted January 22, 2011 Author Share Posted January 22, 2011 Ok, muchisimas gracias Caspian, ahora ya funciona correctamente tras introducir ese codigo, te devo una.Gracias de nuevo.Un saludo Link to comment Share on other sites More sharing options...
Diego-M Posted February 24, 2011 Share Posted February 24, 2011 Hola, el código está igual en el global.css de mi web pero el bloque no aparece por ninguna parte de la página de producto, qué puede ser entonces???pueden ver esto: http://www.tomaticos.com/prestashop/product.php?id_product=1 Link to comment Share on other sites More sharing options...
Visualgroup Posted April 11, 2011 Share Posted April 11, 2011 POSIBLEMENTE QUE NO LO TENDRAS ACTIVADO EN EL BACKOFFICE EN EL MENU MODULOS Link to comment Share on other sites More sharing options...
Recommended Posts