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

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


dmonco

Recommended Posts

Пытаюсь доработать модуль вывода категорий на главной странице.

С первым решением помогли. Теперь выводятся не только категории, но и подкатегории. Проблема в том, что в некоторых категориях больше 20 подкатегорий, и естественно вид сего этого не очень.

Поэтому хочу ограничить вывод подкатегорий к примеру до 10.

Думаю, надо использовать array_slice а куда его и как вместить хрен его знает. Знания на этом заканчиваются.

Буду рад за помощь.

Пример вывода категорий и подкатегорий сейчас:

Изображение

Вот сам файл

<?php
class ControllerModulecategoryhome4 extends Controller {
protected $category_id = 0;
protected $path = array();
protected function index() {
  $this->language->load('module/categoryhome4');
	 $this->data['heading_title'] = $this->language->get('heading_title');
  $this->load->model('catalog/category');
  $this->load->model('tool/image');
  if (isset($this->request->get['path'])) {
   $this->path = explode('_', $this->request->get['path']);
   $this->category_id = end($this->path);
  }
  $url = '';
  $this->data['categoryhome4'] = $this->getCategories($this->config->get('categoryhome4_category'));
  $this->id = 'categoryhome4';
  if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/categoryhome4.tpl')) {
   $this->template = $this->config->get('config_template') . '/template/module/categoryhome4.tpl';
  } else {
   $this->template = 'default/template/module/categoryhome4.tpl';
  }
  $this->render();
   }
																 //dymm
protected function getCategories($parent_id, $current_path = '',$stop = false) {
  $categoryhome4 = array();
  $category_id = array_shift($this->path);
  $results = $this->model_catalog_category->getCategories($parent_id);
  $i=0;
  foreach ($results as $result) {
   if (!$current_path)
   {
	$new_path = $result['category_id'];
   }
   else
   {
	$new_path = $current_path . '_' . $result['category_id'];
   }

   if ($this->category_id == $result['category_id']) {
   $categoryhome4[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path);
   } else {
   $categoryhome4[$i]['href'] =  $this->url->link('product/category', 'path=' . $new_path);
   }
   if ($result['image']) {
	$image = $result['image'];
   } else {
	$image = 'no_image.jpg';
   }
   $categoryhome4[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110);
   $categoryhome4[$i]['name'] = $result['name'];
   //dymm  ------------------>
   if(!$stop)
	$categoryhome4[$i]['subcats'] = $this->getCategories($result['category_id'],$new_path,true);
   //dymm  <------------------
		$i++;
  }

  return $categoryhome4;
}
}
?>
Змінено користувачем afwollis
Надіслати
Поділитися на інших сайтах


сложно сразу дать правильный ответ, потому как проверить нет возможности

попробуйте добавить

	   	 if ($stop && $i==10){
				break;
			}
после

	   	 //dymm  ------------------>
			if (!$stop)
				$categoryhome4[$i]['subcats'] = $this->getCategories($result['category_id'], $new_path, true);
			//dymm  <------------------
			$i++;
Надіслати
Поділитися на інших сайтах

Вообще есть мысли усовершенствовать модуль.

Предлагаю скинутся.

Как Вы думаете, такой модуль будет интересен публике?

Сейчас модуль выводит категории второй вложенности и третьей (можно первой и второй).

В админке можно выбрать первый уровень категории, т.е. при выборе категории первого уровня, будут выводится на сайт 2-й и 3-й уровень категорий в виде блоков, как сейчас у меня на сайте: http://technolife.net.ua

Минусы в том, что в админке можно выбрать только одну категорию.

Задача.

Переделать выбор категорий в админке на чекбоксы, чтобы можно было выбирать несколько разных и разной вложенности.

Я предлагаю сделать в виде блоков.

По умолчанию будет один. Я отмечаю чекбоксом, что будет в первом блоке.

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

В самом блоке кроме выбора категорий хочу сделать пустую строчку и чекбокс внизу, где можно будет прописать текст ссылки и второе поле, где можно будет вставить урл ссылки, даже если это будет внешняя ссылка.

Ещё плюс такого модуля в том, что блоки заполняются слева направо по очереди. То есть если в админке я добавлю 7 модулей, к примеру, 5 выстроятся в первый ряд, остальные 2 слева во вторую строку.

Кое-что нарисовал, прилагаю.

Что скажет народ?

Сейчас

Изображение

После - изображение 1

Изображение

После- изображение 2

Изображение

После - изображение 3

Изображение

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


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

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

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

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

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

Вхід

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

Вхід зараз

×
×
  • Створити...

Important Information

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