zomo Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 Доброе время суток, у товара есть опции с разными ценами, задача в категории вывести минимальную стоимость опциий для каждого товара, как это сделать... Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 Опция содержит информацию как должна измениться цена товара при выборе опции. Например: Есть товар с тремя опциями, цена на товар с опцией А = 100 руб, с опцией Б = 110 руб., с опцией В = 120 руб. В базу это заносится следующим образом: Цена товара 100 руб. Опция А + 0 руб. Опция Б + 10 руб. Опция В + 20 руб. При таком использовании опций минимальной ценой будет цена товара, которая выводится в категориях без каких либо доработок. 1 Надіслати Поділитися на інших сайтах More sharing options... Moonwalker Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 Мне в свое время вообще пришлось несколько все усложнить, поскольку понадобилось выводить в категориях стоимость минимально доступной опции. В противном случае выглядело не совсем правильно и вводило людей в заблуждение (либо предъявляли, что обманываем). Т.е., у товара три опции, 100, 200 и 300 рублей. Первого нет в наличии, соответственно выводится цена 200 рублей. В моем случае с надписью "от..." 1 Надіслати Поділитися на інших сайтах More sharing options... AndreyQ Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 (змінено) А зачем усложнять? Опции не удобны людям, не нужны поисковикам, зачем оно вообще? Мне как покупателю твоя цена от, накол не важна. Я листаю, вижу цену "от" закрыл сайт и пошел дальше. Или я покупаю айфон за сотку, мне что 20 раз перепроверять какой цвет я выбрал, ну в каком веке живем. Скажите про мебель, профнастил и тд, так оно вообще не продается так, чисто цену показать, аля калькулятор Змінено 21 жовтня 2019 користувачем AndreyQ Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 2 часа назад, AndreyQ сказал: Опции не удобны людям, не нужны поисковикам, зачем оно вообще? Этого не понять засоткуайфонопокупателям... Надіслати Поділитися на інших сайтах More sharing options... zomo Опубліковано: 22 жовтня 2019 Автор Share Опубліковано: 22 жовтня 2019 6 часов назад, Moonwalker сказал: Мне в свое время вообще пришлось несколько все усложнить, поскольку понадобилось выводить в категориях стоимость минимально доступной опции. В противном случае выглядело не совсем правильно и вводило людей в заблуждение (либо предъявляли, что обманываем). Т.е., у товара три опции, 100, 200 и 300 рублей. Первого нет в наличии, соответственно выводится цена 200 рублей. В моем случае с надписью "от..." Именно то, что нужно... как усложнить ?)) Надіслати Поділитися на інших сайтах More sharing options... Moonwalker Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 В 22.10.2019 в 03:36, zomo сказал: Именно то, что нужно... как усложнить ?)) Если честно, вспоминать надо ))) Ну и у меня ветка 1.5.х, не уверен, что поможет )) Надіслати Поділитися на інших сайтах More sharing options... zomo Опубліковано: 23 жовтня 2019 Автор Share Опубліковано: 23 жовтня 2019 Поступил проще, в бд сортировка по цене и break, не камельфо вроде но пойдет... Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 3 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... surlan Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 В 23.10.2019 в 22:49, mpn2005 сказал: Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 2 \u043a\u0411 · 2 downloads Почему-то вообще ничего не меняется(. Модификатор рабочий? Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 26 грудня 2019 Share Опубліковано: 26 грудня 2019 17 часов назад, surlan сказал: Почему-то вообще ничего не меняется(. Модификатор рабочий? Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) 2 Надіслати Поділитися на інших сайтах More sharing options... surlan Опубліковано: 27 грудня 2019 Share Опубліковано: 27 грудня 2019 22 часа назад, mpn2005 сказал: Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) Большое спасибо! Работает. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... remix8080 Опубліковано: 23 грудня 2021 Share Опубліковано: 23 грудня 2021 Добрый вечер. В выложенном модификаторе есть кусок кода: <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[return array(]]></search> <add position="before"><![CDATA[ $price_text = ''; if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); if ($option_price_query->num_rows) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } } ]]></add> </operation> </file> Хочу добавить проверку на уникальность цен опций, т.е. добавлять приставку "от" только для тех товаров, для которых есть более одного уникального значения цены опции. Запрос должен выглядеть так: "SELECT count(distinct price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')" Подскажите, пожалуйста, как это правильно "оформить" для catalog/model/catalog/product.php. Спасибо! Надіслати Поділитися на інших сайтах More sharing options... remix8080 Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 (змінено) Вроде разобрался, работает. if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); $option_price_query_dist = $this->db->query("SELECT distinct(price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')"); if (($option_price_query->num_rows) && ($option_price_query_dist->num_rows > '1')) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } else { $query->row['price'] = $option_price_query->row['price']; } } @mpn2005 , спасибо за модификатор. П.С. Всех с наступающими новыми цифрами в календаре! Змінено 31 грудня 2021 користувачем remix8080 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Минимальная цена опции Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yesvik Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 Опция содержит информацию как должна измениться цена товара при выборе опции. Например: Есть товар с тремя опциями, цена на товар с опцией А = 100 руб, с опцией Б = 110 руб., с опцией В = 120 руб. В базу это заносится следующим образом: Цена товара 100 руб. Опция А + 0 руб. Опция Б + 10 руб. Опция В + 20 руб. При таком использовании опций минимальной ценой будет цена товара, которая выводится в категориях без каких либо доработок. 1 Надіслати Поділитися на інших сайтах More sharing options... Moonwalker Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 Мне в свое время вообще пришлось несколько все усложнить, поскольку понадобилось выводить в категориях стоимость минимально доступной опции. В противном случае выглядело не совсем правильно и вводило людей в заблуждение (либо предъявляли, что обманываем). Т.е., у товара три опции, 100, 200 и 300 рублей. Первого нет в наличии, соответственно выводится цена 200 рублей. В моем случае с надписью "от..." 1 Надіслати Поділитися на інших сайтах More sharing options... AndreyQ Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 (змінено) А зачем усложнять? Опции не удобны людям, не нужны поисковикам, зачем оно вообще? Мне как покупателю твоя цена от, накол не важна. Я листаю, вижу цену "от" закрыл сайт и пошел дальше. Или я покупаю айфон за сотку, мне что 20 раз перепроверять какой цвет я выбрал, ну в каком веке живем. Скажите про мебель, профнастил и тд, так оно вообще не продается так, чисто цену показать, аля калькулятор Змінено 21 жовтня 2019 користувачем AndreyQ Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 2 часа назад, AndreyQ сказал: Опции не удобны людям, не нужны поисковикам, зачем оно вообще? Этого не понять засоткуайфонопокупателям... Надіслати Поділитися на інших сайтах More sharing options... zomo Опубліковано: 22 жовтня 2019 Автор Share Опубліковано: 22 жовтня 2019 6 часов назад, Moonwalker сказал: Мне в свое время вообще пришлось несколько все усложнить, поскольку понадобилось выводить в категориях стоимость минимально доступной опции. В противном случае выглядело не совсем правильно и вводило людей в заблуждение (либо предъявляли, что обманываем). Т.е., у товара три опции, 100, 200 и 300 рублей. Первого нет в наличии, соответственно выводится цена 200 рублей. В моем случае с надписью "от..." Именно то, что нужно... как усложнить ?)) Надіслати Поділитися на інших сайтах More sharing options... Moonwalker Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 В 22.10.2019 в 03:36, zomo сказал: Именно то, что нужно... как усложнить ?)) Если честно, вспоминать надо ))) Ну и у меня ветка 1.5.х, не уверен, что поможет )) Надіслати Поділитися на інших сайтах More sharing options... zomo Опубліковано: 23 жовтня 2019 Автор Share Опубліковано: 23 жовтня 2019 Поступил проще, в бд сортировка по цене и break, не камельфо вроде но пойдет... Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 3 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... surlan Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 В 23.10.2019 в 22:49, mpn2005 сказал: Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 2 \u043a\u0411 · 2 downloads Почему-то вообще ничего не меняется(. Модификатор рабочий? Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 26 грудня 2019 Share Опубліковано: 26 грудня 2019 17 часов назад, surlan сказал: Почему-то вообще ничего не меняется(. Модификатор рабочий? Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) 2 Надіслати Поділитися на інших сайтах More sharing options... surlan Опубліковано: 27 грудня 2019 Share Опубліковано: 27 грудня 2019 22 часа назад, mpn2005 сказал: Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) Большое спасибо! Работает. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... remix8080 Опубліковано: 23 грудня 2021 Share Опубліковано: 23 грудня 2021 Добрый вечер. В выложенном модификаторе есть кусок кода: <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[return array(]]></search> <add position="before"><![CDATA[ $price_text = ''; if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); if ($option_price_query->num_rows) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } } ]]></add> </operation> </file> Хочу добавить проверку на уникальность цен опций, т.е. добавлять приставку "от" только для тех товаров, для которых есть более одного уникального значения цены опции. Запрос должен выглядеть так: "SELECT count(distinct price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')" Подскажите, пожалуйста, как это правильно "оформить" для catalog/model/catalog/product.php. Спасибо! Надіслати Поділитися на інших сайтах More sharing options... remix8080 Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 (змінено) Вроде разобрался, работает. if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); $option_price_query_dist = $this->db->query("SELECT distinct(price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')"); if (($option_price_query->num_rows) && ($option_price_query_dist->num_rows > '1')) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } else { $query->row['price'] = $option_price_query->row['price']; } } @mpn2005 , спасибо за модификатор. П.С. Всех с наступающими новыми цифрами в календаре! Змінено 31 грудня 2021 користувачем remix8080 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Минимальная цена опции Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Moonwalker Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 Мне в свое время вообще пришлось несколько все усложнить, поскольку понадобилось выводить в категориях стоимость минимально доступной опции. В противном случае выглядело не совсем правильно и вводило людей в заблуждение (либо предъявляли, что обманываем). Т.е., у товара три опции, 100, 200 и 300 рублей. Первого нет в наличии, соответственно выводится цена 200 рублей. В моем случае с надписью "от..." 1 Надіслати Поділитися на інших сайтах More sharing options...
AndreyQ Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 (змінено) А зачем усложнять? Опции не удобны людям, не нужны поисковикам, зачем оно вообще? Мне как покупателю твоя цена от, накол не важна. Я листаю, вижу цену "от" закрыл сайт и пошел дальше. Или я покупаю айфон за сотку, мне что 20 раз перепроверять какой цвет я выбрал, ну в каком веке живем. Скажите про мебель, профнастил и тд, так оно вообще не продается так, чисто цену показать, аля калькулятор Змінено 21 жовтня 2019 користувачем AndreyQ Надіслати Поділитися на інших сайтах More sharing options...
Yesvik Опубліковано: 21 жовтня 2019 Share Опубліковано: 21 жовтня 2019 2 часа назад, AndreyQ сказал: Опции не удобны людям, не нужны поисковикам, зачем оно вообще? Этого не понять засоткуайфонопокупателям... Надіслати Поділитися на інших сайтах More sharing options... zomo Опубліковано: 22 жовтня 2019 Автор Share Опубліковано: 22 жовтня 2019 6 часов назад, Moonwalker сказал: Мне в свое время вообще пришлось несколько все усложнить, поскольку понадобилось выводить в категориях стоимость минимально доступной опции. В противном случае выглядело не совсем правильно и вводило людей в заблуждение (либо предъявляли, что обманываем). Т.е., у товара три опции, 100, 200 и 300 рублей. Первого нет в наличии, соответственно выводится цена 200 рублей. В моем случае с надписью "от..." Именно то, что нужно... как усложнить ?)) Надіслати Поділитися на інших сайтах More sharing options... Moonwalker Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 В 22.10.2019 в 03:36, zomo сказал: Именно то, что нужно... как усложнить ?)) Если честно, вспоминать надо ))) Ну и у меня ветка 1.5.х, не уверен, что поможет )) Надіслати Поділитися на інших сайтах More sharing options... zomo Опубліковано: 23 жовтня 2019 Автор Share Опубліковано: 23 жовтня 2019 Поступил проще, в бд сортировка по цене и break, не камельфо вроде но пойдет... Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 3 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... surlan Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 В 23.10.2019 в 22:49, mpn2005 сказал: Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 2 \u043a\u0411 · 2 downloads Почему-то вообще ничего не меняется(. Модификатор рабочий? Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 26 грудня 2019 Share Опубліковано: 26 грудня 2019 17 часов назад, surlan сказал: Почему-то вообще ничего не меняется(. Модификатор рабочий? Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) 2 Надіслати Поділитися на інших сайтах More sharing options... surlan Опубліковано: 27 грудня 2019 Share Опубліковано: 27 грудня 2019 22 часа назад, mpn2005 сказал: Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) Большое спасибо! Работает. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... remix8080 Опубліковано: 23 грудня 2021 Share Опубліковано: 23 грудня 2021 Добрый вечер. В выложенном модификаторе есть кусок кода: <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[return array(]]></search> <add position="before"><![CDATA[ $price_text = ''; if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); if ($option_price_query->num_rows) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } } ]]></add> </operation> </file> Хочу добавить проверку на уникальность цен опций, т.е. добавлять приставку "от" только для тех товаров, для которых есть более одного уникального значения цены опции. Запрос должен выглядеть так: "SELECT count(distinct price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')" Подскажите, пожалуйста, как это правильно "оформить" для catalog/model/catalog/product.php. Спасибо! Надіслати Поділитися на інших сайтах More sharing options... remix8080 Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 (змінено) Вроде разобрался, работает. if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); $option_price_query_dist = $this->db->query("SELECT distinct(price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')"); if (($option_price_query->num_rows) && ($option_price_query_dist->num_rows > '1')) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } else { $query->row['price'] = $option_price_query->row['price']; } } @mpn2005 , спасибо за модификатор. П.С. Всех с наступающими новыми цифрами в календаре! Змінено 31 грудня 2021 користувачем remix8080 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Минимальная цена опции Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
zomo Опубліковано: 22 жовтня 2019 Автор Share Опубліковано: 22 жовтня 2019 6 часов назад, Moonwalker сказал: Мне в свое время вообще пришлось несколько все усложнить, поскольку понадобилось выводить в категориях стоимость минимально доступной опции. В противном случае выглядело не совсем правильно и вводило людей в заблуждение (либо предъявляли, что обманываем). Т.е., у товара три опции, 100, 200 и 300 рублей. Первого нет в наличии, соответственно выводится цена 200 рублей. В моем случае с надписью "от..." Именно то, что нужно... как усложнить ?)) Надіслати Поділитися на інших сайтах More sharing options... Moonwalker Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 В 22.10.2019 в 03:36, zomo сказал: Именно то, что нужно... как усложнить ?)) Если честно, вспоминать надо ))) Ну и у меня ветка 1.5.х, не уверен, что поможет )) Надіслати Поділитися на інших сайтах More sharing options... zomo Опубліковано: 23 жовтня 2019 Автор Share Опубліковано: 23 жовтня 2019 Поступил проще, в бд сортировка по цене и break, не камельфо вроде но пойдет... Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 3 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... surlan Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 В 23.10.2019 в 22:49, mpn2005 сказал: Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 2 \u043a\u0411 · 2 downloads Почему-то вообще ничего не меняется(. Модификатор рабочий? Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 26 грудня 2019 Share Опубліковано: 26 грудня 2019 17 часов назад, surlan сказал: Почему-то вообще ничего не меняется(. Модификатор рабочий? Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) 2 Надіслати Поділитися на інших сайтах More sharing options... surlan Опубліковано: 27 грудня 2019 Share Опубліковано: 27 грудня 2019 22 часа назад, mpn2005 сказал: Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) Большое спасибо! Работает. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... remix8080 Опубліковано: 23 грудня 2021 Share Опубліковано: 23 грудня 2021 Добрый вечер. В выложенном модификаторе есть кусок кода: <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[return array(]]></search> <add position="before"><![CDATA[ $price_text = ''; if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); if ($option_price_query->num_rows) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } } ]]></add> </operation> </file> Хочу добавить проверку на уникальность цен опций, т.е. добавлять приставку "от" только для тех товаров, для которых есть более одного уникального значения цены опции. Запрос должен выглядеть так: "SELECT count(distinct price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')" Подскажите, пожалуйста, как это правильно "оформить" для catalog/model/catalog/product.php. Спасибо! Надіслати Поділитися на інших сайтах More sharing options... remix8080 Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 (змінено) Вроде разобрался, работает. if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); $option_price_query_dist = $this->db->query("SELECT distinct(price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')"); if (($option_price_query->num_rows) && ($option_price_query_dist->num_rows > '1')) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } else { $query->row['price'] = $option_price_query->row['price']; } } @mpn2005 , спасибо за модификатор. П.С. Всех с наступающими новыми цифрами в календаре! Змінено 31 грудня 2021 користувачем remix8080 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Минимальная цена опции Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Moonwalker Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 В 22.10.2019 в 03:36, zomo сказал: Именно то, что нужно... как усложнить ?)) Если честно, вспоминать надо ))) Ну и у меня ветка 1.5.х, не уверен, что поможет )) Надіслати Поділитися на інших сайтах More sharing options...
zomo Опубліковано: 23 жовтня 2019 Автор Share Опубліковано: 23 жовтня 2019 Поступил проще, в бд сортировка по цене и break, не камельфо вроде но пойдет... Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 3 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... surlan Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 В 23.10.2019 в 22:49, mpn2005 сказал: Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 2 \u043a\u0411 · 2 downloads Почему-то вообще ничего не меняется(. Модификатор рабочий? Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 26 грудня 2019 Share Опубліковано: 26 грудня 2019 17 часов назад, surlan сказал: Почему-то вообще ничего не меняется(. Модификатор рабочий? Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) 2 Надіслати Поділитися на інших сайтах More sharing options... surlan Опубліковано: 27 грудня 2019 Share Опубліковано: 27 грудня 2019 22 часа назад, mpn2005 сказал: Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) Большое спасибо! Работает. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... remix8080 Опубліковано: 23 грудня 2021 Share Опубліковано: 23 грудня 2021 Добрый вечер. В выложенном модификаторе есть кусок кода: <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[return array(]]></search> <add position="before"><![CDATA[ $price_text = ''; if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); if ($option_price_query->num_rows) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } } ]]></add> </operation> </file> Хочу добавить проверку на уникальность цен опций, т.е. добавлять приставку "от" только для тех товаров, для которых есть более одного уникального значения цены опции. Запрос должен выглядеть так: "SELECT count(distinct price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')" Подскажите, пожалуйста, как это правильно "оформить" для catalog/model/catalog/product.php. Спасибо! Надіслати Поділитися на інших сайтах More sharing options... remix8080 Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 (змінено) Вроде разобрался, работает. if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); $option_price_query_dist = $this->db->query("SELECT distinct(price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')"); if (($option_price_query->num_rows) && ($option_price_query_dist->num_rows > '1')) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } else { $query->row['price'] = $option_price_query->row['price']; } } @mpn2005 , спасибо за модификатор. П.С. Всех с наступающими новыми цифрами в календаре! Змінено 31 грудня 2021 користувачем remix8080 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Минимальная цена опции
mpn2005 Опубліковано: 23 жовтня 2019 Share Опубліковано: 23 жовтня 2019 Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 3 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... surlan Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 В 23.10.2019 в 22:49, mpn2005 сказал: Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 2 \u043a\u0411 · 2 downloads Почему-то вообще ничего не меняется(. Модификатор рабочий? Надіслати Поділитися на інших сайтах More sharing options... mpn2005 Опубліковано: 26 грудня 2019 Share Опубліковано: 26 грудня 2019 17 часов назад, surlan сказал: Почему-то вообще ничего не меняется(. Модификатор рабочий? Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) 2 Надіслати Поділитися на інших сайтах More sharing options... surlan Опубліковано: 27 грудня 2019 Share Опубліковано: 27 грудня 2019 22 часа назад, mpn2005 сказал: Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) Большое спасибо! Работает. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... remix8080 Опубліковано: 23 грудня 2021 Share Опубліковано: 23 грудня 2021 Добрый вечер. В выложенном модификаторе есть кусок кода: <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[return array(]]></search> <add position="before"><![CDATA[ $price_text = ''; if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); if ($option_price_query->num_rows) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } } ]]></add> </operation> </file> Хочу добавить проверку на уникальность цен опций, т.е. добавлять приставку "от" только для тех товаров, для которых есть более одного уникального значения цены опции. Запрос должен выглядеть так: "SELECT count(distinct price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')" Подскажите, пожалуйста, как это правильно "оформить" для catalog/model/catalog/product.php. Спасибо! Надіслати Поділитися на інших сайтах More sharing options... remix8080 Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 (змінено) Вроде разобрался, работает. if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); $option_price_query_dist = $this->db->query("SELECT distinct(price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')"); if (($option_price_query->num_rows) && ($option_price_query_dist->num_rows > '1')) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } else { $query->row['price'] = $option_price_query->row['price']; } } @mpn2005 , спасибо за модификатор. П.С. Всех с наступающими новыми цифрами в календаре! Змінено 31 грудня 2021 користувачем remix8080 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
surlan Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 В 23.10.2019 в 22:49, mpn2005 сказал: Может поможет. Делал когда-то модификатор по выводу цен опций 'от', если у товара выставлена нулевая цена. Тестировалось на OC2.3 fix_zero_price_in_category_OC2.3_v2.0.0.ocmod.xml 2 \u043a\u0411 · 2 downloads Почему-то вообще ничего не меняется(. Модификатор рабочий? Надіслати Поділитися на інших сайтах More sharing options...
mpn2005 Опубліковано: 26 грудня 2019 Share Опубліковано: 26 грудня 2019 17 часов назад, surlan сказал: Почему-то вообще ничего не меняется(. Модификатор рабочий? Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) 2 Надіслати Поділитися на інших сайтах More sharing options... surlan Опубліковано: 27 грудня 2019 Share Опубліковано: 27 грудня 2019 22 часа назад, mpn2005 сказал: Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) Большое спасибо! Работает. Надіслати Поділитися на інших сайтах More sharing options... 1 year later... remix8080 Опубліковано: 23 грудня 2021 Share Опубліковано: 23 грудня 2021 Добрый вечер. В выложенном модификаторе есть кусок кода: <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[return array(]]></search> <add position="before"><![CDATA[ $price_text = ''; if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); if ($option_price_query->num_rows) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } } ]]></add> </operation> </file> Хочу добавить проверку на уникальность цен опций, т.е. добавлять приставку "от" только для тех товаров, для которых есть более одного уникального значения цены опции. Запрос должен выглядеть так: "SELECT count(distinct price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')" Подскажите, пожалуйста, как это правильно "оформить" для catalog/model/catalog/product.php. Спасибо! Надіслати Поділитися на інших сайтах More sharing options... remix8080 Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 (змінено) Вроде разобрался, работает. if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); $option_price_query_dist = $this->db->query("SELECT distinct(price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')"); if (($option_price_query->num_rows) && ($option_price_query_dist->num_rows > '1')) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } else { $query->row['price'] = $option_price_query->row['price']; } } @mpn2005 , спасибо за модификатор. П.С. Всех с наступающими новыми цифрами в календаре! Змінено 31 грудня 2021 користувачем remix8080 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1
surlan Опубліковано: 27 грудня 2019 Share Опубліковано: 27 грудня 2019 22 часа назад, mpn2005 сказал: Модификатор делался под префикс цены '=' Найдите в модуле это AND (price_prefix = '=') И замените на это: AND (price > 0) Большое спасибо! Работает. Надіслати Поділитися на інших сайтах More sharing options...
remix8080 Опубліковано: 23 грудня 2021 Share Опубліковано: 23 грудня 2021 Добрый вечер. В выложенном модификаторе есть кусок кода: <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[return array(]]></search> <add position="before"><![CDATA[ $price_text = ''; if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); if ($option_price_query->num_rows) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } } ]]></add> </operation> </file> Хочу добавить проверку на уникальность цен опций, т.е. добавлять приставку "от" только для тех товаров, для которых есть более одного уникального значения цены опции. Запрос должен выглядеть так: "SELECT count(distinct price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')" Подскажите, пожалуйста, как это правильно "оформить" для catalog/model/catalog/product.php. Спасибо! Надіслати Поділитися на інших сайтах More sharing options...
remix8080 Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 (змінено) Вроде разобрался, работает. if (!(float)$query->row['price']) { $option_price_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=') ORDER BY price LIMIT 1"); $option_price_query_dist = $this->db->query("SELECT distinct(price) FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$query->row['product_id'] . "' AND (subtract = '0' OR quantity > '0') AND (price_prefix = '=')"); if (($option_price_query->num_rows) && ($option_price_query_dist->num_rows > '1')) { $query->row['price'] = $option_price_query->row['price']; $price_text = '<span style="font-weight:normal;">от</span> '; } else { $query->row['price'] = $option_price_query->row['price']; } } @mpn2005 , спасибо за модификатор. П.С. Всех с наступающими новыми цифрами в календаре! Змінено 31 грудня 2021 користувачем remix8080 Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts