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

Товары в качестве опции.


magneto2010

Recommended Posts

Столкнулся с тем, что некоторые люди, продают товары которые состоят из нескольких товаров, которые можно заказать + к основному,(типо комплект), хотел такое же на opencart, думал есть какие то модули, но подходящего ничего не нашел.

 

Все что есть - оно выводит просто как опцию, (Фото + имя + цена) одной строкой - а хотелось бы чтобы был полноценный товар, т.е. можно было щелкнуть на ссылку и посмотреть характеристики дополнительного товара, и тд.

 

Не знаю почему еще этот модуль не создали еще. 

 

Вопрос - мог бы кто то создать такой модуль? или допилить существующие.

 

 

* в платном разделе отписался, но тишина. 

 

 

Пишите любо сюда, либо в лс. Спасибо.

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


To Pascha

 

Да да, что то типо этого, только чтобы у каждого доп товара что в комлекте, была видна своя цена и checkbox - для выбора, если он нужен...

И при выборе доп товара, цена сразу обновлялась в общую сумму. 

 

Как то так.

 

Вы предлагаете этот модуль или как?

 

To Einshtein

 

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

 

Но все равно спасибо.

 

 

Вот тут неплохо реализовано после характеристик и описания вкладка дополнительно.

 

ps спасибо ребята за реагирование и ответы.

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


открою маааааааленький секрет   :-D  это просто вывод рекомендуемых товаров...цена и кнопка купить там тупо убраны 

(в той карточке товара просто используется 4 клона рекомендуемых

1. для модификации (с обратнойсвязью) 

2. для товаров входящих в комплект (обратная связь пока существует, но будет удалена за ненадобностью)

3. для сопутствующих

4. для похожих...

не стоит выдумывать велосипед, если он уже есть)))

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

 

ггг... Молодец. А я почему то не подумал про это. Спасибо!!!!! 

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


я так понял основная загвоздка, сделать покупку товара зависимой от выбора этой опции (аксессуара)
Ну тогда самый простой путь - в опциях (тип image) добавить поддержку поля для ссылки, которая будет служить ссылкой в опции на нужный товар.
Таким образом создаем опцию с названием товара, вставляем картинку этого товара, прописываем ссылку на сам товар и вуаля...

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

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


я так понял основная загвоздка, сделать покупку товара зависимой от выбора этой опции (аксессуара)

Ну тогда самый простой путь - в опциях (тип image) добавить поддержку поля для ссылки, которая будет служить ссылкой в опции на нужный товар.

Таким образом создаем опцию с названием товара, вставляем картинку этого товара, прописываем ссылку на сам товар и вуаля...

Это если самый простой и неудобный путь.

Другие не рассматриваю, но жопа чует много гемороя

 

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

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


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

не ближайшие 2 недели :)

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


Прикол в том, что я хочу спарсить товар с этого сайта, импортирую через модуль import/export pro, а там помойму нет привязки товара с рекомендуемыми. 

 

 

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

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


Einshtein тут я полностью с тобой согласен, просто нужно вернуться к первому вопросу: что нужно

1. разобрать товар по составляющим и дать возможность их просмотреть и купить отдельно

2. собрать товар из составляющих, которые можно просмотреть и купить отдельно

3. докупить к товару чегой то еще....

вот от этого и плясать...

 

По сути вы написали, все что нужно... как бы одно и тоже.

 

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

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


опции то да...сможете...а чем спарситься ссылка на этот товар? )))

 

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

 

Но вот вопрос к Einshtein - ваш способ как будет реализован? Ссылка у опции появиться откуда? Из БД ? т.е. на этот товар что в отдельной категории? 

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


может тогда посмотреть в сторону этого модуля https://opencartforum.com/files/file/637-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%BA%D0%B8-vqmod/ и поработать напильником?

 

Может быть, я честно не знаю как Einshtein-y будет удобней.  Но думаю не плохая основа.

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


если появится пара минут - попробую реализовать и выложу в этой теме

 

 

Спасибо, буду благодарен $$$. 

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


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

 

Но вот вопрос к Einshtein - ваш способ как будет реализован? Ссылка у опции появиться откуда? Из БД ? т.е. на этот товар что в отдельной категории? 

будет добавлена дополнительная строка в бд, в таблицу option_value_description в которую будут записываться ссылки, а в админке будет дополнительный инпут возле значения опции - в который можно будет добавить ссылку

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

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


Ну значения будут браться со стандартных опций или нет? 

 

Как мне загнать товар, как опции? 

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


Инструкция
(Делаем внимательно, сохраняем последовательность и расположения кода..я из-за невнимательности намаялся не мало)

 

1) Добавляем новое поле (links) в базе данных в таблицу option_value_description, после поля "name" , с параметрами varchar / 255 / utf8_general_ci  (все остальные параметры не трогаем)
В итоге получится должно вот так:
864a0baa1c75.png

или запросом
 

ALTER TABLE `префикс_option_value_description` ADD `links` varchar(255) NOT NULL; 

не забудьте префикс поменять на свой

2) открываем admin/model/catalog/option.php 

 

ищем

foreach ($option_value['option_value_description'] as $language_id => $option_value_description) {
					$this->db->query("INSERT INTO " . DB_PREFIX . "option_value_description SET option_value_id = '" . (int)$option_value_id . "', language_id = '" . (int)$language_id . "', option_id = '" . (int)$option_id . "', name = '" . $this->db->escape($option_value_description['name']) . "'");
				}

заменяем на
 

foreach ($option_value['option_value_description'] as $language_id => $option_value_description) {
					$this->db->query("INSERT INTO " . DB_PREFIX . "option_value_description SET option_value_id = '" . (int)$option_value_id . "', language_id = '" . (int)$language_id . "', option_id = '" . (int)$option_id . "', name = '" . $this->db->escape($option_value_description['name']) . "', links = '" . $this->db->escape($option_value_description['links']) .  "'");
				}

ищем

foreach ($option_value['option_value_description'] as $language_id => $option_value_description) {
					$this->db->query("INSERT INTO " . DB_PREFIX . "option_value_description SET option_value_id = '" . (int)$option_value_id . "', language_id = '" . (int)$language_id . "', option_id = '" . (int)$option_id . "', name = '" . $this->db->escape($option_value_description['name']) . "'");
				}

заменяем на

foreach ($option_value['option_value_description'] as $language_id => $option_value_description) {
					$this->db->query("INSERT INTO " . DB_PREFIX . "option_value_description SET option_value_id = '" . (int)$option_value_id . "', language_id = '" . (int)$language_id . "', option_id = '" . (int)$option_id . "', name = '" . $this->db->escape($option_value_description['name']) . "', links = '" . $this->db->escape($option_value_description['links']) . "'");
				}

ищем
 

foreach ($option_value_description_query->rows as $option_value_description) {				
				$option_value_description_data[$option_value_description['language_id']] = array('name' => $option_value_description['name']);
				
			}

после вставляем

$option_value_description_data2 = array();
			
			$option_value_description_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "option_value_description WHERE option_value_id = '" . (int)$option_value['option_value_id'] . "'");			
			foreach ($option_value_description_query->rows as $option_value_description) {				
				$option_value_description_data2[$option_value_description['language_id']] = array('links' => $option_value_description['links']);
				
			}

после 
 

'option_value_description' => $option_value_description_data,

вставляем

'option_value_description2' => $option_value_description_data2,	

3) открываем admin/controller/catalog/option.php

ищем

'option_value_description' => $option_value['option_value_description'],

после вставляем

'option_value_description2' => $option_value['option_value_description2'],

4) открываем admin/view/template/catalog/option_form.tpl

ищем
 

<td class="left"><div class="image"><img src="<?php echo $option_value['thumb']; ?>" alt="" id="thumb<?php echo $option_value_row; ?>" />

перед ним вставляем

 <td class="left"><input type="hidden" name="option_value[<?php echo $option_value_row; ?>][option_value_id]" value="<?php echo $option_value['option_value_id']; ?>" />
                <?php foreach ($languages as $language) { ?>
                <input type="text" name="option_value[<?php echo $option_value_row; ?>][option_value_description][<?php echo $language['language_id']; ?>][links]" value="<?php echo isset($option_value['option_value_description'][$language['language_id']]) ? $option_value['option_value_description2'][$language['language_id']]['links'] : ''; ?>" />
                <img src="view/image/flags/<?php echo $language['image']; ?>" title="<?php echo $language['name']; ?>" /><br />
                <?php } ?></td>

ищем

html += '    </td>';

после него вставляем

  html += '    <td class="left"><input type="hidden" name="option_value[' + option_value_row + '][option_value_id]" value="" />';
	<?php foreach ($languages as $language) { ?>
	html += '<input type="text" name="option_value[' + option_value_row + '][option_value_description][<?php echo $language['language_id']; ?>][links]" value="" /> <img src="view/image/flags/<?php echo $language['image']; ?>" title="<?php echo $language['name']; ?>" /><br />';
    <?php } ?>
	html += '    </td>';

ищем

 <td class="left"><?php echo $entry_image; ?></td> 

до него вставляем

<td class="left">ссылка</td> 

С админкой покончили, теперь если все правильно сделано - в админке - каталог - опции - изменить - добавить значение - появится дополнительное поле, которое будет служить ссылкой для нашей опции. То есть - выбираем тип опции "изображение",  добавляем новое значение опции, называем его например, "Iphone", напротив этого имени значения добавляем любую ссылку (например на страницу этого товара), добавляем изображение товара и сохраняем. Если все было сделано правильно - то сохранение пройдет успешно и при повторном заходе в эту опцию - имя, ссылка и картинка сохранятся на своих местах. Если нет - ищем, где мы накосячили, возможно код вставили не в том месте.

 

Теперь пользовательская часть

1) открываем catalog/model/catalog/product.php
ищем
 

'name'                    => $product_option_value['name'],

после вставляем
 

'links'                   => $product_option_value['links'],

2) открываем catalog/controller/product/product.php
 

после

'name'                    => $option_value['name'],

вставляем 

'links'                    => $option_value['links'],

3) открываем catalog/view/theme/Ваша_тема/template/product/product.tpl

 

ищем

<?php echo $option_value['name']; ?>

и заменяем во всех местах на 

<?php if ($option_value['links']) { ?><a href="<?php echo $option_value['links']; ?>"><?php echo $option_value['name']; ?></a> <?php } else { ?><?php echo $option_value['name']; ?><?php } ?>

Если нужно чтобы ссылка открывалась в новой вкладке, то после <a  нужно прописать target="_blank"

 

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


  • 6 months later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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