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

Как создать в магазине категорию услуг


Recommended Posts

Идея в том. чтобы в Open Cart создать витрину услуг или сделать словарь (энциклопедию). Есть товары, у которых есть цена и все остальное.
А есть услуги (или статьи), которые удобно заводить в магазине также как и товары. Но у них не должно быть цены, кнопки купить, сравнить и все остальное.

 

Здесь есть две задачи:

1. Чтобы в категории был список услуг в виде сетки без цен с некими изображениями

2. Чтобы когда посетитель кликал по услуге, он попадал в ее карточку без цены и остальных атрибутов, присущих товарам. 

Я на эту тему нашел два текста.

 

Первый - как вообще из Open Cart убрать цены. Хороший пост на Хабре "Переделываем OpenCart в CMS сайта-визитки, или OpenCart «витрина» style" - http://habrahabr.ru/sandbox/64228/

Второй - как создать новую схему в Open Cart http://s-engineer.ru/dobavlyaem-novuyu-stranicu-sxemu-v-opencart/

 

Я эти два способа скрестил. То есть создал схему A и прописал ее в контроллере и View (файл TPL) по статье номер 1. Для клонирования использовал файлы category - php и tpl

Затем я вырезал из tpl представление цены. 

 

И вот не работает. То есть в категории услуги отображаются с ценой. 

 

Может быть есть модуль. который решает мою задачу или кто-то делал сам это все? Не могу сказать, что разобрался как контроллер PHP обменивается данными с моделью и View. И вероятно решение проблемы именно здесь. 

 

 

 

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


как вариант - если у вас товары-услуги имеют в качестве главной категории какую-то или какие-то конректно категории - то скройте вот так:

 ниже кусок из vqmod файла

	<!-- МОДЕЛЬ -->
	<file name="catalog/model/catalog/category.php">
		<operation error="log"> 
			<search position="before"><![CDATA[
				public function getCategory($category_id) {
			]]></search>
			<add><![CDATA[
				public function getProductMainCategory($product_id) {
				$query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . $product_id . "' ORDER BY main_category DESC LIMIT 1");
				return (isset($query->row['category_id']) ? $this->getCategory($query->row['category_id']) : false);
				}
			]]></add>
		</operation>
	</file>

	<!-- КОНТРОЛЛЕР -->
	<file path="catalog/controller/product/" name="category.php">
		<operation error="skip">
			<search position="before"><![CDATA[
				$this->data['products'][] = array(
			]]></search>
			<add><![CDATA[
				$main_category_info = $this->model_catalog_category->getProductMainCategory($result['product_id']);
			]]></add>
		</operation>
		<operation error="skip">
			<search position="after"><![CDATA[
				'product_id'  => $result['product_id'],
			]]></search>
			<add><![CDATA[
				'main_category'       => ($main_category_info ? $main_category_info['category_id'] : false), 
			]]></add>
		</operation>
	</file>

а во вьюхе оберните что надо скрывать, подставьте айди главной категории услуг
 

<?php if (!$product['main_category']=='1') { ?>
 тут код кнопки и цена
<?php }?>

в таваре так
 

	<file path="catalog/controller/product/" name="product.php">
		<operation error="skip" info=""> 
			<search position="before"><![CDATA[
				$this->load->model('tool/image');
			]]></search>
			<add><![CDATA[
				$categories = $this->model_catalog_product->getCategories($product_id);
				if ($categories)
				$categories_info = $this->model_catalog_category->getCategory($categories[0]['category_id']);
				$this->data['main_category_id'] = $categories_info['category_id'];
			]]></add>
		</operation>
	</file>

и во вьюхе товара оберните так
 

<?php if (!$main_category_id=='1') { ?>

<?php }?>
Надіслати
Поділитися на інших сайтах

В базе сделайте поле в таблице product и назовите как угодно. В админке в карточку товара прикрутите чекбокс типа да\нет. В карточке товара проверяйте условие, если чекбокс говорит да - выводится товар, если нет - услуга

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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