Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


magneto2010
 Поделиться

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

Столкнулся с тем, что некоторые люди, продают товары которые состоят из нескольких товаров, которые можно заказать + к основному,(типо комплект), хотел такое же на 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 месяцев спустя...

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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