Jump to content

Crear miniatura de un producto solo con su ID


R.ACE

Recommended Posts

Hola.

Estoy intentando mostrar la miniatura de un producto en una pagina generada por un modulo, pero el modulo solo me da el ID del producto.

Hay alguna funcion en prestashop 1.7 que me pueda dar la información del producto teniendo solo su ID.

Gracias de antemano.

Link to comment
Share on other sites

  On 3/12/2019 at 11:31 PM, burrots said:

Si en el tpl del modulo solo te da la ID, tendras q agregrale por php las variables q quieras mostrar de mas...

Suerte

Expand  

Gracias por tu respuesta.

No tengo mucha idea de php y prestashop en general.

Estoy usando el modulo gratis para blog XpertBlog, pero abandonaron el proyecto.

Estoy intentando hacer que se muestre el producto del que se habla en el blog, pero el modulo solamente da su id.

intente usar:

     $products = Product::getProducts(3, 0, 500,'price','asc',14,'true');

    la cual me da la lista de productos.

 pero al momento de llamar a la miniatura en el tpl

{foreach from=$products item="product"}
                <div class="col-xs-6 col-md-3 card" >
                      {include file="catalog/_partials/miniatures/product.tpl" product=$product}
                </div>
   {/foreach}

me marca error "undefined index" de varios atributos de los productos

Edited by R.ACE (see edit history)
Link to comment
Share on other sites

Llamando asi los productos por Product::getProducts no puedes utilizar:

{include file="catalog/_partials/miniatures/product.tpl" product=$product}

Por eso te da el error undefined index

Intenta hacer tmb manualmente el tpl dnd se muestre la informacion que contiene $products

{include file="catalog/_partials/miniatures/product_min.tpl" product=$product}

Suerte

Link to comment
Share on other sites

  On 3/13/2019 at 11:37 PM, burrots said:

Llamando asi los productos por Product::getProducts no puedes utilizar:

{include file="catalog/_partials/miniatures/product.tpl" product=$product}

Por eso te da el error undefined index

Intenta hacer tmb manualmente el tpl dnd se muestre la informacion que contiene $products

{include file="catalog/_partials/miniatures/product_min.tpl" product=$product}

Suerte

Expand  

Lo estoy haciendo manual, pero ahora tengo otro problema.

Quiero la url de la imagen del producto. Encontre que en las clases esta link.php con la funcion "getImageLink".

uso este codigo: "$img_link = LinkCore::getImageLink($idm,$imi);"

Pero al momento de usarla me el error:

FatalThrowableError: Using $this when not in object context

en el archivo link.php, el cual no he modificado.

Edited by R.ACE (see edit history)
Link to comment
Share on other sites

  On 3/13/2019 at 11:53 PM, R.ACE said:

Lo estoy haciendo manual, pero ahora tengo otro problema.

Quiero la url de la imagen del producto. Encontre que en las clases esta link.php con la funcion "getImageLink".

uso este codigo: "$img_link = LinkCore::getImageLink($idm,$imi);"

Pero al momento de usarla me el error:

FatalThrowableError: Using $this when not in object context

en el archivo link.php, el cual no he modificado.

Expand  

Quita el core 🤣

Link::getImageLink($idm,$imi);

 

Link to comment
Share on other sites

  On 3/13/2019 at 11:56 PM, burrots said:

Quita el core 🤣

Link::getImageLink($idm,$imi);

 

Expand  

Me sigue dando el mismo error 😭

$img_link = Link::getImageLink($idm, $imi, 'small_default');

me da error aqui:

 Link.php line 816

el codigo en esa linea empieza aqui:

if ($this->allow == 1) {
                $uriPath = __PS_BASE_URI__.$idImage.($type ? '-'.$type : '').$theme.'/'.$name.'.jpg';
            } else {
                $uriPath = _THEME_PROD_DIR_.Image::getImgFolderStatic($idImage).$idImage.($type ? '-'.$type : '').$theme.'.jpg';
            }

Edited by R.ACE (see edit history)
Link to comment
Share on other sites

  On 3/14/2019 at 12:09 AM, burrots said:

puedes pasar el codigo d lo q tienes hecho

quiero ver d dnd sacas $idm i $imi

 

Expand  

$idm viene del $producto['link_rewrite']  me nombre de la url amigable de la imagen

$imi lo saco de la funcion "getCover($producto['id_product'])" me da el id de la imagen

asi que la funcion seria asi:

$img_link = getImageLink('exvoto-agave-con-mano', '803', 'small_default');

Edited by R.ACE (see edit history)
Link to comment
Share on other sites

  On 3/14/2019 at 12:15 AM, R.ACE said:

$idm viene del $producto['link_rewrite']  me nombre de la url amigable de la imagen

$imi lo saco de la funcion "getCover($producto['id_product'])" me da el id de la imagen

asi que la funcion seria asi:

$img_link = getImageLink('exvoto-agave-con-mano', '803', 'small_default');

Expand  

estas en un tpl o php?

Creo q el problema es q estas en tpl y no lo pones bien, prueba asi:

$link->getImageLink('exvoto-agave-con-mano', '803', 'small_default')

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

  On 3/14/2019 at 12:20 AM, burrots said:

estas en un tpl o php?

Creo q el problema es q estas en tpl y no lo pones bien, prueba asi:

$link->getImageLink('exvoto-agave-con-mano', '803', 'small_default')

Expand  

Gracias, ya funciono.

Aunque lo estaba haciendo en el php, no se porque pasaba ese error.

tuve que ponerlo en el tpl.

Link to comment
Share on other sites

  On 3/14/2019 at 12:30 AM, R.ACE said:

Gracias, ya funciono.

Aunque lo estaba haciendo en el php, no se porque pasaba ese error.

tuve que ponerlo en el tpl.

Expand  

El problema antes era q en php intentabas llamar un funcion no estatica sin haber creado antes el objeto, seria asi:

$link = New Link();

$link->getImageLink('exvoto-agave-con-mano', '803', 'small_default');

 

Aunque seria mejor asi aun:

$this->context->link->getImageLink('exvoto-agave-con-mano', '803', 'small_default');

Por si tmb te sirve

Suerte

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...