mmcfly Posted April 1, 2016 Share Posted April 1, 2016 (edited) Estimados, Actualmente estoy obteniendo la imagen principal del producto y categorías con la función getImageLink, mi consulta es como puedo sacar las demás imágenes del mismo producto, esas que aparecen en el lightbox o en el carro. por ahora solo saco la imagen principal la que esta en la portada, pero necesito las demás que pertenecen al mismo producto. ojala me puedan entender. gracias. Edited April 1, 2016 by mmcfly (see edit history) Link to comment Share on other sites More sharing options...
PrestashopTrackglobe Posted April 1, 2016 Share Posted April 1, 2016 Hola, Lo que indicas tendrás que hacerlo desde la función correspondiente o desde el controlador que quieras (si lo quieres en las categorías CategoryController.php), para ello tendrías que usar la función: getImages($id_lang, Context $context = null) estilo: foreach($products as $key => $product) { $new_product = New Product($product['id_product'], false); $products[$key]['images'] = $new_product->getImages($this->context->language->idd); } otra opción sería crear un archivo /override/classes/Product.php con el siguiente contenido: <?php /* * 2007-2015 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2015 PrestaShop SA * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ class Product extends ProductCore { public function getImages2($id_product, $id_lang, Context $context = null) { return Db::getInstance()->executeS(' SELECT image_shop.`cover`, i.`id_image`, il.`legend`, i.`position` FROM `'._DB_PREFIX_.'image` i '.Shop::addSqlAssociation('image', 'i').' LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.') WHERE i.`id_product` = '.(int)$id_product.' ORDER BY `position`' ); } } esta función te permitiría usarlo en los .tpls {$images = Product::getImages2($product.id_product, $cookie->id_lang)} todo depende de lo que necesites. Un saludo. Link to comment Share on other sites More sharing options...
mmcfly Posted April 1, 2016 Author Share Posted April 1, 2016 (edited) probé lo que pusiste y no funciono y esta claro que estoy haciendo algo mal. te cuento lo que estoy haciendo: quiero dejar en claro que pasando el id de un producto yo obtengo la imagen del producto. lo que quiero es que pasando un solo id del producto me devuelva todas las imágenes que están relacionadas a ese producto. bueno esto fue lo que hice: tengo un archivo php llamado rnoa_light.php y en ese archivo pongo las siguientes lineas require_once $_SERVER["DOCUMENT_ROOT"].'/config/config.inc.php'; require_once $_SERVER["DOCUMENT_ROOT"].'/init.php'; para la imagen del producto uso getImageLink y para las categorias getCatImageLink y funciona todo ok. pero probe el metodo images asi: $id_product = $_GET["id"]; $new_product = New Product($id_product, false); $products[]['images'] = $new_product->getImages(Context::getContext()->language->idd); y me devuelve esto Array ( [0] => Array ( [images] => Array ( [0] => Array ( [cover] => 1 [id_image] => 35 [legend] => [position] => 1 ) ) ) ) despues cambie idd po id asi Context::getContext()->language->id y devuelve esto: Array ( [0] => Array ( [images] => Array ( [0] => Array ( [cover] => 1 [id_image] => 35 [legend] => Pilar de cicatrización Ø 4.6 mm x 7 L (Estándard Titanio) [position] => 1 ) ) ) ) PD: probé también la consulta sql y devuelve lo mismo Edited April 1, 2016 by mmcfly (see edit history) Link to comment Share on other sites More sharing options...
PrestashopTrackglobe Posted April 1, 2016 Share Posted April 1, 2016 Hola, No entiendo a que te refieres, con eso ya te devuelve el array correctamente con los ID de las imágenes y para sacar la URL con la función que has indicado al principio: $new_product = New Product($product['id_product'], false, Context::getContext()->language->id); $images = $new_product->getImages(Context::getContext()->language->id); foreach($images as $image) { $url_image = $this->context->link->link->getImageLink($new_product->link_rewrite, $image['id_image'], 'home_default'); } Un saludo. Link to comment Share on other sites More sharing options...
mmcfly Posted April 1, 2016 Author Share Posted April 1, 2016 si me devolviese un arreglo con todas las imagenes de ese producto estaria ok, pero me devuelve una sola, un solo id de imagen por producto Link to comment Share on other sites More sharing options...
PrestashopTrackglobe Posted April 1, 2016 Share Posted April 1, 2016 Hola, La función getImages que estamos usando devuelve todas las imágenes del producto en cuestión en un array ordenadas por posición. Un saludo. Link to comment Share on other sites More sharing options...
mmcfly Posted April 1, 2016 Author Share Posted April 1, 2016 gracias ya pude hacerlo y fue como dijiste, y el problema fue que estaba probando con productos que tenían una sola imagen y otra vez gracias. le pasa hasta a los mejores. bye. Link to comment Share on other sites More sharing options...
PrestashopTrackglobe Posted April 1, 2016 Share Posted April 1, 2016 Hola de nuevo: Ok perfecto, me alegro que te haya servido. Coloca el tema si quieres como solucionado por si a alguien le sirve en un futuro. Un saludo. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now