Перейти к содержанию
foma

Листинг всех категорий и товаров на одной странице

Рекомендуемые сообщения

Нужно взять manufacturer.php и переписать без оглядки на производителя. Добавить tpl по вкусу.Получится симпатичный плагин.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вообще самый быстрый способ - чуть чуть поправить плагин google-base чтобы на выходе был не XML формат, а CSV. И давать ссылку "Скачать прайс" на этот плагин. Народ будет кликать, а Эксель или Openoffice будет это дело открывать.Кстати, хорошая идея. Напишу ка я это дело.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

большое спасибо за ваши ответы...но я дал подобный пример, чтобы было понятно что мне нужно вывести.целью является не формирование прайса, а вывод в блоке списка категорий информации в следующем формате:категория 1- название товара из категории 1- название товара из категории 1- подкатегория категории 1категория 2- название товара из категории 2- название товара из категории 2- подкатегория категории 2...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

никто не может помочь советом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может)

$this->data['category'] = $this->getCategories(0);function getCategories($parent_id, $current_path = '') {	$category_id = array_shift($this->path);	$output = '';	$results = $this->model_catalog_category->getCategories($parent_id);	if ($results) { 		$output .= '[list]';    	}			foreach ($results as $result) {			if (!$current_path) {			$new_path = $result['category_id'];		} else {			$new_path = $current_path . '_' . $result['category_id'];		}					$output .= '[*]';		$children = '';		$children = $this->getCategories($result['category_id'], $new_path);		$products_out = '';		$products = $this->model_catalog_product->getProductsByCategoryId($result['category_id'], 'pd.name', 'ASC', 0, 100000); // не более 100 тысяч товаров выводит, сортировка по имени.		foreach ($products as $product) {			$products_out.= '[*]**'.$product['name'].' - '.$product['price'].'';		}					$output .= '[b] '. $result['name'] . '[/b]';						        	$output .= $children;		$output .= $products_out;        	$output .= ''; 	} 	if ($results) {		$output .= '[/list]';	}		return $output;}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Fix305 это то что нужно, спасибо большое!

а как реализовать вывод списка товаров только из родительской категории, а из подкатегории - не показывать?

Изображение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Честно говоря я уже забыл что я там писал, но попробуй добавить условие

if ($result['parent_id'] === '0') {...}

на этот кусочек:

$products = $this->model_catalog_product->getProductsByCategoryId($result['category_id'], 'pd.name', 'ASC', 0, 100000); // не более 100 тысяч товаров выводит, сортировка по имени.      foreach ($products as $product) {         $products_out.= '[*]**'.$product['name'].' - '.$product['price'].'';      }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

очень даже неплохо получилось)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.