emti Опубліковано: 22 грудня 2015 Share Опубліковано: 22 грудня 2015 Приветствую друзья , может мне кто-нибудь подсказать или направить на тему, как мне сделать чтобы у меня цены были от ? Надіслати Поділитися на інших сайтах More sharing options...
deim Опубліковано: 22 грудня 2015 Share Опубліковано: 22 грудня 2015 от чего и где? а то, простите уж, от балды - самое мягкое сравнение. Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 22 грудня 2015 Автор Share Опубліковано: 22 грудня 2015 Мне надо сделать чтобы у меня товары их цена была от , к примеру мой товар стоит от 3000р, надеюсь я правильно выразился Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 22 грудня 2015 Share Опубліковано: 22 грудня 2015 Неправильно Например: почему нет точной цены? Ведь если у вас ОТ, то человек не может оплатить заказ. Потому что кто ж его знает, сколько на самом деле стоит тарелка супа в сингапуре ночью? От 5 долларов до скольки? Как оформить заказ? Напишите свою цель: для чего, где и в каком виде вам нужно писать цену "от" Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 22 грудня 2015 Автор Share Опубліковано: 22 грудня 2015 (змінено) неправильно выразился , к цене просто сделать приставку от Змінено 23 грудня 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Тогда просто впишите в шаблон товара, категорий и других страниц, где это хотите видеть Например на странице товара catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl вам нужно искать блок с переменной $price, перед которой можете тупо текстом написать ОТ Но это не отвечает на мой вопрос "как человеку оформить заказ, если точная цена не известна?" С этим уж подсказать не смогу, так как вы не дали никакой информации Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 У меня проэк постельное бельё, хотел задать ценну например на постельное бельё 3000 на 1,5 спальное, далее в опциях уже ставить + за ценную 2-сп итд. Спасибо за помощь Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Версия движка какая?Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 Ostore 1.5.5.1.2 Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Lordaaa Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 В данной теме и в https://opencartforum.com/topic/54738-%D0%BD%D0%B0%D0%B4%D0%BF%D0%B8%D1%81%D1%8C-%D1%86%D0%B5%D0%BD%D0%B0-%D0%BE%D1%82-%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5/?hl=%2B%D1%86%D0%B5%D0%BD%D0%B0+%2B%D0%BE%D1%82 не нашел для себя решения. Есть ли готовое решение для вывода приставки перед ценой в category.tpl для продуктов, имеющих опции с ценой более чем 0? Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Спасибо! Сделал так, теперь отображается приставка у товаров с опциями. Осталось докумекать как выводить это только при условии что установлена цена опции более 0.... Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 12 січня 2016 Share Опубліковано: 12 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось: controller $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $product_option_value_data[] = array( 'price' => $option_value['price'], ); } } $data['options'][] = array( 'product_option_value' => $product_option_value_data, ); }} $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'options' => $data['options'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); и tpl <?php if ($product['options']) { foreach ($product['options'] as $option) { foreach ($option['product_option_value'] as $option_value) { if( ($option_value['price']) > 0) { echo 'От'; } } } } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 17 січня 2016 Share Опубліковано: 17 січня 2016 Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php: if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){ $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } } } else { $price = false; } Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
emti Опубліковано: 22 грудня 2015 Автор Share Опубліковано: 22 грудня 2015 Мне надо сделать чтобы у меня товары их цена была от , к примеру мой товар стоит от 3000р, надеюсь я правильно выразился Надіслати Поділитися на інших сайтах More sharing options...
deim Опубліковано: 22 грудня 2015 Share Опубліковано: 22 грудня 2015 Неправильно Например: почему нет точной цены? Ведь если у вас ОТ, то человек не может оплатить заказ. Потому что кто ж его знает, сколько на самом деле стоит тарелка супа в сингапуре ночью? От 5 долларов до скольки? Как оформить заказ? Напишите свою цель: для чего, где и в каком виде вам нужно писать цену "от" Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 22 грудня 2015 Автор Share Опубліковано: 22 грудня 2015 (змінено) неправильно выразился , к цене просто сделать приставку от Змінено 23 грудня 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Тогда просто впишите в шаблон товара, категорий и других страниц, где это хотите видеть Например на странице товара catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl вам нужно искать блок с переменной $price, перед которой можете тупо текстом написать ОТ Но это не отвечает на мой вопрос "как человеку оформить заказ, если точная цена не известна?" С этим уж подсказать не смогу, так как вы не дали никакой информации Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 У меня проэк постельное бельё, хотел задать ценну например на постельное бельё 3000 на 1,5 спальное, далее в опциях уже ставить + за ценную 2-сп итд. Спасибо за помощь Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Версия движка какая?Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 Ostore 1.5.5.1.2 Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Lordaaa Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 В данной теме и в https://opencartforum.com/topic/54738-%D0%BD%D0%B0%D0%B4%D0%BF%D0%B8%D1%81%D1%8C-%D1%86%D0%B5%D0%BD%D0%B0-%D0%BE%D1%82-%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5/?hl=%2B%D1%86%D0%B5%D0%BD%D0%B0+%2B%D0%BE%D1%82 не нашел для себя решения. Есть ли готовое решение для вывода приставки перед ценой в category.tpl для продуктов, имеющих опции с ценой более чем 0? Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Спасибо! Сделал так, теперь отображается приставка у товаров с опциями. Осталось докумекать как выводить это только при условии что установлена цена опции более 0.... Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 12 січня 2016 Share Опубліковано: 12 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось: controller $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $product_option_value_data[] = array( 'price' => $option_value['price'], ); } } $data['options'][] = array( 'product_option_value' => $product_option_value_data, ); }} $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'options' => $data['options'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); и tpl <?php if ($product['options']) { foreach ($product['options'] as $option) { foreach ($option['product_option_value'] as $option_value) { if( ($option_value['price']) > 0) { echo 'От'; } } } } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 17 січня 2016 Share Опубліковано: 17 січня 2016 Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php: if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){ $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } } } else { $price = false; } Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
emti Опубліковано: 22 грудня 2015 Автор Share Опубліковано: 22 грудня 2015 (змінено) неправильно выразился , к цене просто сделать приставку от Змінено 23 грудня 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options...
deim Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Тогда просто впишите в шаблон товара, категорий и других страниц, где это хотите видеть Например на странице товара catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl вам нужно искать блок с переменной $price, перед которой можете тупо текстом написать ОТ Но это не отвечает на мой вопрос "как человеку оформить заказ, если точная цена не известна?" С этим уж подсказать не смогу, так как вы не дали никакой информации Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 У меня проэк постельное бельё, хотел задать ценну например на постельное бельё 3000 на 1,5 спальное, далее в опциях уже ставить + за ценную 2-сп итд. Спасибо за помощь Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Версия движка какая?Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 Ostore 1.5.5.1.2 Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Lordaaa Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 В данной теме и в https://opencartforum.com/topic/54738-%D0%BD%D0%B0%D0%B4%D0%BF%D0%B8%D1%81%D1%8C-%D1%86%D0%B5%D0%BD%D0%B0-%D0%BE%D1%82-%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5/?hl=%2B%D1%86%D0%B5%D0%BD%D0%B0+%2B%D0%BE%D1%82 не нашел для себя решения. Есть ли готовое решение для вывода приставки перед ценой в category.tpl для продуктов, имеющих опции с ценой более чем 0? Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Спасибо! Сделал так, теперь отображается приставка у товаров с опциями. Осталось докумекать как выводить это только при условии что установлена цена опции более 0.... Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 12 січня 2016 Share Опубліковано: 12 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось: controller $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $product_option_value_data[] = array( 'price' => $option_value['price'], ); } } $data['options'][] = array( 'product_option_value' => $product_option_value_data, ); }} $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'options' => $data['options'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); и tpl <?php if ($product['options']) { foreach ($product['options'] as $option) { foreach ($option['product_option_value'] as $option_value) { if( ($option_value['price']) > 0) { echo 'От'; } } } } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 17 січня 2016 Share Опубліковано: 17 січня 2016 Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php: if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){ $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } } } else { $price = false; } Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 У меня проэк постельное бельё, хотел задать ценну например на постельное бельё 3000 на 1,5 спальное, далее в опциях уже ставить + за ценную 2-сп итд. Спасибо за помощь Надіслати Поділитися на інших сайтах More sharing options...
Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Версия движка какая?Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 Ostore 1.5.5.1.2 Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Lordaaa Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 В данной теме и в https://opencartforum.com/topic/54738-%D0%BD%D0%B0%D0%B4%D0%BF%D0%B8%D1%81%D1%8C-%D1%86%D0%B5%D0%BD%D0%B0-%D0%BE%D1%82-%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5/?hl=%2B%D1%86%D0%B5%D0%BD%D0%B0+%2B%D0%BE%D1%82 не нашел для себя решения. Есть ли готовое решение для вывода приставки перед ценой в category.tpl для продуктов, имеющих опции с ценой более чем 0? Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Спасибо! Сделал так, теперь отображается приставка у товаров с опциями. Осталось докумекать как выводить это только при условии что установлена цена опции более 0.... Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 12 січня 2016 Share Опубліковано: 12 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось: controller $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $product_option_value_data[] = array( 'price' => $option_value['price'], ); } } $data['options'][] = array( 'product_option_value' => $product_option_value_data, ); }} $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'options' => $data['options'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); и tpl <?php if ($product['options']) { foreach ($product['options'] as $option) { foreach ($option['product_option_value'] as $option_value) { if( ($option_value['price']) > 0) { echo 'От'; } } } } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 17 січня 2016 Share Опубліковано: 17 січня 2016 Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php: if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){ $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } } } else { $price = false; } Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Песочница [Решено?..] Цены от Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
emti Опубліковано: 23 грудня 2015 Автор Share Опубліковано: 23 грудня 2015 Ostore 1.5.5.1.2 Надіслати Поділитися на інших сайтах More sharing options...
Tom Опубліковано: 23 грудня 2015 Share Опубліковано: 23 грудня 2015 Там где у товара нет опций,следовательно цена одна и не нужно "ОТ" что выводить? Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Lordaaa Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 В данной теме и в https://opencartforum.com/topic/54738-%D0%BD%D0%B0%D0%B4%D0%BF%D0%B8%D1%81%D1%8C-%D1%86%D0%B5%D0%BD%D0%B0-%D0%BE%D1%82-%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5/?hl=%2B%D1%86%D0%B5%D0%BD%D0%B0+%2B%D0%BE%D1%82 не нашел для себя решения. Есть ли готовое решение для вывода приставки перед ценой в category.tpl для продуктов, имеющих опции с ценой более чем 0? Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Спасибо! Сделал так, теперь отображается приставка у товаров с опциями. Осталось докумекать как выводить это только при условии что установлена цена опции более 0.... Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 12 січня 2016 Share Опубліковано: 12 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось: controller $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $product_option_value_data[] = array( 'price' => $option_value['price'], ); } } $data['options'][] = array( 'product_option_value' => $product_option_value_data, ); }} $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'options' => $data['options'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); и tpl <?php if ($product['options']) { foreach ($product['options'] as $option) { foreach ($option['product_option_value'] as $option_value) { if( ($option_value['price']) > 0) { echo 'От'; } } } } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 17 січня 2016 Share Опубліковано: 17 січня 2016 Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php: if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){ $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } } } else { $price = false; } Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Песочница [Решено?..] Цены от
Lordaaa Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 В данной теме и в https://opencartforum.com/topic/54738-%D0%BD%D0%B0%D0%B4%D0%BF%D0%B8%D1%81%D1%8C-%D1%86%D0%B5%D0%BD%D0%B0-%D0%BE%D1%82-%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5/?hl=%2B%D1%86%D0%B5%D0%BD%D0%B0+%2B%D0%BE%D1%82 не нашел для себя решения. Есть ли готовое решение для вывода приставки перед ценой в category.tpl для продуктов, имеющих опции с ценой более чем 0? Надіслати Поділитися на інших сайтах More sharing options...
mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Спасибо! Сделал так, теперь отображается приставка у товаров с опциями. Осталось докумекать как выводить это только при условии что установлена цена опции более 0.... Надіслати Поділитися на інших сайтах More sharing options... mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 12 січня 2016 Share Опубліковано: 12 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось: controller $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $product_option_value_data[] = array( 'price' => $option_value['price'], ); } } $data['options'][] = array( 'product_option_value' => $product_option_value_data, ); }} $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'options' => $data['options'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); и tpl <?php if ($product['options']) { foreach ($product['options'] as $option) { foreach ($option['product_option_value'] as $option_value) { if( ($option_value['price']) > 0) { echo 'От'; } } } } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 17 січня 2016 Share Опубліковано: 17 січня 2016 Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php: if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){ $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } } } else { $price = false; } Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Lordaaa Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Я бы сделал вывод опций товара в категорию, причём именно сам вывод можно и не делать, достаточно объявить в контроллере, ну а потом: <?php if ($product['options']) { ?> от <?php } ?> Спасибо! Сделал так, теперь отображается приставка у товаров с опциями. Осталось докумекать как выводить это только при условии что установлена цена опции более 0.... Надіслати Поділитися на інших сайтах More sharing options...
mazein Опубліковано: 11 січня 2016 Share Опубліковано: 11 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 12 січня 2016 Share Опубліковано: 12 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось: controller $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $product_option_value_data[] = array( 'price' => $option_value['price'], ); } } $data['options'][] = array( 'product_option_value' => $product_option_value_data, ); }} $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'options' => $data['options'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); и tpl <?php if ($product['options']) { foreach ($product['options'] as $option) { foreach ($option['product_option_value'] as $option_value) { if( ($option_value['price']) > 0) { echo 'От'; } } } } ?> Надіслати Поділитися на інших сайтах More sharing options... Lordaaa Опубліковано: 17 січня 2016 Share Опубліковано: 17 січня 2016 Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php: if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){ $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } } } else { $price = false; } Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Lordaaa Опубліковано: 12 січня 2016 Share Опубліковано: 12 січня 2016 Вывести из массива опций максимальную цену, и если она >0, выводить приставку. К сожалению php не знаю... Добился вывода приставки если цена у опций более 0, но если несколько значений больше 0, то и выводит несколько приставок. Если есть возможность поправить, то вот что получилось: controller $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $product_option_value_data[] = array( 'price' => $option_value['price'], ); } } $data['options'][] = array( 'product_option_value' => $product_option_value_data, ); }} $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'options' => $data['options'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); и tpl <?php if ($product['options']) { foreach ($product['options'] as $option) { foreach ($option['product_option_value'] as $option_value) { if( ($option_value['price']) > 0) { echo 'От'; } } } } ?> Надіслати Поділитися на інших сайтах More sharing options...
Lordaaa Опубліковано: 17 січня 2016 Share Опубліковано: 17 січня 2016 Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php: if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){ $price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))); } } } else { $price = false; } Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код. Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts