Перейти к содержимому


Фотография
- - - - -

Вывод категорий как в My Cookbook

категория cookbook

Лучший Ответ Cheren-dow , 07 March 2014 - 08:30

И видно, что количество столбцов неизменно, а количество подкатегорий в столбике зависит от общего количества подкатегорий. Как такое реализовать ? 

Можно сделать так. Открываем файл 

сайт\media\zoo\applications\jbuniversal\templates\catalog\renderer\subcategory\directory.php

находим

<?php
if (count($childCategories) > 0) {
	?>
	<ul><?php
	foreach ($childCategories as $childCategory) {

		$childLink = $this->app->route->category($childCategory);

		$childItemCount = 0;
		if ($showCount) {
			$childItemCount = count($childCategory->item_ids);
		}
		?>
		<li>
			<a href="<?php echo $childLink; ?>"
			   title="<?php echo $childCategory->name; ?>"><?php echo $childCategory->name; ?></a>
			<?php if ($showCount && $childItemCount) { ?><span>(<?php echo $childItemCount; ?>)</span><?php } ?>
		</li>
	<?php
	}
	?></ul><?php
}
?>
 

заменяем на 

<?php
if (count($childCategories) > 0) {

$childCategories = array_chunk($childCategories, 2); // вместо 2 указать количество нужных столбцов
?>
<div class="childCategories">
<?php
foreach ($childCategories as $column) : ?>
	<ul>
		<?php foreach ($column as $data) : 
		$childLink = $this->app->route->category($data);
		$childItemCount = 0;
		if ($showCount) {
			$childItemCount = count($data->item_ids);
		}
		?>
		<li>
			<a href="<?php echo $childLink; ?>"
				title="<?php echo $data->name; ?>"><?php echo $data->name; ?></a>
			<?php if ($showCount && $childItemCount) { ?><span>(<?php echo $childItemCount; ?>)</span><?php } ?>
		</li>
		<?php endforeach; ?>
	</ul>
<?php endforeach; ?>
</div>
<?php
}
?> 

Выставляем в настройках приложения вывод категорий в 1 колонку и смотрим результат

bnm_200x0.png

Добавляем немного CSS

ie8_200x0.png

 

Примерно так это делается.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 7

#1 Den_mrt

Den_mrt

Отправлено 07 March 2014 - 06:13

Добрый день.

Что то не соображу как организовать вывод категорий как на странице My Cookbook

http://www.yootheme....ntpage&Itemid=7

 

Мне необходимо чтоб была буква, и в категории названия с этой буквой.

Я так понимаю это реализовать нужно создав категории с буквами и поместив туда нужные категории. А как сделать вывод как на сайте.

 

А

Арбуз

Абрикос

разрыв типа ---------------------------------------------------

Б

Банан

Бакалажан

 

Спасибо за помощь.


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 07 March 2014 - 06:38

Я так понимаю это реализовать нужно создав категории с буквами и поместив туда нужные категории. А как сделать вывод как на сайте.

Den_mrt,  все верно - нужно создать категорию "А" в ней те категории которые к ней относятся и т.д.

Когда то начинал делать этот сайт по такому принципу

А что бы поставить разделители можно сделать следующее

el4_200x0.jpg


  • 0
Изображение
 

#3 Den_mrt

Den_mrt

Отправлено 07 March 2014 - 06:44

Cheren-dow, Спасибо! а как сделать Буквенные категории не активными ? 


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 07 March 2014 - 06:57

а как сделать Буквенные категории не активными ? 

Я создавал копию файла

сайт\media\zoo\applications\jbuniversal\templates\catalog\renderer\subcategory\directory.php 

Из заголовка удалил ссылку

438_200x0.png

И применил новый шаблон


Сообщение отредактировал Cheren-dow: 07 March 2014 - 06:57

  • 0
Изображение
 

#5 Den_mrt

Den_mrt

Отправлено 07 March 2014 - 07:04

Cheren-dow, спасибо! пошел пробовать.


  • 0

#6 Den_mrt

Den_mrt

Отправлено 07 March 2014 - 07:58

Сделал все получилось, единственное, что для полноценности хотелось бы получить:

 

В примере который я привел идет 

Категория

подкатегория1       подкатегория4       подкатегория7

подкатегория2       подкатегория5       подкатегория8

подкатегория3       подкатегория6       подкатегория9

 

И видно, что количество столбцов неизменно, а количество подкатегорий в столбике зависит от общего количества подкатегорий. Как такое реализовать ? 


  • 0

#7 Cheren-dow

Cheren-dow

Отправлено 07 March 2014 - 08:30   Лучший Ответ

И видно, что количество столбцов неизменно, а количество подкатегорий в столбике зависит от общего количества подкатегорий. Как такое реализовать ? 

Можно сделать так. Открываем файл 

сайт\media\zoo\applications\jbuniversal\templates\catalog\renderer\subcategory\directory.php

находим

<?php
if (count($childCategories) > 0) {
	?>
	<ul><?php
	foreach ($childCategories as $childCategory) {

		$childLink = $this->app->route->category($childCategory);

		$childItemCount = 0;
		if ($showCount) {
			$childItemCount = count($childCategory->item_ids);
		}
		?>
		<li>
			<a href="<?php echo $childLink; ?>"
			   title="<?php echo $childCategory->name; ?>"><?php echo $childCategory->name; ?></a>
			<?php if ($showCount && $childItemCount) { ?><span>(<?php echo $childItemCount; ?>)</span><?php } ?>
		</li>
	<?php
	}
	?></ul><?php
}
?>
 

заменяем на 

<?php
if (count($childCategories) > 0) {

$childCategories = array_chunk($childCategories, 2); // вместо 2 указать количество нужных столбцов
?>
<div class="childCategories">
<?php
foreach ($childCategories as $column) : ?>
	<ul>
		<?php foreach ($column as $data) : 
		$childLink = $this->app->route->category($data);
		$childItemCount = 0;
		if ($showCount) {
			$childItemCount = count($data->item_ids);
		}
		?>
		<li>
			<a href="<?php echo $childLink; ?>"
				title="<?php echo $data->name; ?>"><?php echo $data->name; ?></a>
			<?php if ($showCount && $childItemCount) { ?><span>(<?php echo $childItemCount; ?>)</span><?php } ?>
		</li>
		<?php endforeach; ?>
	</ul>
<?php endforeach; ?>
</div>
<?php
}
?> 

Выставляем в настройках приложения вывод категорий в 1 колонку и смотрим результат

bnm_200x0.png

Добавляем немного CSS

ie8_200x0.png

 

Примерно так это делается.


  • 0
Изображение
 

#8 Den_mrt

Den_mrt

Отправлено 07 March 2014 - 09:46

Все получилось, единственное заметил, что значение $childCategories = array_chunk($childCategories, 2) // вместо 2 указать количество нужных столбцов - показывает не сколько столбцов, а по сколько будет разбитие идти. 

 

То есть если указать 2, то будет 

1     3   

2     4

5     7

6     8

 

То есть если необходимо по алфавиту сортировать, то лучше указать 1

1     2

3     4

5     6

7     8

 

А за количество столбцов видимо отвечает значение сдвига, сколько влезет столько и столбцов.

я выставил сдвиг в процентах 45, и значение 1, чтоб было по алфавиту.

 

Cheren-dow, спасибо большое! 


  • 0





Темы с аналогичным тегами категория, cookbook

Click to return to top of page in style!