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

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

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

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

 

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

 

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

 

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

 

 

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

 

 

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

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


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

имеется в виду типа этого  http://joxi.ru/jcsZVP3JTJAoXfIBdmI

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

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


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

есть нечто подобное

 

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


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

To Pascha

 

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

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

 

Как то так.

 

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

 

To Einshtein

 

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

 

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

 

 

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

 

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

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


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

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

(в той карточке товара просто используется 4 клона рекомендуемых
1. для модификации (с обратнойсвязью) 
2. для товаров входящих в комплект (обратная связь пока существует, но будет удалена за ненадобностью)
3. для сопутствующих
4. для похожих...

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

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

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


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

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

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

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

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

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

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

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

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

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
Вот тут неплохо реализовано после характеристик и описания вкладка дополнительно.

 

Тут вообще то предлагается прикупить к ванне еще пару девайсов

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

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


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

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

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

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


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

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

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

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

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

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

 

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

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


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

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

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

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


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

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

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

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


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

Прикол в том, что я хочу спарсить товар с этого сайта, импортирую через модуль 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/ и поработать напильником?

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


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

может тогда посмотреть в сторону этого модуля 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"

 

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


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

А как сделать просто поле (с текстом)

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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