Jump to content

Modulo crossselling "cruz venta"


kikor1

Recommended Posts

hola
he 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

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

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.

Gracias
Un saludo

Link to comment
Share on other sites

  • 2 weeks later...

esto pasa según leí a los themes que se crearon antes del modulo cross selling

para 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 buscas
Saludos

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...