Я работаю над сайтом Magento, который использует расширение WordPress Fishpig. У нас есть виджет категорий, отображаемый в левой боковой панели & это установлено, чтобы показать иерархию.
Он работает на двух уровнях (то есть ул & Ли с .level0
& .level1
), но не показывает категории 3 уровня глубоко, т.е. level2
Я проверил это на базовой установке WordPress, и я могу заставить его отображать категории на 3 уровня ниже, но я не могу заставить его работать на Magento с интегрированной WordPress fishpig. Я назначил сообщения для всех подкатегорий.
Я вижу в template/wordpress/sidebar/widget/categories.phtml
что есть этот блок кода для получения дочерних категорий level1:
<?php else: ?>
<?php foreach($categories as $category): ?>
<li class="level0 item<?php if ($this->isCurrentCategory($category)): ?> active<?php endif; ?>">
<a class="level0" href="<?php echo $category->getUrl() ?>" title="<?php echo $category->getName() ?>">
<?php echo $category->getName() ?>
</a><?php if ($this->getCount()): ?> (<?php echo $category->getPostCount() ?>)<?php endif; ?>
<?php if ($this->getHierarchical()): ?>
<?php $children = $children = $category->getChildrenCategories() ?>
<?php if (count($children) > 0): ?>
<ul class="level1">
<?php foreach($children as $child): ?>
<?php if ($child->getPostCount() > 0): ?>
<li class="level1 item<?php if ($this->isCurrentCategory($child)): ?> active<?php endif; ?>">
» <a href="<?php echo $child->getUrl() ?>" title="<?php echo $child->getName() ?>" class="level1"><?php echo $child->getName() ?></a><?php if ($this->getCount()): ?> (<?php echo $child->getPostCount() ?>)<?php endif; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
<?php endif; ?>
Есть ли способ отобразить более двух уровней категорий WordPress на Magento с Fishpig?
Я обновил template/wordpress/sidebar/widget/categories.phtml
включить 3-й уровень и все заработало 🙂
<?php foreach($categories as $category): ?>
<li class="level0 item<?php if ($this->isCurrentCategory($category)): ?> active<?php endif; ?>">
<a class="level0" href="<?php echo $category->getUrl() ?>" title="<?php echo $category->getName() ?>">
<?php echo $category->getName() ?>
</a><?php if ($this->getCount()): ?> (<?php echo $category->getPostCount() ?>)<?php endif; ?>
<?php if ($this->getHierarchical()): ?>
<?php $children = $children = $category->getChildrenCategories() ?>
<?php if (count($children) > 0): ?>
<ul class="level1">
<?php foreach($children as $child): ?>
<?php if ($child->getPostCount() > 0): ?>
<li class="level1 item<?php if ($this->isCurrentCategory($child)): ?> active<?php endif; ?>">
» <a href="<?php echo $child->getUrl() ?>" title="<?php echo $child->getName() ?>" class="level1"><?php echo $child->getName() ?></a><?php if ($this->getCount()): ?> (<?php echo $child->getPostCount() ?>)<?php endif; ?>
<?php $children2 = $children2 = $child->getChildrenCategories() ?>
<?php if (count($children2) > 0): ?>
<ul class="level2">
<?php foreach($children2 as $child2): ?>
<?php if ($child2->getPostCount() > 0): ?>
<li class="level12 item<?php if ($this->isCurrentCategory($child2)): ?> active<?php endif; ?>">
» <a href="<?php echo $child2->getUrl() ?>" title="<?php echo $child2->getName() ?>" class="level1"><?php echo $child2->getName() ?></a><?php if ($this->getCount()): ?> (<?php echo $child2->getPostCount() ?>)<?php endif; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
Других решений пока нет …