AlexMax13 Опубліковано: 21 вересня 2023 Share Опубліковано: 21 вересня 2023 Здравствуйте. Система опенкарта позволяет добавить товар из каталога товаров только в том случае, если у него нету необязательных опций. В противном случае при клике на кнопку купить происходит редирект на страницу товара. Как можно это обойти? чтобы при клике в каталоге на купить товар в любом случае добавлялся в корзину, а вот этого редиректа https://prnt.sc/FtRbJwhCwN7K чтобы не было Надіслати Поділитися на інших сайтах More sharing options...
Eldaeron Опубліковано: 21 вересня 2023 Share Опубліковано: 21 вересня 2023 В 21.09.2023 в 03:42, AlexMax13 сказав: Здравствуйте. Система опенкарта позволяет добавить товар из каталога товаров только в том случае, если у него нету необязательных опций. В противном случае при клике на кнопку купить происходит редирект на страницу товара. Как можно это обойти? чтобы при клике в каталоге на купить товар в любом случае добавлялся в корзину, а вот этого редиректа https://prnt.sc/FtRbJwhCwN7K чтобы не было підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. 1 Надіслати Поділитися на інших сайтах More sharing options... Vetlucky777 Опубліковано: 21 вересня 2023 Share Опубліковано: 21 вересня 2023 21.09.2023 в 11:57, Eldaeron сказал: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. Добрий день! підкажіть як зробити щоб опція в товарі була вибрана за замовчування? у мене в кожному товарі буде тільки 1 опція. зараз виходить що клієнт повинен завжди вибирати Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 21 вересня 2023 Share Опубліковано: 21 вересня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 21 вересня 2023 Автор Share Опубліковано: 21 вересня 2023 В 21.09.2023 в 11:57, Eldaeron сказав: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 22 вересня 2023 Share Опубліковано: 22 вересня 2023 В 22.09.2023 в 00:55, AlexMax13 сказав: спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. а хто мішає взяти шлях звідки прийшли дані?) 1 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 22 вересня 2023 Автор Share Опубліковано: 22 вересня 2023 В 22.09.2023 в 12:49, Eldaeron сказав: а хто мішає взяти шлях звідки прийшли дані?) можете привести приклад?) якщо не важко Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 23 вересня 2023 Share Опубліковано: 23 вересня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 28 вересня 2023 Автор Share Опубліковано: 28 вересня 2023 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 2 жовтня 2023 Share Опубліковано: 2 жовтня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 3 жовтня 2023 Автор Share Опубліковано: 3 жовтня 2023 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Добавить товар с обязательными опциями из каталога товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Vetlucky777 Опубліковано: 21 вересня 2023 Share Опубліковано: 21 вересня 2023 21.09.2023 в 11:57, Eldaeron сказал: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. Добрий день! підкажіть як зробити щоб опція в товарі була вибрана за замовчування? у мене в кожному товарі буде тільки 1 опція. зараз виходить що клієнт повинен завжди вибирати Надіслати Поділитися на інших сайтах More sharing options...
Eldaeron Опубліковано: 21 вересня 2023 Share Опубліковано: 21 вересня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 21 вересня 2023 Автор Share Опубліковано: 21 вересня 2023 В 21.09.2023 в 11:57, Eldaeron сказав: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 22 вересня 2023 Share Опубліковано: 22 вересня 2023 В 22.09.2023 в 00:55, AlexMax13 сказав: спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. а хто мішає взяти шлях звідки прийшли дані?) 1 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 22 вересня 2023 Автор Share Опубліковано: 22 вересня 2023 В 22.09.2023 в 12:49, Eldaeron сказав: а хто мішає взяти шлях звідки прийшли дані?) можете привести приклад?) якщо не важко Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 23 вересня 2023 Share Опубліковано: 23 вересня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 28 вересня 2023 Автор Share Опубліковано: 28 вересня 2023 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 2 жовтня 2023 Share Опубліковано: 2 жовтня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 3 жовтня 2023 Автор Share Опубліковано: 3 жовтня 2023 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Добавить товар с обязательными опциями из каталога товаров Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
AlexMax13 Опубліковано: 21 вересня 2023 Автор Share Опубліковано: 21 вересня 2023 В 21.09.2023 в 11:57, Eldaeron сказав: підредагувати метод add (створити модифікатор дуже просто), в catalog/controller/checkout/cart.php , вказавши якщо опції не вибрані але обов’язкові, додай ці опції (наприклад - першу з них). Зверніть тут увагу. спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. Надіслати Поділитися на інших сайтах More sharing options...
Eldaeron Опубліковано: 22 вересня 2023 Share Опубліковано: 22 вересня 2023 В 22.09.2023 в 00:55, AlexMax13 сказав: спасибо, но в таком случае необязятельными будут сразу и опции на странице товара. А мне нужно, чтобы необязательными они были только в каталоге или стандартных модулях по типу рекомендуемых. а хто мішає взяти шлях звідки прийшли дані?) 1 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 22 вересня 2023 Автор Share Опубліковано: 22 вересня 2023 В 22.09.2023 в 12:49, Eldaeron сказав: а хто мішає взяти шлях звідки прийшли дані?) можете привести приклад?) якщо не важко Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 23 вересня 2023 Share Опубліковано: 23 вересня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 28 вересня 2023 Автор Share Опубліковано: 28 вересня 2023 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 2 жовтня 2023 Share Опубліковано: 2 жовтня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 3 жовтня 2023 Автор Share Опубліковано: 3 жовтня 2023 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Добавить товар с обязательными опциями из каталога товаров
AlexMax13 Опубліковано: 22 вересня 2023 Автор Share Опубліковано: 22 вересня 2023 В 22.09.2023 в 12:49, Eldaeron сказав: а хто мішає взяти шлях звідки прийшли дані?) можете привести приклад?) якщо не важко Надіслати Поділитися на інших сайтах More sharing options...
Eldaeron Опубліковано: 23 вересня 2023 Share Опубліковано: 23 вересня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 28 вересня 2023 Автор Share Опубліковано: 28 вересня 2023 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Надіслати Поділитися на інших сайтах More sharing options... Eldaeron Опубліковано: 2 жовтня 2023 Share Опубліковано: 2 жовтня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 3 жовтня 2023 Автор Share Опубліковано: 3 жовтня 2023 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
AlexMax13 Опубліковано: 28 вересня 2023 Автор Share Опубліковано: 28 вересня 2023 @Eldaeron спасибо за идею)) Смотрите. я просто закомментировал появление ошибки https://prnt.sc/ILfjFJwFQpdF Все работает как надо. Вопрос, то что я закоментировал действует только для страницы категорий, но не для страницы самого товара. Все верно?) Мне просто нужно чтобы везде небыло этого редиректа кроме страницы товара, ну тоесть чтобы она никак не пострадала Надіслати Поділитися на інших сайтах More sharing options...
Eldaeron Опубліковано: 2 жовтня 2023 Share Опубліковано: 2 жовтня 2023 В 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 Надіслати Поділитися на інших сайтах More sharing options... AlexMax13 Опубліковано: 3 жовтня 2023 Автор Share Опубліковано: 3 жовтня 2023 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1
AlexMax13 Опубліковано: 3 жовтня 2023 Автор Share Опубліковано: 3 жовтня 2023 @Eldaeron Дуже дякую, попробую тоді, коли припече) тобто якщо щось піде не так. Наразі ніби опції обов'язкові на сторінці товару, але у всіх інших місцях ні) Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts