Jump to content

[SOLUCIONADO] Obtener datos Id producto, url e imagen de la página que se visualiza


Sabi

Recommended Posts

Buenos días

 

Creé un módulo que se muestra en la página de los productos, en el módulo tengo tanto el fichero .php cómo el .tpl. Mis dudas son las siguientes:

  • Cómo recoger en el .php el id del producto que se visualiza en ese momento.
  • Cómo recoger en el .php el url de ese producto.

Sé que para mostrar el id del producto en el mismo .tpl solo es necesario escribir {$product->id}, pero no sé cómo mostrar la ruta o url. También lo que necesito es guardar esos datos en el .php en alguna variable o algo no solo mostrarlos en el .tpl.

 

Muchas gracias este foro me ha ayudado muchísimo.

Edited by Sabi (see edit history)
Link to comment
Share on other sites

Buenos días

 

Creé un módulo que se muestra en la página de los productos, en el módulo tengo tanto el fichero .php cómo el .tpl. Mis dudas son las siguientes:

  • Cómo recoger en el .php el id del producto que se visualiza en ese momento.
  • Cómo recoger en el .php el url de ese producto.

Sé que para mostrar el id del producto en el mismo .tpl solo es necesario escribir {$product->id}, pero no sé cómo mostrar la ruta o url. También lo que necesito es guardar esos datos en el .php en alguna variable o algo no solo mostrarlos en el .tpl.

 

Muchas gracias este foro me ha ayudado muchísimo.

 

Aquí: http://www.prestasho...-clase-hookphp/ tienes explicado como obtener el id del producto actual en el fichero .php del modulo.

 

 

$id_del_producto = Tools::getValue('id_product');

Link to comment
Share on other sites

Buenos días de nuevo

 

Primeramente agradeceros enormemente la ayuda nadie y statictic, estoy resolviendo muchos problemas gracias a vosotros.

 

He conseguido obtener la id del producto en el php, pero no logro por más que busco mostrar la url de la página en la que se encuentra. Si lo he conseguido mostrar en el .tpl con el método {$link->getProductLink($product)} que he encontrado en estos foros. Pero la necesito en el .php

 

Otra pregunta que me gustaría haceros es cómo hacer una consulta o link a la imagen determinada de un producto (al tratarse de una web de vinilos en un principio tan solo tenemos una por cada producto)

 

Muchas gracias

Link to comment
Share on other sites

Buenos días de nuevo

 

Primeramente agradeceros enormemente la ayuda nadie y statictic, estoy resolviendo muchos problemas gracias a vosotros.

 

He conseguido obtener la id del producto en el php, pero no logro por más que busco mostrar la url de la página en la que se encuentra. Si lo he conseguido mostrar en el .tpl con el método {$link->getProductLink($product)} que he encontrado en estos foros. Pero la necesito en el .php

 

 

 

global $cookie, $link;
$product = new Product((int)Tools::getValue('id_product'), false, (int)$cookie->id_lang);
$productLink = $link->getProductLink($product);

Link to comment
Share on other sites

Muy buenas Nadie, siento la tardanza en la contestación, pero es en el trabajo dónde suelo acceder a internet.

 

Esta mañana he conseguido gracias a vosotros obtener en el .php tanto la id del producto cómo la url completa. Eso por ahora me funciona perfectamente para pasárselo cómo información a un módulo que yo he creado.

Sin embargo, no me ha dado tiempo a probar la ayuda de Statictic de cara a las imágenes es por eso que en cuanto pueda continuar trabajando os informaré.

 

Que no se me pase dar las gracias por toda la ayuda que me estáis dando los dos.

Link to comment
Share on other sites

Muy buenas Nadie, siento la tardanza en la contestación, pero es en el trabajo dónde suelo acceder a internet.

 

Esta mañana he conseguido gracias a vosotros obtener en el .php tanto la id del producto cómo la url completa.

 

Que no se me pase dar las gracias por toda la ayuda que me estáis dando los dos.

 

Me alegro de que te funcionara )

 

Un placer ayudarte y servirte.

Link to comment
Share on other sites

Buenas tardes de nuevo Nadie y Statictic

 

Por ahora he conseguido prácticamente que me funcione todo, salvo la ruta a las imágenes de los productos (debo cargarlas según la id del producto en el módulo que he creado). He probado el código proporcionado por Statictic:

$imageLink = Product::getCover((int)Tools::getValue('id_product');

$mediumSize = Image::getSize('medium');

 

Sin embargo únicamente me devuelve el valor "Array" (deduzco que un conjunto de valores). Sin embargo, buscando he conseguido encontrar en estos mismos foros en inglés lo siguiente:

$id_image = Product::getCover($id_product);
if (sizeof($id_image) > 0) {
    $image = new Image($id_image['id_image']);
    // get image full URL
   $image_url = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg";
}

 

Y lo que me devuelve es: http://www.suvinilo.com/prueba/img/p/.jpg

Sin el nombre de la imagen, creo que es por la versión de prestashop y no sé si conoceréis la solución. He buscado en estos mismos foros y he visto que hay gente con el mismo problema pero no resuelven nada.

 

Muchas gracias por toda la ayuda Nadie y Statictic

Link to comment
Share on other sites

Ya he conseguido solucionarlo! Posteo las soluciones resumidas por si a alguien le sirven

  • Obtener la id del producto que estamos visualizando en ese momento:

$id_del_producto = Tools::getValue('id_product');
$smarty->assign ('variable3', $id_del_producto);

 

Lo mostraríamos en el .tpl con {$variable3}

  • Obtener la url completa del producto que estamos visualizando:

global $cookie, $link;
$product = new Product((int)Tools::getValue('id_product'), false, (int)$cookie->id_lang);
$productLink = $link->getProductLink($product);
$smarty->assign ('prueba', $productLink);

 

Lo mostraríamos en el .tpl con {$prueba}

  • Obtener el path completo a la imagen del producto que estamos visualizando en ese momento:

$id_image = Product::getCover((int)Tools::getValue('id_product'));
if (sizeof($id_image) > 0) {
    $image = new Image($id_image['id_image']);
   $image_url = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg";
}
$smarty->assign ('variable5', $image_url);

 

Lo mostraríamos en el .tpl con {$variable5}

 

 

Dar especialmente las gracias a Nadie y Statictic por toda la ayuda que me habéis dado, he conseguido solucionarlo todo.

Muchas gracias :D

Link to comment
Share on other sites

Ya he conseguido solucionarlo! Posteo las soluciones resumidas por si a alguien le sirven

  • Obtener la id del producto que estamos visualizando en ese momento:

$id_del_producto = Tools::getValue('id_product');
$smarty->assign ('variable3', $id_del_producto);

 

Lo mostraríamos en el .tpl con {$variable3}

  • Obtener la url completa del producto que estamos visualizando:

global $cookie, $link;
$product = new Product((int)Tools::getValue('id_product'), false, (int)$cookie->id_lang);
$productLink = $link->getProductLink($product);
$smarty->assign ('prueba', $productLink);

 

Lo mostraríamos en el .tpl con {$prueba}

  • Obtener el path completo a la imagen del producto que estamos visualizando en ese momento:

$id_image = Product::getCover((int)Tools::getValue('id_product'));
if (sizeof($id_image) > 0) {
	$image = new Image($id_image['id_image']);
$image_url = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg";
}
$smarty->assign ('variable5', $image_url);

 

Lo mostraríamos en el .tpl con {$variable5}

 

 

Dar especialmente las gracias a Nadie y Statictic por toda la ayuda que me habéis dado, he conseguido solucionarlo todo.

Muchas gracias :D

 

 

Estoy feliz, por que entre todos hemos conseguido que haya sido posible conseguir una solución.

 

Un saludo y recuerda que estaremos en este mundo lleno de oscuridad y tinieblas para guiarte por el foro.

Link to comment
Share on other sites

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