Mostrar imágenes de subcategorias

Estado
Cerrado para nuevas respuestas

sandra

Nuevo usuario
Hola, necesito saber cómo hacer para mostrar las imágenes de las subcategorías, en lugar de mostrar las de los productos. Estas las puedo mostrar bien, pero no sé cómo hacer para mostrar las subcategorías.

El menú tiene:
TV, al posicionarme ahí se despliega un submenú con Televisores, DVD, etc, estos que a su vez tienen otros submenús con los productos finales.

Necesito que al hacer clic sobre TV, me muestre las imagenes de Televisores, DVD, etc

Alguien sabe cómo puedo hacer esto??
Muchas gracias!!

Sandra
 

sandra

Nuevo usuario
Gracias!

Hola Damián, muchas gracias por contestar, y claro que espero tu post ansiosamente!!
Muchas gracias,
Sandra
 

sandra

Nuevo usuario
Mostrar imágenes de subcategorías

Hola, este código trae la lista de nombres de las subcategorías de la categoría en la que estoy posicionada. Lo puse en un layout propio en:
app/design/frontend/default/default/template/page/2columns-right-custom.phtml.

<?php
$obj = new Mage_Catalog_Block_Navigation();
$store_cats = $obj->getStoreCategories();
$current_cat = $obj->getCurrentCategory();

$current_cat = (is_object($current_cat) ? $current_cat->getName() : '');

foreach ($store_cats as $cat) {
if ($cat->getName() == $current_cat) {
//echo '<li class="current"><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n<ul>\n";
foreach ($obj->getCurrentChildCategories() as $subcat) {
echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n";
}
echo "</ul>\n</li>\n";
} else {
//echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a></li>\n";
}
}
?>

Sólo faltaría mostrar las imágenes. Damián o alguien me podría decir cómo hago?
Muchas gracias!!
Sandra
 

Larry

Miembro
Mira a ver si esto te sirve. Si tienes dudas pregunta lo que sea.


Saludos.
 
Última edición por un moderador:

sandra

Nuevo usuario
Gracias!!

Gracias Damián!! Por ahora no necesito instalar lo del catálogo de imágenes.
Gracias Larry!! ese link que me pasaste me re sirvió!! Ya puedo mostrar las imágenes de las subcategorías.

Ahora sólo me quedan dos preguntas:

El código que me muestra las imágnes de las subcategorías es este:
<?php
$obj = new Mage_Catalog_Block_Navigation();
$store_cats = $obj->getStoreCategories();
$current_cat = $obj->getCurrentCategory();
$current_cat = (is_object($current_cat) ? $current_cat->getName() : '');
foreach ($store_cats as $cat) {
if ($cat->getName() == $current_cat) { foreach ($obj->getCurrentChildCategories() as $subcat) {
echo '<div style="width:150px; float:left; padding:5px;"><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName().'</a> &nbsp;';
?>
<a href="#"><img src="<?php echo $subcat->getImageUrl() ?>" width="113" height="50" alt="<?php echo $subcat->getName()?>"/></a></div>
<?php }
}
}
?>


Estas subcategorías pueden o no tener subcategorías:
Las dos preguntas son:

1) Si tienen subcategorías, al hacer clic sobre la imágen, tendría que mostrar las imágenes correspondientes. (a qué método tendría que llamar en cada link para mostrar las imágenes de las sub subcategorías??)

2) Si no tienen subcategorías, tendrías que mostrar las imágnes de los productos. (a qué método tendría que llamar en cada link para mostrar los productos??)

Muchas gracias!!!

Sandra
 

sandra

Nuevo usuario
Me confundí!

Este código no es necesario:
$obj = new Mage_Catalog_Block_Navigation(); $store_cats = $obj->getStoreCategories();
$current_cat = $obj->getCurrentCategory(); $current_cat = (is_object($current_cat) ? $current_cat->getName() : '');
foreach ($store_cats as $cat) {
if ($cat->getName() == $current_cat) { foreach ($obj->getCurrentChildCategories() as $subcat) {
echo '<div style="width:150px; float:left; padding:5px;"><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName().'</a> &nbsp;';
?>
<a href="#"><img src="<?php echo $subcat->getImageUrl() ?>" width="113" height="50" alt="<?php echo $subcat->getName()?>"/></a></div>
<?php
}
}
}

Sólo con el link que mandó Larry funciona a la perfección!!!

Mil Gracias!!!!!!

Sandra
 

Larry

Miembro
De nada, a servir :jeje: Me alegro que te fuera de gran ayuda.

Saludos!
 

sandra

Nuevo usuario
2 preguntas más

1) Alguien sabe en qué archivo encuentro el desarrollo del método getChildHtml(); porque necesito cambiar cómo me muestra las imágenes de las subcategorías.

2) Cómo puedo hacer para que el título de la categoría no aparezca?
Ej: en el menú tengo Computadoras y al hacer clic ahí, que no aparezca el nombre Computadoras.

Como subcategoria de Computadoras tengo Laptop, al hacer clic ahí, tampoco debería aparecer el título Laptop, ni la imágen grandota de Laptop.
La imágen la tengo que cargar sí o sí para que me la muestre como subcategoría cuando hago clic en Computadoras.

Muchas gracias!!

Sandra
 

sandra

Nuevo usuario
Vista de las subcategorías

El archivo que modifiqué para que muestre las imágenes de las categorías en forma diferente es:
app/design/frontend/default/default/template/catalog/navigation/sub_category_listing.phtml

Ahora sólo me faltaría saber cómo hago para que no me muestre ni el título ni la imágen grande de la subcategoría.

Gracias!!

Sandra
 

Larry

Miembro
Si no voy equivocado tienes que editar el archivo:

app/design/frontend/tu_tema/tu_tema/template/catalog/category/view.phtml

y comentar las lineas:

PHP:
<h2><?php echo $_helper->categoryAttribute($_category, $this->htmlEscape($_category->getName()), 'name') ?></h2>
    </div>
    <?php if($_imgHtml): ?>
        <p><?php echo $_imgHtml?></p>
    <?php endif; ?>
que son las que llaman a la URL de la imagen y al nombre de la categoria.

Saludos.
 

sandra

Nuevo usuario
Productos destacados

Hola, alguien sabe alguna manera de poner productos destacados?

Lo que hice yo fue: en un layout mio, personalizado, agregué un código que encontré. Este código está harckodeado. Hay alguna manera de hacerlo dinámico?

Muchas gracias!!

Sandra

PD: El código que encontré es este:
HTML:
[CODE][HTML]<!--productos destacados-->				
<div style="float:left;">					
<div class="content-block-3 page-new-products">
<div class="page-title">
  <div class="border-left">
    <div class="border-right">
      <div class="corner-left-top">
        <div class="corner-right-top">
          <div class="border-bot">            
            <h2>Productos Destacados</h2>            
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
<div class="block-content">
  <div class="border-bot">
    <div class="border-left">
      <div class="border-right">
        <div class="left-bot">
          <div class="right-bot">
            <table class="products-grid" id="products-grid-table">
              <tr>
                 <td><h3 class="product-name"><a href="{{store url='hp-laserjet-9040dn-de-64mb-40ppm-a4-usb.html'}}" title="HP LaserJet 9040DN/DE">HP LaserJet 9040DN/DE<br />   64MB 40ppm A4 USB</a></h3>
                      <div class="a-center"> 
                            <a class="product-image" href="{{store url='hp-laserjet-9040dn-de-64mb-40ppm-a4-usb.html'}}" title="HP LaserJet 9040DN/DE"><span class="img-top"><span><span>&nbsp;</span></span></span><span class="img-content"><span class="img-content"><img src="http://192.168.1.169/magento/media/catalog/product/cache/2/image/5e06319eda06f020e43594a9c230972d/1/3/1335612-hp.jpg" width="187" height="131" alt="HP LaserJet 9040DN/DE" title="HP LaserJet 9040DN/DE" /></span></span><span class="img-bot"><span><span>&nbsp;</span></span></span></a>
                          <div class="price-box"> <span class="regular-price" id="product-price-34"><span class="price">500,00 &euro;</span></span> </div>
                          <a href="{{store url='hp-laserjet-9040dn-de-64mb-40ppm-a4-usb.html'}}"><button class="button"><span><span><span>Comprar</span></span></span></button></a>                      
                      </div></td>                
                 <td><h3 class="product-name"><a href="{{store url='home-appliances/kitchen-appliances/microwaves-whirlpool-amw-460.html'}}" title="microwaves Whirlpool AMW 460">microwaves<br /> Whirlpool AMW 460</a></h3>
                  <div class="a-center"> <a class="product-image" href="{{store url='home-appliances/kitchen-appliances/microwaves-whirlpool-amw-460.html'}}" title="microwaves Whirlpool AMW 460"><span class="img-top"><span><span>&nbsp;</span></span></span><span class="img-content"><span class="img-content"><img src="{{skin url='images/media/image02.jpg'}}" width="187" height="131" alt="microwaves Whirlpool AMW 460" title="microwaves Whirlpool AMW 460" /></span></span><span class="img-bot"><span><span>&nbsp;</span></span></span></a>
                    <div class="price-box"><span class="regular-price" id="product-price-35"><span class="price">$159.99</span></span></div>
                    <a href="{{store url='home-appliances/kitchen-appliances/microwaves-whirlpool-amw-460.html'}}"><button class="button"><span><span><span>Add to cart</span></span></span></button></a>                    
                  </div></td>
                <td class="last"><h3 class="product-name"><a href="{{store url='mobile-phones/motorola-motorizr-z10.html'}}" title="Motorola MOTORIZR Z10">Motorola MOTORIZR Z10</a></h3>
                  <div class="a-center"><a class="product-image" href="{{store url='mobile-phones/motorola-motorizr-z10.html'}}" title="Motorola MOTORIZR Z10"><span class="img-top"><span><span>&nbsp;</span></span></span><span class="img-content"><span class="img-content"><img src="{{skin url='images/media/image03.jpg'}}" width="187" height="131" alt="Motorola MOTORIZR Z10" title="Motorola MOTORIZR Z10" /></span></span><span class="img-bot"><span><span>&nbsp;</span></span></span></a>
                    <div class="price-box"><span class="regular-price" id="product-price-36"><span class="price">$99.99</span></span></div>
                    <a href="{{store url='mobile-phones/motorola-motorizr-z10.html'}}"><button class="button"><span><span><span>Add to cart</span></span></span></button></a>                    
                  </div></td>
              </tr>
              <tr>
                  <td colspan="3" class="grid-divider"><div>&nbsp;</div></td>
              </tr>
              <tr class="last">
                  <td><h3 class="product-name"><a href="{{store url='home-appliances/vacuums-floor-care/electrolux-zb-412c.html'}}" title="Electrolux ZB 412C">Electrolux ZB 412C</a></h3>
                      <div class="a-center"><a class="product-image" href="{{store url='home-appliances/vacuums-floor-care/electrolux-zb-412c.html'}}" title="Electrolux ZB 412C"><span class="img-top"><span><span>&nbsp;</span></span></span><span class="img-content"><span class="img-content"><img src="{{skin url='images/media/image04.jpg'}}" width="187" height="131" alt="Electrolux ZB 412C" title="Electrolux ZB 412C" /></span></span><span class="img-bot"><span><span>&nbsp;</span></span></span></a>
                        <div class="price-box"><span class="regular-price" id="product-price-37"><span class="price">$49.99</span></span></div>
                        <a href="{{store url='home-appliances/vacuums-floor-care/electrolux-zb-412c.html'}}"><button class="button"><span><span><span>Add to cart</span></span></span></button> </a>                       
                      </div></td>
                <td><h3 class="product-name"><a href="{{store url='audio-video/yamaha-pianocraft-mcr-e-320.html'}}" title="Yamaha  PianoCraft MCR-E 320">Yamaha<br />  PianoCraft MCR-E 320</a></h3>
                      <div class="a-center"> <a class="product-image" href="{{store url='audio-video/yamaha-pianocraft-mcr-e-320.html'}}" title="Yamaha  PianoCraft MCR-E 320"><span class="img-top"><span><span>&nbsp;</span></span></span><span class="img-content"><span class="img-content"><img src="{{skin url='images/media/image05.jpg'}}" width="187" height="131" alt="Yamaha  PianoCraft MCR-E 320" title="Yamaha  PianoCraft MCR-E 320" /></span></span><span class="img-bot"><span><span>&nbsp;</span></span></span></a>
                        <div class="price-box"><span class="regular-price" id="product-price-38"><span class="price">$270.99</span></span></div>
                        <a href="{{store url='audio-video/yamaha-pianocraft-mcr-e-320.html'}}"><button class="button"><span><span><span>Add to cart</span></span></span></button></a>                        
                      </div></td> 
                <td class="last"><h3 class="product-name"><a href="{{store url='cameras-camcorders/panasonic-nv-gs85ee-s.html'}}" title="Panasonic NV-GS85EE-S">Panasonic NV-GS85EE-S</a></h3>
                      <div class="a-center"> <a class="product-image" href="{{store url='cameras-camcorders/panasonic-nv-gs85ee-s.html'}}" title="Panasonic NV-GS85EE-S"> <span class="img-top"><span><span>&nbsp;</span></span></span><span class="img-content"><span class="img-content"><img src="{{skin url='images/media/image06.jpg'}}" width="187" height="131" alt="Panasonic NV-GS85EE-S" title="Panasonic NV-GS85EE-S" /></span></span><span class="img-bot"><span><span>&nbsp;</span></span></span></a>
                        <div class="price-box"><span class="regular-price" id="product-price-39"><span class="price">$230.99</span></span></div>
                        <a href="{{store url='cameras-camcorders/panasonic-nv-gs85ee-s.html'}}"><button class="button"><span><span><span>Add to Cart</span></span></span></button></a>                        
                      </div></td>
              </tr>
            </table> 
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
</div>
<div class="page-banners">
    <a href="{{store url='contacts/'}}"><img src="{{skin url='images/media/banner_2.jpg'}}" border="0" class="img-indent" /></a>
    <a href="{{store url='contacts/'}}"><img src="{{skin url='images/media/banner_3.jpg'}}" border="0" class="img-indent"/></a>
    <a href="{{store url='contacts/'}}"><img src="{{skin url='images/media/banner_4.jpg'}}" border="0" /></a>
</div> 
</div><!--productos destacados-->
[/CODE][/HTML]
 

Larry

Miembro
La mejor solucion a tu problema es que crees un nuevo atributo a tus productos que se llame Producto Destacado, del tipo DropDown y con las Opciones predeterminadas Si/No. De este modo podras decir cuales son tus productos destacados.

Despues una vez hecho esto, te quedará implementra un nuevo .phtml y un nuevo .php que te pase por la funcion los productos con el atributo que has creado.

Finalmente llamaras desde tu Home en el CMS al .phtml que has creado. Parece dificil eh! XDD No lo es tanto como crees. Yo tube el mismo problema con unos productos determinados y segui este articulo al pie de la letra y Voilá! Funciono a la perfecccion y a la primera:

http://www.codestash.com/2008/08/magento-home-page-custom-attribute/

Otra opcion seria crearte una Categoria nueva fuera del root_catalog que se llamara Destacados, añadir a esa categoria los productos que te interesen y llamarla desde el Home CMS con el id de la categoria correspondiente. La forma seria:

PHP:
{{block type="catalog/product_list" category_id="2" template="catalog/product/list.phtml}}
donde en category_id pondrias el id de la categoria Destacados.

Saludos!
 

Xarlie

Super Moderador
Miembro del equipo
Otra opción es crearte una categoría de "destacados" y meter allí los productos.
La categoría la muestras como no visible (para que no salga en el menú) pero puedes llamarla directamente desde el CMS o desde código, dependiendo de tu idea.

Por cierto, abre nuevos hilos para no mezclar temas ;)
 

sandra

Nuevo usuario
Productos destacados

Gracias Larry!! Gracias Xarlie!! Prometo para la próxima abrir nuevos hilos para no mezclar temas. Ahora les quería agradecer y contarles que me sirvió mucho lo que me dijeron.
Creé la categoría Destacados y la subcategoría Laptop, y le asigné los productos que quiero que sean los destacados.
Después cree un bloque estático y en el contenido le puse esto:
{{block type="catalog/navigation" template="catalog/navigation/sub_category_listing.phtml"}}
<div style="float:left;">
<h2><br><br>Productos Destacados</h2>
{{block type="catalog/product_list" category_id="518" template="catalog/product/list_destacados.phtml}}
</div>

1) sub_category_listing.phtml: es el archivo adjunto que me bajé del link que me había pasado Larry en un post anterior.

2) 518 es el id de la subcategoria Laptop

3) list_destacados.phtml es una copia de list.phtml. Esta copia la hice para poder modificar la forma de mostrar los productos destacados.

Muchas gracias!!!!

Sandra
 
Estado
Cerrado para nuevas respuestas
Arriba