Jump to content

ccross

Members
  • Posts

    8
  • Joined

  • Last visited

Profile Information

  • First Name
    carlos
  • Last Name
    caicedo

ccross's Achievements

Newbie

Newbie (1/14)

0

Reputation

1

Community Answers

  1. Buenas, Tengo un par de dudas, a ver si alguien me puede orientar Alguien sabe como podría conseguir el id_atributo o combinación de un producto de la URL {Tools::getValue('id_atributo o combinación ')} 2. Sabéis si existe alguna forma de pasar una variable de javascript a una consulta SQL en smarty <script type="text/javascript"> $(document).ready(function(){ $(".attribute_list").on('change' ,'#group_4',function(){ var variableJavascript = $(this).val(); }); }); </script> {$attrra = Db::getInstance()->getValue(" SELECT u.id_product_attribute FROM ps_product_attribute u inner join ps_product_attribute_combination d on u.id_product_attribute = d.id_product_attribute WHERE id_product ={Tools::getValue('id_product')} and id_attribute=variableJavascript")} Gracias
  2. Buenas, Tengo un par pregunta que me traen de cabeza. Necesito sacar los productos que se ven en una categoría. Estos productos se pueden sacar desde el archivo product_list.tpl. Yo necesitaría recuperar esos productos, pero en un TPL que me he creado nuevo. El product_list.tpl tiene un controlador donde puede se pueden sacar esos productos, pero no puedo acceder a su controlador desde mi TPL nuevo. He intentado acceder a un método de la clase category desde mi TPL llamado getproducts(), pero para ello necesito instanciar la clase category. Según he leído no se puede instanciar un objeto en las plantillas de smarty, con esto me surgen dos preguntas. Podría de alguna forma recuperar información de otros TPLS que estén en la misma pagina Podría crear un controlador para el TPL que he creado y así instanciar el objeto category y usar el método getproducts() Utilizo la versión 1.4 y he intentado lo siguiente, pero no seria la solución, porque esto te crea una pagina con su url especifica y yo lo único que necesito, es recoger los productos de product_list.tpl , en otro TPL. Crear en el directorio raiz,“mipagina.php”. <?php require(dirname(__FILE__).'/config/config.inc.php'); ControllerFactory::getController('MiPaginaController')->run(); ?> Crear el controlador, “MiPaginaController.php” <?php class MiPaginaControllerCore extends FrontController { //definimos los archivos media que queremos cargar public function setMedia() { parent::setMedia(); Tools::addCSS(_THEME_CSS_DIR_.'mipagina.css'); Tools::addJS(_THEME_JS_DIR_.'mipagina.js'); } public function process() { parent::process(); //definimos la variable que queremos mostrar $mivariable = "Hola Mundo"; //declaramos las variables para smarty self::$smarty->assign(array( 'mivariable' => $mivariable )); } public function displayContent() { parent::displayContent(); //definimos el tpl que muestra la página self::$smarty->display(_PS_THEME_DIR_.'mipagina.tpl'); } } ?> crear el tpl <!--mostramos (o no) las breadcumbs--> {include file="$tpl_dir./breadcrumb.tpl"} <!--mostramos nuestra variable--> <p>{$mivariable}</p> Espero podáis echarme una mano, Muchas gracias
  3. Lo he solucionado. He creado un modulo, que cuando llega a la home desde la empresa de banners, cree una cookie y almacene la variable, luego cuando se loguea crea otra cookie con el id de usuario, finalmente cuando vuelve de paypal compara el id del usuario con el almacenado en la cookie y ve si hemos vendido gracias a la empresa de banners. Dejo el código por si a alguien le interesa o da una opinión para mejorarlo . Gracias por tu ayuda Gabriel. public function hookDisplayHome($params) { $click = Tools::getValue('utm_medium'); if (isset($click) && $click=='ClickW'){ $this->context->cookie->__set('clickW', 'si'); } else{ $this->context->cookie->__set('clickW', 'no'); }; return $this->context->cookie->clickW; /*}*/ } public function hookActionValidateOrder($params) { $user = $this->context->cookie->id_customer; $this->context->cookie->__set('user', $user); return $user; } public function hookOrderConfirmation() { $user = $this->context->cookie->id_customer; $userclick = $this->context->cookie->user; $click = $this->context->cookie->clickW; if($user==$userclick && $click=='si'){ $this->context->smarty->assign('clickW' ,true); } }
  4. Gracias por tu ayuda Gabriel. estoy intentando lo que me dices, pero no logro que funcione. Seguramente estoy haciendo algo mal. He ido al orderOpcController recojo las variables pero no logro que desde este controlador las mande al orderconfirmation.tpl. Debo hacer una función nueva para mandar estas variables a otro TPL ? o desde una función que ya esta creada. También se me viene a la cabeza una pregunta. Se puede mandar a un mismo TPL, información de varios controladores. Creo que voy a optar por crear una tabla CPA en la base de datos, que tenga dos campos id_carrito y ExisteCPA (esta variable puede existir o no. La recojo por url). Cuando un cliente este en la página de shopingcart.tpl recogerá las dos variables y las insertara en la tabla CPA. Cuando llegue el cliente a orderConfirmation hara una consulta a la tabla CPA y comparara el id_carrito del orderconfirmation con el que hay en la tabla y comprobara también que hay algún valor en el campo ExisteCPA. Lo malo de esto es que por cada cliente que llegue a la página de shopingcart.tpl se generara un registro en esta tabla, esto no es muy funcional. Y te preguntaras para que todo esto jejeje. Bueno resulta tenemos contratado una empresa donde nos anuncia por banner y cuando alguien hace click desde estos banners la redirecciona a nuestro pagina. La forma de saber que vendemos a través de ellos es con una variable que aparece en la url y siempre se mantiene hasta el final de la compra. Pero hemos encontrado un fallo cuando pagan con PayPal. El cliente va a la página de PayPal paga y vuelve, Pero cuando vuelve ha perdido la variable en la url que nos dice que vienen de los banner, y no podemos saber que hemos vendido gracias a ellos. Bueno va a seguir intentando cosas. Cuando vea la luz lo publicaré, por si a alguien le sucede Gracias nuevamente por tu ayuda Gabriel. Un saludo.
  5. Estoy intentando lo que me dices. Se me ocurre por ejemplo en el controlador de cartControler.php, recoger el id de carrito y la variable pasada por url y mandarla al tpl orderConfirmation.tpl, pero no se como hacerlo, donde tendría que hacerlo?. En el initContent() veo que manda la información de controlador al shopping_cart.tpl pero como podría mandarlo a otro tpl, podrías darme alguna idea , perdona soy muy nuevo en prestashop y a lo mejor estoy delirando un poco . De todos modos muchas gracias por tu ayuda Gabriel
  6. Lo que necesito hacer realmente es guardar dos variables , variableUno= id_carrito y variableDos=variable_url en shopping-cart.tpl , después necesito comprobar en order-confirmation.tpl, que el id_carrito es igual al de shopping-cart.tpl y saber si existe algo en la variableDos. Por eso se me vino a la cabeza, buscar la forma de mandar esas variables . Pero estoy en blanco
  7. Buenas, No sé si se podrá. Necesito mandar a order-confirmation.tpl una variable que recojo en shopingcart.tpl Muchas gracias
  8. Hola buenos días , Esta es mi primera vez en el foro. Estoy tratando de cargar todas las imágenes de los productos de la compra, en el order-confimation.tpl , pero no tengo éxito, he intentado con: - <img itemprop="image" src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')|escape:'html':'UTF-8'}"/> - <img itemprop="image" src="{$link->getImageLink($product.link_rewrite, $product.product_id,'home_default')}"/> y solo consigo que se vea en el navegador <img itemprop="image" src="http://mi_tienda/-large_default/.jpg"> <img itemprop="image" src="http://mi_tienda/-home_default/.jpg"> Pinta toda toda la ruta, menos el nombre de la imagen . Espero podáis ayudarme , gracias.
×
×
  • Create New...