Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Поддержка] Опции в категориях (с обновлением цены)


seregin
 Поделиться

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

Как можно изменить место вывода опций? Сейчас они выводятся выше цены, мне нужно вывести в другом месте шаблона.

в xml файле найдите, 875 строка

 

<search><![CDATA[
<?php if ($product['price']) { ?>
]]></search>
 
там поменяйте
 
<add position="before"><![CDATA[
 
на <add offset="1" position="before"><![CDATA[
 
в offset="" установите нужное число, можно отрицательное, с помощью него можно сместить вставку кода на нужное место.
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Есть проблема с переменными в выпадающем списке: http://joxi.ru/V2Vv9eQuxkOyp2

Опции товара: http://joxi.ru/D2Py9BbcpJEOMA

 

Еще вопрос по модификации install.xml, правильно понимаю, что нужно просто его отредактировать и закинуть архив с модулем опять в модификатор без удаления старой версии?

Изменено пользователем NSS89
Ссылка на комментарий
Поделиться на других сайтах

Есть проблема с переменными в выпадающем списке: http://joxi.ru/V2Vv9eQuxkOyp2

Опции товара: http://joxi.ru/D2Py9BbcpJEOMA

 

Еще вопрос по модификации install.xml, правильно понимаю, что нужно просто его отредактировать и закинуть архив с модулем опять в модификатор без удаления старой версии?

Возможно вы используете еще модуль, который изменяет код опций. Посмотрите ocmod.log, есть ли там NOT FOUND.

Да отредактировать и переустановить.

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

Вот что в логах, довольно много NOT FOUND:

 
	----------------------------------------------------------------	MOD: Options Category	FILE: system/library/cart.php	CODE: SELECT price	LINE: 180	LINE: 187	CODE: public function getProducts	LINE: 61	CODE: $price = $product_	LINE: 212	LINE: 233	LINE: 245	CODE: $option_price = 0;	LINE: 90	CODE: if ($option_value_query->row['points_prefix'] == '+'	LINE: 116	LINE: 167	CODE: $this->data[$key] = array(	LINE: 349	FILE: admin/controller/catalog/product.php	CODE: protected function getForm() {	LINE: 525	CODE: $data['product_specials'][] = array(	LINE: 1196	CODE: $data['product_discounts'][] = array(	LINE: 1175	FILE: catalog/controller/checkout/cart.php	CODE: public function add() {	LINE: 468	FILE: catalog/controller/module/featured.php	CODE: $data['products'] = array();	LINE: 20	CODE: $data['products'][] = array(	LINE: 108	CODE: $data['products'][] = array(	LINE: 111	FILE: catalog/controller/module/bestseller.php	CODE: $data['products'] = array();	LINE: 20	FILE: catalog/controller/module/latest.php	CODE: $data['products'] = array();	LINE: 20	FILE: catalog/controller/module/special.php	CODE: $data['products'] = array();	LINE: 20	CODE: $data['button_cart']	LINE: 34	CODE: $data['button_cart']	LINE: 34	CODE: $data['button_cart']	LINE: 34	CODE: $data['button_cart']	LINE: 34	FILE: catalog/controller/product/category.php	CODE: $data['button_cart']	LINE: 136	FILE: catalog/controller/product/manufacturer.php	CODE: $data['button_cart']	LINE: 185	FILE: catalog/controller/product/search.php	CODE: $data['button_cart']	LINE: 175	FILE: catalog/controller/product/special.php	CODE: $data['button_cart']	LINE: 103	FILE: catalog/controller/product/product.php	CODE: $data['button_cart']	LINE: 277	CODE: $data['products'][] = array(	LINE: 126	CODE: $data['products'][] = array(	LINE: 129	CODE: $data['products'][] = array(	LINE: 133	CODE: $data['products'][] = array(	LINE: 136	CODE: $data['products'][] = array(	LINE: 133	CODE: $data['products'][] = array(	LINE: 136	CODE: $data['products'][] = array(	LINE: 283	CODE: $data['products'][] = array(	LINE: 286	CODE: $data['products'][] = array(	LINE: 284	CODE: $data['products'][] = array(	LINE: 287	CODE: $data['products'][] = array(	LINE: 316	CODE: $data['products'][] = array(	LINE: 319	CODE: $data['products'][] = array(	LINE: 201	CODE: $data['products'][] = array(	LINE: 204	CODE: $data['tab_review'] = sprintf($this->language->get('tab_review'), $product_info['reviews']);	LINE: 290	CODE: $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false));	LINE: 369	CODE: if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {	LINE: 367	CODE: 'price'                   => $price,	LINE: 389	CODE: 'price_prefix'            => $option_value['price_prefix']	LINE: 392	CODE: $product_option_value_data[] = array(	LINE: 387	CODE: $product_option_value_data[] = array(	LINE: 390	CODE: $data['products'][] = array(	LINE: 521	CODE: $data['products'][] = array(	LINE: 524	FILE: admin/controller/setting/setting.php	CODE: $data['heading_title'] = $this->language->get('heading_title');	LINE: 37	CODE: $data['header'] = $this->load->controller('common/header');	LINE: 1336	FILE: catalog/view/theme/default/template/product/product.tpl	CODE: value="<?php echo $option_value['product_option_value_id']; ?>" />	LINE: 204	LINE: 225	LINE: 246	CODE: <?php echo $option_value['name']; ?>	LINE: 208	LINE: 232	LINE: 256	CODE: <?php if ($option_value['price']) { ?>	LINE: 186	LINE: 206	LINE: 230	LINE: 254	CODE: (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)	LINE: 189	LINE: 211	LINE: 237	LINE: 263	CODE: <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" />	LINE: 271	CODE: <div class="radio">	LINE: 205	LINE: 265	CODE: <div class="checkbox">	LINE: 237	CODE: type="radio" name="option[	LINE: 209	LINE: 272	CODE: <select name=option[	LINE: 182	CODE: type="checkbox" name="option[	LINE: 242	CODE: <?php echo $price; ?>	LINE: 150	LINE: 153	CODE: <?php echo $special; ?>	LINE: 159	CODE: <?php echo $tax; ?>	LINE: 165	FILE: catalog/view/theme/theme627/template/product/product.tpl	CODE: value="<?php echo $option_value['product_option_value_id]; ?>" />	NOT FOUND!	CODE: <?php echo $option_value['name']; ?>	LINE: 245	LINE: 272	LINE: 301	CODE: <?php if ($option_value['price']) { ?>	LINE: 220	LINE: 243	LINE: 270	LINE: 299	LINE: 694	LINE: 723	LINE: 750	LINE: 780	CODE: (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)	LINE: 223	LINE: 248	LINE: 277	LINE: 308	LINE: 705	LINE: 736	LINE: 765	LINE: 797	CODE: <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" />	NOT FOUND!	CODE: <div class="radio">	LINE: 243	LINE: 309	LINE: 745	LINE: 813	CODE: <div class="checkbox">	LINE: 278	LINE: 786	CODE: type="radio" name="option[	NOT FOUND!	CODE: <select name=option[	LINE: 213	CODE: type="checkbox" name="option[	NOT FOUND!	CODE: <?php echo $price; ?>	LINE: 160	LINE: 162	CODE: <?php echo $special; ?>	LINE: 158	CODE: <?php echo $tax; ?>	LINE: 171	FILE: catalog/view/theme/default/template/module/bestseller.tpl	CODE: <?php echo $product['price]; ?>	LINE: 23	LINE: 25	CODE: <?php echo $product['special']; ?>	LINE: 27	CODE: <?php echo $product['tax']; ?>	LINE: 34	CODE: <?php if ($product['price']) { ?>	LINE: 168	REGEX: ~(cart.add\(|addToCart\()~	LINE: 191	FILE: catalog/view/theme/theme627/template/module/bestseller.tpl	CODE: <?php echo $product['price']; ?>	LINE: 303	LINE: 307	LINE: 385	LINE: 388	CODE: <?php echo $product['special']; ?>	LINE: 308	LINE: 393	CODE: <?php echo $product['tax']; ?>	LINE: 317	LINE: 404	CODE: <?php if ($product['price']) { ?>	LINE: 448	LINE: 686	REGEX: ~(cart.add\(|addToCart\()~	LINE: 488	FILE: catalog/view/theme/default/template/module/latest.tpl	CODE: <?php echo $product['price']; ?>	LINE: 23	LINE: 25	CODE: <?php echo $product['special']; ?>	LINE: 27	CODE: <?php echo $product['tax']; ?>	LINE: 34	CODE: <?php if ($product['price']) { ?>	LINE: 168	REGEX: ~(cart.add\(|addToCart\()~	LINE: 191	FILE: catalog/view/theme/theme627/template/module/latest.tpl	CODE: <?php echo $product['price']; ?>	LINE: 299	LINE: 303	LINE: 381	LINE: 384	CODE: <?php echo $product['special']; ?>	LINE: 304	LINE: 389	CODE: <?php echo $product['tax']; ?>	LINE: 313	LINE: 400	CODE: <?php if ($product['price']) { ?>	LINE: 444	LINE: 682	REGEX: ~(cart.add\(|addToCart\()~	LINE: 484	FILE: catalog/view/theme/default/template/module/featured.tpl	CODE: <?php echo $product['price']; ?>	LINE: 23	LINE: 25	CODE: <?php echo $product['special']; ?>	LINE: 27	CODE: <?php echo $product['tax']; ?>	LINE: 34	CODE: <?php if ($product['price']) { ?>	LINE: 168	REGEX: ~(cart.add\(|addToCart\()~	LINE: 191	FILE: catalog/view/theme/theme627/template/module/featured.tpl	CODE: <?php echo $product['price']; ?>	LINE: 302	LINE: 306	LINE: 387	LINE: 390	CODE: <?php echo $product['special']; ?>	LINE: 307	LINE: 395	CODE: <?php echo $product['tax']; ?>	LINE: 316	LINE: 406	CODE: <?php if ($product['price']) { ?>	LINE: 447	LINE: 688	REGEX: ~(cart.add\(|addToCart\()~	LINE: 487	FILE: catalog/view/theme/default/template/module/special.tpl	CODE: <?php echo $product['price']; ?>	LINE: 23	LINE: 25	CODE: <?php echo $product['special']; ?>	LINE: 27	CODE: <?php echo $product['tax']; ?>	LINE: 34	CODE: <?php if ($product['price']) { ?>	LINE: 168	REGEX: ~(cart.add\(|addToCart\()~	LINE: 191	FILE: catalog/view/theme/theme627/template/module/special.tpl	CODE: <?php echo $product['price']; ?>	LINE: 296	LINE: 300	LINE: 380	LINE: 383	CODE: <?php echo $product['special']; ?>	LINE: 301	LINE: 388	CODE: <?php echo $product['tax']; ?>	LINE: 310	LINE: 399	CODE: <?php if ($product['price']) { ?>	LINE: 441	LINE: 681	REGEX: ~(cart.add\(|addToCart\()~	LINE: 481	FILE: catalog/view/theme/default/template/product/category.tpl	CODE: <?php echo $product['price']; ?>	LINE: 116	LINE: 118	CODE: <?php echo $product['special']; ?>	LINE: 120	CODE: <?php echo $product['tax']; ?>	LINE: 127	CODE: <?php if ($product['price']) { ?>	LINE: 261	REGEX: ~(cart.add\(|addToCart\()~	LINE: 284	FILE: catalog/view/theme/theme627/template/product/category.tpl	CODE: <?php echo $product['price']; ?>	LINE: 412	LINE: 414	CODE: <?php echo $product['special']; ?>	LINE: 416	CODE: <?php echo $product['tax']; ?>	LINE: 423	CODE: <?php if ($product['price']) { ?>	LINE: 557	NOT FOUND!	FILE: catalog/view/theme/default/template/product/manufacturer_info.tpl	CODE: <?php echo $product['price']; ?>	LINE: 78	LINE: 80	CODE: <?php echo $product['special']; ?>	LINE: 82	CODE: <?php echo $product['tax']; ?>	LINE: 89	CODE: <?php if ($product['price']) { ?>	LINE: 223	REGEX: ~(cart.add\(|addToCart\()~	LINE: 246	FILE: catalog/view/theme/theme627/template/product/manufacturer_info.tpl	CODE: <?php echo $product['price']; ?>	LINE: 342	LINE: 344	LINE: 370	LINE: 372	CODE: <?php echo $product['special']; ?>	LINE: 346	LINE: 378	CODE: <?php echo $product['tax']; ?>	LINE: 353	LINE: 387	CODE: <?php if ($product['price']) { ?>	LINE: 487	LINE: 671	NOT FOUND!	FILE: catalog/view/theme/default/template/product/search.tpl	CODE: <?php echo $product['price']; ?>	LINE: 119	LINE: 121	CODE: <?php echo $product['special']; ?>	LINE: 123	CODE: <?php echo $product['tax']; ?>	LINE: 130	CODE: <?php if ($product['price']) { ?>	LINE: 264	REGEX: ~(cart.add\(|addToCart\()~	LINE: 298	FILE: catalog/view/theme/theme627/template/product/search.tpl	CODE: <?php echo $product['price']; ?>	LINE: 396	LINE: 398	LINE: 424	LINE: 426	CODE: <?php echo $product['special']; ?>	LINE: 400	LINE: 432	CODE: <?php echo $product['tax']; ?>	LINE: 407	LINE: 441	CODE: <?php if ($product['price']) { ?>	LINE: 541	LINE: 725	NOT FOUND!	FILE: catalog/view/theme/default/template/product/special.tpl	CODE: <?php echo $product['price']; ?>	LINE: 78	LINE: 80	CODE: <?php echo $product['special']; ?>	LINE: 82	CODE: <?php echo $product['tax']; ?>	LINE: 89	CODE: <?php if ($product['price']) { ?>	LINE: 223	REGEX: ~(cart.add\(|addToCart\()~	LINE: 246	FILE: catalog/view/theme/theme627/template/product/special.tpl	CODE: <?php echo $product['price']; ?>	LINE: 342	LINE: 344	LINE: 370	LINE: 372	CODE: <?php echo $product['special']; ?>	LINE: 346	LINE: 378	CODE: <?php echo $product['tax']; ?>	LINE: 353	LINE: 387	CODE: <?php if ($product['price']) { ?>	LINE: 487	LINE: 671	NOT FOUND!	CODE: <?php echo $product['price']; ?>	LINE: 438	LINE: 440	CODE: <?php echo $product['special']; ?>	LINE: 442	CODE: <?php echo $product['tax']; ?>	LINE: 449	CODE: <?php if ($product['price']) { ?>	LINE: 583	REGEX: ~(cart.add\(|addToCart\()~	LINE: 606	CODE: <?php echo $product['price']; ?>	LINE: 1003	LINE: 1005	LINE: 1031	LINE: 1033	CODE: <?php echo $product['special']; ?>	LINE: 1007	LINE: 1039	CODE: <?php echo $product['tax']; ?>	LINE: 1014	LINE: 1048	CODE: <?php if ($product['price']) { ?>	LINE: 1148	LINE: 1332	NOT FOUND!	FILE: admin/view/template/catalog/product_form.tpl	CODE: <td colspan="6"></td>	LINE: 754	CODE: <td colspan="5"></td>	LINE: 808	CODE: <?php if ($product_option_value['price_prefix'] == '+') { ?>	LINE: 601	CODE: html += '  <td class="text-right"><select name="product_option[' + option_row + '][product_option_value][' + option_value_row + '][price_prefix]" class="form-control">';	LINE: 1277	CODE: <td class="text-right"><?php echo $entry_priority; ?></td>	LINE: 724	LINE: 782	CODE: value="<?php echo $product_discount['priority']; ?>" placeholder="<?php echo $entry_priority; ?>" class="form-control" /></td>	LINE: 760	CODE: value="<?php echo $product_special['priority']; ?>" placeholder="<?php echo $entry_quantity; ?>" class="form-control" /></td>	LINE: 832	CODE: html += '  <td class="text-right"><input type="text" name="product_discount[' + discount_row + '][priority]" value="" placeholder="<?php echo $entry_priority; ?>" class="form-control" /></td>';	LINE: 1351	CODE: html += '  <td class="text-right"><input type="text" name="product_special[' + special_row + '][priority]" value="" placeholder="<?php echo $entry_priority; ?>" class="form-control" /></td>';	LINE: 1380	FILE: admin/view/template/setting/setting.tpl	CODE: <div class="tab-pane" id="tab-option">	LINE: 458	FILE: catalog/model/catalog/product.php	CODE: (SELECT AVG(rating) AS total	LINE: 7	CODE: 'special'          => $query->row['special'],	LINE: 39	FILE: admin/model/catalog/product.php	CODE: DB_PREFIX . "product_special SET	LINE: 59	LINE: 195	CODE: DB_PREFIX . "product_discount SET	LINE: 53	LINE: 189	FILE: admin/language/english/catalog/product.php	CODE: // Entry	LINE: 29	FILE: admin/language/russian/catalog/product.php	CODE: // Entry	LINE: 29	FILE: catalog/language/english/english.php	CODE: // Text	LINE: 14	FILE: catalog/language/russian/russian.php	CODE: // Text	LINE: 14	FILE: admin/language/english/setting/setting.php	CODE: // Text	LINE: 14	FILE: admin/language/russian/setting/setting.php	CODE: // Text	LINE: 14						NOT FOUND!							
Изменено пользователем Skunk
[code], [spoiler]
Ссылка на комментарий
Поделиться на других сайтах

 

Вот что в логах, довольно много NOT FOUND:


Напишите в ЛС.

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

  • 2 недели спустя...

Добрый день, перед покупкой модуля возникло несколько вопросов.

 

Я заменил описание в категориях на свое.

Создал отдельное поле в базе, создал отдельное поле в админке продукта и вывожу описание оттуда. Не создаст ли это проблем работе с модулем? Opencart 2.3.0.2

 

Можно ли как-то перед добавлением в корзину выбирать количество товаров?

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


Добрый день, перед покупкой модуля возникло несколько вопросов.

 

Я заменил описание в категориях на свое.

Создал отдельное поле в базе, создал отдельное поле в админке продукта и вывожу описание оттуда. Не создаст ли это проблем работе с модулем? Opencart 2.3.0.2

 

Можно ли как-то перед добавлением в корзину выбирать количество товаров?

1. Не должно

2. В списке товаров?

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

Ага, в списке товаров.

Есть модуль который добавляет кнопки выбора, бесплатный. Вроде даже на форуме есть. Только я с ним не тестировал.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Есть модуль который добавляет кнопки выбора, бесплатный. Вроде даже на форуме есть. Только я с ним не тестировал.

 

Если Вы про этот: https://opencart-forum.ru/files/file/2268-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-%D0%BD%D0%B0-%D0%BB%D1%8E%D0%B1%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B5/

То главный его недостаток в том, что нельзя вручную ввести количество добавляемого в корзину товара, а версия PRO только для 1.5 Opencart.

Судя по тому, что он выводит опции тоже, то скорее всего будет конфликтовать с Вашим.

Рассмотрите пожалуйста возможность добавления функционала количества в Ваш модуль. Спасибо!

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


Подскажите . в модуле есть возможность выбора какие атрибуты выводить в категориях?

Да.

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

Добрый день, столкнулся с одной проблемой.

Рекомендуемые товары в одной категории отображаются без цены за опцию.

Примеры: 

В какую сторону стоит смотреть? В остальных категориях сайта вроде с подобной проблемой не сталкивался. Но там у товаров 1-2 опции.

Изменено пользователем vSHADOWv
Ссылка на комментарий
Поделиться на других сайтах


В 24.01.2017 в 19:43, vSHADOWv сказал:

Добрый день, столкнулся с одной проблемой.

Рекомендуемые товары в одной категории отображаются без цены за опцию.

Примеры: 

В какую сторону стоит смотреть? В остальных категориях сайта вроде с подобной проблемой не сталкивался. Но там у товаров 1-2 опции.

У вас там опции отключены.

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

Пишите в ЛС

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

  • 3 недели спустя...

Здравствуйте, в моем магазине цены на товары во вкладке данные не установлены (равны 0). Цены указаны только в опциях сразу со знаком равно. Можно ли сделать так, чтобы в категориях и других местах для товаров автоматически выбиралась 1-ая опция (или любая другая), и цена показывалась у этой опции (а не 0).

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


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

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


В 16.02.2017 в 15:02, midlex сказал:

Здравствуйте, в моем магазине цены на товары во вкладке данные не установлены (равны 0). Цены указаны только в опциях сразу со знаком равно. Можно ли сделать так, чтобы в категориях и других местах для товаров автоматически выбиралась 1-ая опция (или любая другая), и цена показывалась у этой опции (а не 0).

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

 

На unishop возможно придется делать доработку.

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

  • 1 месяц спустя...

как  убрать отображение знаков и стоимости опции с модулей акции, новинки на главной страничке ???

на странице товара все скрывает , а вот как на главной ???

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


42 минуты назад, newbember сказал:

На шаблоне Маркетшоп заработает?

Если будут проблемы, то можно адаптировать.

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

14 минут назад, newbember сказал:

Какие-то новые поля добавляются в базу? Интересует совместимость с CSV Price Pro Export/Import.

Что добавляется, таблицы указаны без префикса

Артикул для опции sku
таблица product_option_value

----------

скидка для опции options
таблица product_discount

----------

акция для опции options
таблица product_special

----------

отображение определенных атрибутов show_attribute
таблица product_attribute

 

Поля кроме sku отвечают за включение/выключение

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...

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

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