Rinden solo niños en $ _Menu
-
12-12-2019 - |
Pregunta
es.
Tengo la siguiente categoría: categoría principal (!= raíz)
Main category
|
|- sub category 1
|
|- sub category 2
|
|- sub category 3
mi navegación,
<ul>
<?php echo $_menu ?>
</ul>
ahora representa
Main category
¿Cómo puedo conseguirlo para hacer solo las subcategorías secundarias, como
Subcategory 1
Subcategory 2
Subcategory 3
(La razón por la que pongo todas mis categorías en una versión principal es poder enlazar a mysite.com/shop para todos los productos. Categoría principal, por lo tanto, es / tienda)
Solución
probablemente puede hacerlo al sobrescribir el archivo app/core/Mage/Catalog/Block/Navigation.php
aplicación / código / local / yourcompany / catálogo / etc / config.xml:
<?xml version="1.0"?>
<config>
<modules>
<YourCompany_Catalog>
<version>1.0</version>
</YourCompany_Catalog>
</modules>
<global>
<blocks>
<catalog>
<rewrite>
<navigation>YourCompany_Catalog_Block_Navigation</navigation>
</rewrite>
</catalog>
</blocks>
</global>
</config>
aplicación / código / local / yourcompany / catálogo / bloque / navegación.php:
class YourCompany_Catalog_Block_Navigation extends Mage_Catalog_Block_Navigation {
public function renderCategoriesMenuHtml($level = 0, $outermostItemClass = '', $childrenWrapClass = '')
{
$activeCategories = array();
foreach ($this->getStoreCategories() as $child) {
if ($child->getIsActive()) {
$activeCategories[] = $child;
}
}
$activeCategoriesCount = count($activeCategories);
$hasActiveCategoriesCount = ($activeCategoriesCount > 0);
if (!$hasActiveCategoriesCount) {
return '';
}
$html = '';
$j = 0;
foreach ($activeCategories as $category) {
foreach ($category->getChildren() as $child) { // Added this loop to bypass the first top categories
$html .= $this->_renderCategoryMenuItemHtml(
$child,
$level,
($j == $activeCategoriesCount - 1),
($j == 0),
true,
$outermostItemClass,
$childrenWrapClass,
true
);
$j++;
}
}
return $html;
}
}
aplicación / etc / módulos / yourcompany.xml:
<?xml version="1.0"?>
<config>
<modules>
<YourCompany_Catalog>
<active>true</active>
<codePool>local</codePool>
</YourCompany_Catalog>
</modules>
</config>
Visión general global de los archivos a crea: app código local Tu compañía Catalogar Cuadra Navegación.php etc. config.xml etc. módulos YourCompany_catalog.xml