Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ограниченное количество подкатегорий в меню


meliorist2

Recommended Posts

Добрый день!

 

Подскажите, пожалуйста...

 

Необходимо в меню выводить главную категорию, и, например, первые 5 подкатегорий.

Начиная с 6-й, ничего не выводить, кроме слова "Еще", которое будет ссылкой на главную категорию.

 

Вот код:

 

<!-- category -->
<?php if ($option['type'] == 'category') { ?>
<?php if ($option['show_parent']) { ?>
<a href="<?php echo $option['parent']['href']; ?>" class="parent">
<?php if ($option['show_image'] && $option['parent']['image']) { ?><img src="<?php echo $option['parent']['image']; ?>" alt="<?php echo $option['parent']['name']; ?>"/><?php } ?>
<?php echo $option['parent']['name']; ?>
</a>
<?php } ?>
<?php for ($i = 0; $i < count($option['categories']);) { ?>
<ul style=" width: <?php echo $menu['column_width']; ?>px" class="column category">
 <?php $j = $i + ceil(count($option['categories']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['categories'][$i])) { ?>
<li><a href="<?php echo $option['categories'][$i]['href']; ?>">
<?php if ($option['show_image'] && $option['categories'][$i]['image']) { ?><img src="<?php echo $option['categories'][$i]['image']; ?>" alt="<?php echo $option['categories'][$i]['name']; ?>" title="<?php echo $option['categories'][$i]['name']; ?>"/><?php } ?>
<?php echo $option['categories'][$i]['name']; ?>
</a>
<?php if ($option['show_submenu']) { showSubmenu($option['categories'][$i]); } ?>
</li>
 <?php } ?>
 <?php } ?>
</ul>
<?php } ?>
<?php } ?>

 

Кто-нибудь делал подобное? Поделитесь, пожалуйста!

Надіслати
Поділитися на інших сайтах


код в CODE

<?php for ($i = 0; $i < count($option['categories'])) { ?>
>>

<?php for ($i = 0; $i <= 5) { ?>
...

</ul>
<?php } ?>
>>

</ul>
<?php } ?>
<?php if (count($option['categories']) > 5) { ?>
<a href="<?php echo $option['parent']['href']; ?>" class="more">еще</a>
<?php } ?>
Надіслати
Поділитися на інших сайтах

<?php 

if($data_template){

echo $data_template;

} else { ?>

<?php function showSubmenu($category) {

if (count($category['children']) > 0) {

echo '<div class="sub_menu"><ul>';

foreach ($category['children'] as $cat) {

echo '<li><a href="'.$cat['href'].'">'.$cat['name'].'</a>';

showSubmenu($cat);

echo '</li>';

}

echo '</ul></div>';

}

}

?>

Змінено користувачем afwollis
overquote deleted
Надіслати
Поділитися на інших сайтах


foreach ($category['children'] as $cat) {
>>

$cc_i = 0;
foreach ($category['children'] as $cat) {
...

echo '</li>';
>>

echo '</li>';
$cc_i++;
if ($cc_i >= 5) { break; }

Я, видимо, издеваюсь, но опять нет(

 

[spoiler]<?php 
if($data_template){
echo $data_template;
} else { ?>
<?php function showSubmenu($category) {
if (count($category['children']) > 0) {
echo '<div class="sub_menu"><ul>';
$cc_i = 0;
foreach ($category['children'] as $cat) {
echo '<li><a href="'.$cat['href'].'">'.$cat['name'].'</a>';
showSubmenu($cat);
echo '</li>';
$cc_i++;
if ($cc_i >= 5) { break; }
}
echo '</ul></div>';
}
}
?>
<div id="boss_menu" class="mega-menu">
  <ul>
  <?php foreach ($menus as $menu) { ?>
<li <?php if(count($menu['options'])>0){echo 'class="dropdown-arrow"'; }?>><a href="<?php echo $menu['href']; ?>"><?php echo $menu['title'] ?></a>
<?php if (count($menu['options']) > 0) { ?>
<div style="width: <?php echo $menu['dropdown_width']; ?>px;" class="dropdown">
<?php foreach ($menu['options'] as $option) { ?>
<div style="width: <?php echo $option['width']; ?>px; float: left" class="option">
<!-- manufacturer -->
<?php if ($option['type'] == 'manufacturer') { ?>
<?php for ($i = 0; $i < count($option['manufacturers']);) { ?><ul style=" width: <?php echo $menu['column_width']; ?>px" class="column manufacturer">
 <?php $j = $i + ceil(count($option['manufacturers']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['manufacturers'][$i])) { ?>
<li><a href="<?php echo $option['manufacturers'][$i]['href']; ?>">
<?php if ($option['show_image']) { ?><img src="<?php echo $option['manufacturers'][$i]['image']; ?>" alt="<?php echo $option['manufacturers'][$i]['name']; ?>" title="<?php echo $option['manufacturers'][$i]['name']; ?>"/><?php } ?>
<?php if ($option['show_name']) { ?><?php echo $option['manufacturers'][$i]['name']; ?><?php } ?>
</a></li>
 <?php } ?>
 <?php } ?>
</ul><?php } ?>
<?php } ?>
<!-- category -->
<?php if ($option['type'] == 'category') { ?>
<?php if ($option['show_parent']) { ?>
<a href="<?php echo $option['parent']['href']; ?>" class="parent">
<?php if ($option['show_image'] && $option['parent']['image']) { ?><img src="<?php echo $option['parent']['image']; ?>" alt="<?php echo $option['parent']['name']; ?>"/><?php } ?>
<?php echo $option['parent']['name']; ?>
</a>
<?php } ?>
<?php for ($i = 0; $i <= 5;) { ?>
<ul style=" width: <?php echo $menu['column_width']; ?>px" class="column category">
 <?php $j = $i + ceil(count($option['categories']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['categories'][$i])) { ?>
<li><a href="<?php echo $option['categories'][$i]['href']; ?>">
<?php if ($option['show_image'] && $option['categories'][$i]['image']) { ?><img src="<?php echo $option['categories'][$i]['image']; ?>" alt="<?php echo $option['categories'][$i]['name']; ?>" title="<?php echo $option['categories'][$i]['name']; ?>"/><?php } ?>
<?php echo $option['categories'][$i]['name']; ?>
</a>
<?php if ($option['show_submenu']) { showSubmenu($option['categories'][$i]); } ?>
</li>
 <?php } ?>
 <?php } ?>
</ul>
<?php } ?>
<?php if (count($option['categories']) > 5) { ?>
<a href="<?php echo $option['parent']['href']; ?>" class="more">Еще</a>
<?php } ?>
<?php } ?>
<!-- information -->
<?php if ($option['type'] == 'information') { ?>
<?php for ($i = 0; $i < count($option['informations']);) { ?>
<ul style="width: <?php echo $menu['column_width']; ?>px" class="column information">
 <?php $j = $i + ceil(count($option['informations']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['informations'][$i])) { ?>
<li><a href="<?php echo $option['informations'][$i]['href']; ?>"><?php echo $option['informations'][$i]['title']; ?></a></li>
 <?php } ?>
 <?php } ?>
</ul>
<?php } ?>
<?php } ?>
<!-- static block -->
<?php if ($option['type'] == 'static_block') { ?>
<div class="staticblock"><?php echo $option['description']; ?></div>
<?php } ?>
<!-- product -->
<?php if ($option['type'] == 'product') { ?>
<?php for ($i = 0; $i < count($option['products']);) { ?><ul style="display: table-cell; width: <?php echo $menu['column_width']; ?>px" class="column product">
 <?php $j = $i + ceil(count($option['products']) / $option['column']); ?>
 <?php for (; $i < $j; $i++) { ?>
 <?php if (isset($option['products'][$i])) { ?>
<li>
<?php if ($option['products'][$i]['thumb']) { ?><a href="<?php echo $option['products'][$i]['href']; ?>"><img src="<?php echo $option['products'][$i]['thumb']; ?>" alt="<?php echo $option['products'][$i]['name']; ?>" title="<?php echo $option['products'][$i]['name']; ?>"/></a><?php } ?><div class="boss_info">
<div class="name">
<a href="<?php echo $option['products'][$i]['href']; ?>"><?php echo $option['products'][$i]['name']; ?></a>
</div>
<?php if ($option['products'][$i]['rating']) { ?>
 <div class="rating"><img src="catalog/view/theme/bt_babystore/image/stars-<?php echo $option['products'][$i]['rating']; ?>.png" alt="" /></div>
 <?php } ?>
 <div class="description"><?php echo $option['products'][$i]['description']; ?></div>
<?php if (!$option['products'][$i]['special']) { ?>
<span class="price"><?php echo $option['products'][$i]['price']; ?></span>
<?php } else { ?>
<span class="price-old"><?php echo $option['products'][$i]['price']; ?></span> <span class="price-new"><?php echo $option['products'][$i]['special']; ?></span>
<?php } ?>
</div>
</li>
 <?php } ?>
 <?php } ?></ul>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
</div>
<?php } ?>
</li>
  <?php } ?>
  </ul>
</div>
 <?php } ?>[/spoiler]
Надіслати
Поділитися на інших сайтах


  • 7 months later...

У меня примерно такая же задача... нужно чтобы показывалось 7 главных категорий в меню, а если их больше 7 - то последним было слово "Еще" и под ним в выпадающем меню остальные категории.

 

Помогите пожалуйста. 

 

Вот код

			<?php if ($categories) { ?>
			<?php $a=1; foreach ($categories as $category) { if ($a<8) { ?>
			<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name'];?></a>

			<?php if ($category['children']) { ?>
				<!-- SubMenu -->
				
				<div class="sub-menu column-<?php echo $category['column']; ?>">
					<ul>
						
						<?php $i = 0; for (; $i < count($category['children']); $i++) { ?>
						<li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a>
							
							<?php if(isset($category['children'][$i]['category_id'])) { ?>
								<?php $categories_2 = $this->model_catalog_category->getCategories($category['children'][$i]['category_id']);
								if($categories_2) { ?>
								<br />
								<!-- SubMenu -->
								
								<div class="sub-menu">
									<ul>
										
										<?php foreach ($categories_2 as $category_2) { ?>
										<li><a href="<?php echo $this->url->link('product/category', 'path='.$category['category_id'].'_' . $category['children'][$i]['category_id'] . '_' . $category_2['category_id']); ?>"><?php echo $category_2['name']; ?></a></li>
										<?php } ?>	
									
									</ul>

								</div>
								
								<!-- End SubMenu -->
								
								<?php } ?>
							<?php } ?>
						
						</li>

						<?php } ?>
					
					</ul>

				</div>
				
				<!-- End SubMenu -->
				
				<?php } ?>
			
			</li>
			<?php } $a++; } ?>
			<?php } ?>

Сейчас просто отображается 7 категорий, а остальные просто не видны в меню.

Змінено користувачем sergeybelov
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.