AlexMax13 Posted September 21 Share Posted September 21 Здравствуйте. Система опенкарта позволяет добавить товар из каталога товаров только в том случае, если у него нету необязательных опций. В противном случае при клике на кнопку купить происходит редирект на страницу товара. Как можно это обойти? чтобы при клике в каталоге на купить товар в любом случае добавлялся в корзину, а вот этого редиректа https://prnt.sc/FtRbJwhCwN7K чтобы не было Link to comment Share on other sites More sharing options...
Eldaeron Posted September 21 Share Posted September 21 В 21.09.2023 в 03:42, AlexMax13 сказав: Здравствуйте. Система опенкарта позволяет добавить товар из каталога товаров только в том случае, если у него нету необязательных опций. В противном случае при клике на кнопку купить происходит редирект на страницу товара. Как можно это обойти? чтобы при клике в каталоге на купить товар в любом случае добавлялся в корзину, а вот этого редиректа https://prnt.sc/FtRbJwhCwN7K чтобы не было підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. 1 Link to comment Share on other sites More sharing options... Vetlucky777 Posted September 21 Share Posted September 21 21.09.2023 в 11:57, Eldaeron сказал: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. Добрий день! підкажіть як зробити щоб опція в товарі була вибрана за замовчування? у мене в кожному товарі буде тільки 1 опція. зараз виходить що клієнт повинен завжди вибирати Link to comment Share on other sites More sharing options... Eldaeron Posted September 21 Share Posted September 21 В 21.09.2023 в 14:40, Vetlucky777 сказав: Добрий день! підкажіть як зробити щоб опція в товарі була вибрана за замовчування? у мене в кожному товарі буде тільки 1 опція. зараз виходить що клієнт повинен завжди вибирати Наприклад додати jquery код внизу product.tpl [twig] let options = $('[id^="input-option"]'); options.each(function(){ $(this).find('input:first').attr('checked', true); }); 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 21 Author Share Posted September 21 В 21.09.2023 в 11:57, Eldaeron сказав: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. Link to comment Share on other sites More sharing options... Eldaeron Posted September 22 Share Posted September 22 В 22.09.2023 в 00:55, AlexMax13 сказав: спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. а хто мішає взяти шлях звідки прийшли дані?) 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 22 Author Share Posted September 22 В 22.09.2023 в 12:49, Eldaeron сказав: а хто мішає взяти шлях звідки прийшли дані?) можете привести приклад?) якщо не важко Link to comment Share on other sites More sharing options... Eldaeron Posted September 23 Share Posted September 23 В 23.09.2023 в 00:16, AlexMax13 сказав: можете привести приклад?) якщо не важко Ну наприклад такий костиль: $from = $this->request->server['HTTP_REFERER']; $parts = explode('/', $from); $parts = array_reverse($parts, true); foreach ($parts as $part) { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape(trim($part)) . "' LIMIT 1"); if ($_query->row['query']) { $query = explode('=', $_query->row['query']); $controller = $query[0]; break; } } if ($controller == 'category_id') { // товар додано із сторінки категорії } if ($controller == 'product_id') { // товар додано із сторінки продукта } 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 28 Author Share Posted September 28 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Link to comment Share on other sites More sharing options... Eldaeron Posted October 2 Share Posted October 2 В 29.09.2023 в 00:26, AlexMax13 сказав: @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Для всього сайту (і категорії, і сторінка товару). Як варіант перепишіть в шаблоні виводу теми catalog/view/ВАША_ТЕМА/template/product/product.tpl: Замінити з: url: 'index.php?route=checkout/cart/add', На: url: 'index.php?route=checkout/cart/addWithOptions', Дальше в catalog/controller/checkout/cart.php, замінити: public function add() { На цей код: public function addWithOptions() { $this->add(true); } public function add($check = false) { Дальше замінити: foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } На цей код: if ($check === true) { foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } } В такому вигляді, по всьому сайті, окрім товару із сторінки product - буде попадати в корзину без перевірки опцій, а на самій сторінці опції будуть обов’язкові. 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted October 3 Author Share Posted October 3 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Similar Content Обновление цены при выборе опций в каталоге By AlexMax13, October 29 обновление цены обновление цены в каталоге 1 reply 197 views magdek October 29 HPMrr опции как отдельный товар By kJlukOo, May 17 0 comments 5,884 views kJlukOo May 18 Обязательный двойной клик по кнопке "Подтвердить заказ" By am0r, November 13 10 replies 336 views am0r November 15 [Поддержка] HPMrr опции как отдельный товар 1 2 By kJlukOo, May 18 28 replies 1,573 views MarketM November 7 Переход на страницу товара из каталога By AlexMax13, September 17 1 reply 255 views slobGrower September 18 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Добавить товар с обязательными опциями из каталога товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Extract from the account of individual entrepreneurs in PrivatBank for Opencart By bogdan281989 Featured Products with Multilingual Title and Button By radaevich Unused Images Actions By Symplax Модуль "WB Калькулятор и Фильтр доставки" By whiteblue Пользовательские Шаблоны By RoS × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Where to buy modules? Services FAQ OpenCart.Pro Back Demo Buy Compare × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
Vetlucky777 Posted September 21 Share Posted September 21 21.09.2023 в 11:57, Eldaeron сказал: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. Добрий день! підкажіть як зробити щоб опція в товарі була вибрана за замовчування? у мене в кожному товарі буде тільки 1 опція. зараз виходить що клієнт повинен завжди вибирати Link to comment Share on other sites More sharing options...
Eldaeron Posted September 21 Share Posted September 21 В 21.09.2023 в 14:40, Vetlucky777 сказав: Добрий день! підкажіть як зробити щоб опція в товарі була вибрана за замовчування? у мене в кожному товарі буде тільки 1 опція. зараз виходить що клієнт повинен завжди вибирати Наприклад додати jquery код внизу product.tpl [twig] let options = $('[id^="input-option"]'); options.each(function(){ $(this).find('input:first').attr('checked', true); }); 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 21 Author Share Posted September 21 В 21.09.2023 в 11:57, Eldaeron сказав: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. Link to comment Share on other sites More sharing options... Eldaeron Posted September 22 Share Posted September 22 В 22.09.2023 в 00:55, AlexMax13 сказав: спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. а хто мішає взяти шлях звідки прийшли дані?) 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 22 Author Share Posted September 22 В 22.09.2023 в 12:49, Eldaeron сказав: а хто мішає взяти шлях звідки прийшли дані?) можете привести приклад?) якщо не важко Link to comment Share on other sites More sharing options... Eldaeron Posted September 23 Share Posted September 23 В 23.09.2023 в 00:16, AlexMax13 сказав: можете привести приклад?) якщо не важко Ну наприклад такий костиль: $from = $this->request->server['HTTP_REFERER']; $parts = explode('/', $from); $parts = array_reverse($parts, true); foreach ($parts as $part) { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape(trim($part)) . "' LIMIT 1"); if ($_query->row['query']) { $query = explode('=', $_query->row['query']); $controller = $query[0]; break; } } if ($controller == 'category_id') { // товар додано із сторінки категорії } if ($controller == 'product_id') { // товар додано із сторінки продукта } 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 28 Author Share Posted September 28 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Link to comment Share on other sites More sharing options... Eldaeron Posted October 2 Share Posted October 2 В 29.09.2023 в 00:26, AlexMax13 сказав: @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Для всього сайту (і категорії, і сторінка товару). Як варіант перепишіть в шаблоні виводу теми catalog/view/ВАША_ТЕМА/template/product/product.tpl: Замінити з: url: 'index.php?route=checkout/cart/add', На: url: 'index.php?route=checkout/cart/addWithOptions', Дальше в catalog/controller/checkout/cart.php, замінити: public function add() { На цей код: public function addWithOptions() { $this->add(true); } public function add($check = false) { Дальше замінити: foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } На цей код: if ($check === true) { foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } } В такому вигляді, по всьому сайті, окрім товару із сторінки product - буде попадати в корзину без перевірки опцій, а на самій сторінці опції будуть обов’язкові. 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted October 3 Author Share Posted October 3 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Similar Content Обновление цены при выборе опций в каталоге By AlexMax13, October 29 обновление цены обновление цены в каталоге 1 reply 197 views magdek October 29 HPMrr опции как отдельный товар By kJlukOo, May 17 0 comments 5,884 views kJlukOo May 18 Обязательный двойной клик по кнопке "Подтвердить заказ" By am0r, November 13 10 replies 336 views am0r November 15 [Поддержка] HPMrr опции как отдельный товар 1 2 By kJlukOo, May 18 28 replies 1,573 views MarketM November 7 Переход на страницу товара из каталога By AlexMax13, September 17 1 reply 255 views slobGrower September 18 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Добавить товар с обязательными опциями из каталога товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Extract from the account of individual entrepreneurs in PrivatBank for Opencart By bogdan281989 Featured Products with Multilingual Title and Button By radaevich Unused Images Actions By Symplax Модуль "WB Калькулятор и Фильтр доставки" By whiteblue Пользовательские Шаблоны By RoS
AlexMax13 Posted September 21 Author Share Posted September 21 В 21.09.2023 в 11:57, Eldaeron сказав: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. Link to comment Share on other sites More sharing options...
Eldaeron Posted September 22 Share Posted September 22 В 22.09.2023 в 00:55, AlexMax13 сказав: спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. а хто мішає взяти шлях звідки прийшли дані?) 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 22 Author Share Posted September 22 В 22.09.2023 в 12:49, Eldaeron сказав: а хто мішає взяти шлях звідки прийшли дані?) можете привести приклад?) якщо не важко Link to comment Share on other sites More sharing options... Eldaeron Posted September 23 Share Posted September 23 В 23.09.2023 в 00:16, AlexMax13 сказав: можете привести приклад?) якщо не важко Ну наприклад такий костиль: $from = $this->request->server['HTTP_REFERER']; $parts = explode('/', $from); $parts = array_reverse($parts, true); foreach ($parts as $part) { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape(trim($part)) . "' LIMIT 1"); if ($_query->row['query']) { $query = explode('=', $_query->row['query']); $controller = $query[0]; break; } } if ($controller == 'category_id') { // товар додано із сторінки категорії } if ($controller == 'product_id') { // товар додано із сторінки продукта } 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 28 Author Share Posted September 28 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Link to comment Share on other sites More sharing options... Eldaeron Posted October 2 Share Posted October 2 В 29.09.2023 в 00:26, AlexMax13 сказав: @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Для всього сайту (і категорії, і сторінка товару). Як варіант перепишіть в шаблоні виводу теми catalog/view/ВАША_ТЕМА/template/product/product.tpl: Замінити з: url: 'index.php?route=checkout/cart/add', На: url: 'index.php?route=checkout/cart/addWithOptions', Дальше в catalog/controller/checkout/cart.php, замінити: public function add() { На цей код: public function addWithOptions() { $this->add(true); } public function add($check = false) { Дальше замінити: foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } На цей код: if ($check === true) { foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } } В такому вигляді, по всьому сайті, окрім товару із сторінки product - буде попадати в корзину без перевірки опцій, а на самій сторінці опції будуть обов’язкові. 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted October 3 Author Share Posted October 3 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Similar Content Обновление цены при выборе опций в каталоге By AlexMax13, October 29 обновление цены обновление цены в каталоге 1 reply 197 views magdek October 29 HPMrr опции как отдельный товар By kJlukOo, May 17 0 comments 5,884 views kJlukOo May 18 Обязательный двойной клик по кнопке "Подтвердить заказ" By am0r, November 13 10 replies 336 views am0r November 15 [Поддержка] HPMrr опции как отдельный товар 1 2 By kJlukOo, May 18 28 replies 1,573 views MarketM November 7 Переход на страницу товара из каталога By AlexMax13, September 17 1 reply 255 views slobGrower September 18 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Добавить товар с обязательными опциями из каталога товаров
AlexMax13 Posted September 22 Author Share Posted September 22 В 22.09.2023 в 12:49, Eldaeron сказав: а хто мішає взяти шлях звідки прийшли дані?) можете привести приклад?) якщо не важко Link to comment Share on other sites More sharing options...
Eldaeron Posted September 23 Share Posted September 23 В 23.09.2023 в 00:16, AlexMax13 сказав: можете привести приклад?) якщо не важко Ну наприклад такий костиль: $from = $this->request->server['HTTP_REFERER']; $parts = explode('/', $from); $parts = array_reverse($parts, true); foreach ($parts as $part) { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape(trim($part)) . "' LIMIT 1"); if ($_query->row['query']) { $query = explode('=', $_query->row['query']); $controller = $query[0]; break; } } if ($controller == 'category_id') { // товар додано із сторінки категорії } if ($controller == 'product_id') { // товар додано із сторінки продукта } 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted September 28 Author Share Posted September 28 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Link to comment Share on other sites More sharing options... Eldaeron Posted October 2 Share Posted October 2 В 29.09.2023 в 00:26, AlexMax13 сказав: @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Для всього сайту (і категорії, і сторінка товару). Як варіант перепишіть в шаблоні виводу теми catalog/view/ВАША_ТЕМА/template/product/product.tpl: Замінити з: url: 'index.php?route=checkout/cart/add', На: url: 'index.php?route=checkout/cart/addWithOptions', Дальше в catalog/controller/checkout/cart.php, замінити: public function add() { На цей код: public function addWithOptions() { $this->add(true); } public function add($check = false) { Дальше замінити: foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } На цей код: if ($check === true) { foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } } В такому вигляді, по всьому сайті, окрім товару із сторінки product - буде попадати в корзину без перевірки опцій, а на самій сторінці опції будуть обов’язкові. 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted October 3 Author Share Posted October 3 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Similar Content Обновление цены при выборе опций в каталоге By AlexMax13, October 29 обновление цены обновление цены в каталоге 1 reply 197 views magdek October 29 HPMrr опции как отдельный товар By kJlukOo, May 17 0 comments 5,884 views kJlukOo May 18 Обязательный двойной клик по кнопке "Подтвердить заказ" By am0r, November 13 10 replies 336 views am0r November 15 [Поддержка] HPMrr опции как отдельный товар 1 2 By kJlukOo, May 18 28 replies 1,573 views MarketM November 7 Переход на страницу товара из каталога By AlexMax13, September 17 1 reply 255 views slobGrower September 18 Recently Browsing 0 members No registered users viewing this page.
AlexMax13 Posted September 28 Author Share Posted September 28 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Link to comment Share on other sites More sharing options...
Eldaeron Posted October 2 Share Posted October 2 В 29.09.2023 в 00:26, AlexMax13 сказав: @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Для всього сайту (і категорії, і сторінка товару). Як варіант перепишіть в шаблоні виводу теми catalog/view/ВАША_ТЕМА/template/product/product.tpl: Замінити з: url: 'index.php?route=checkout/cart/add', На: url: 'index.php?route=checkout/cart/addWithOptions', Дальше в catalog/controller/checkout/cart.php, замінити: public function add() { На цей код: public function addWithOptions() { $this->add(true); } public function add($check = false) { Дальше замінити: foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } На цей код: if ($check === true) { foreach ($product_options as $product_option) { if ($product_option['required'] && empty($option[$product_option['product_option_id']])) { $json['error']['option'][$product_option['product_option_id']] = sprintf($this->language->get('error_required'), $product_option['name']); } } } В такому вигляді, по всьому сайті, окрім товару із сторінки product - буде попадати в корзину без перевірки опцій, а на самій сторінці опції будуть обов’язкові. 1 Link to comment Share on other sites More sharing options... AlexMax13 Posted October 3 Author Share Posted October 3 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1
AlexMax13 Posted October 3 Author Share Posted October 3 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Link to comment Share on other sites More sharing options...
Recommended Posts