Marianna Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 Как вывести вес из опции в карте товара? В гугле ответа на свой вопрос не нашла вообще. Надіслати Поділитися на інших сайтах More sharing options...
PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 Значения опций в БД, если можно так выразиться, не имеют числовых значений, так что вариантов не особо. Разово можно сделать каким-нибудь модулем экспорта/импорта или пакетным редактором, для обновления на лету нужно писать модуль, для такой специфической задачи не встречал. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 Имеется ввиду, что вес товара, меняется от веса опции getProductOptions возвращает 'weight' => $product_option_value['weight'], 'weight_prefix' => $product_option_value['weight_prefix'] Далее в контроллере $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] достать вес и префикс И вывести в шаблон 2 Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 (змінено) @chukcha Не мог придумать для другой задачи решение, спасибо, что потыкали мордочкой) Подойдет ли ТС - неизвестно пока, так как вывод во фронт одно, а увеличение веса товара для доставок там и прочего - иное. Но мне было полезно. Змінено 14 серпня 2019 користувачем PaulKravchenko Надіслати Поділитися на інших сайтах More sharing options... GreenDragon Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> 1 Надіслати Поділитися на інших сайтах More sharing options... Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 (змінено) 24 минуты назад, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight'))) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Спасибо большое, осталось разборатся где слово кг на граммы заменить В система - настройки - локализация Змінено 14 серпня 2019 користувачем Marianna Надіслати Поділитися на інших сайтах More sharing options... Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 1 час назад, PaulKravchenko сказал: @chukcha Не мог придумать для другой задачи решение, спасибо, что потыкали мордочкой) Подойдет ли ТС - неизвестно пока, так как вывод во фронт одно, а увеличение веса товара для доставок там и прочего - иное. Но мне было полезно. это нужно для веса золота, колец, сережек Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 1 минуту назад, Marianna сказал: это нужно для веса золота, колец, сережек в таком случае вполне годный вариант, раз не влияет на доставки например Надіслати Поділитися на інших сайтах More sharing options... 2 years later... zhizherinv Опубліковано: 11 грудня 2021 Share Опубліковано: 11 грудня 2021 В 14.08.2019 в 13:54, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Подскажите, этот код просто добавить в файлы или что-то нужно убрать и потом этот добавить? У меня вылезла ошибка о неизвестной переменной weight Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Вывести вес из опции в карту товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 Имеется ввиду, что вес товара, меняется от веса опции getProductOptions возвращает 'weight' => $product_option_value['weight'], 'weight_prefix' => $product_option_value['weight_prefix'] Далее в контроллере $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] достать вес и префикс И вывести в шаблон 2 Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 (змінено) @chukcha Не мог придумать для другой задачи решение, спасибо, что потыкали мордочкой) Подойдет ли ТС - неизвестно пока, так как вывод во фронт одно, а увеличение веса товара для доставок там и прочего - иное. Но мне было полезно. Змінено 14 серпня 2019 користувачем PaulKravchenko Надіслати Поділитися на інших сайтах More sharing options... GreenDragon Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> 1 Надіслати Поділитися на інших сайтах More sharing options... Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 (змінено) 24 минуты назад, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight'))) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Спасибо большое, осталось разборатся где слово кг на граммы заменить В система - настройки - локализация Змінено 14 серпня 2019 користувачем Marianna Надіслати Поділитися на інших сайтах More sharing options... Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 1 час назад, PaulKravchenko сказал: @chukcha Не мог придумать для другой задачи решение, спасибо, что потыкали мордочкой) Подойдет ли ТС - неизвестно пока, так как вывод во фронт одно, а увеличение веса товара для доставок там и прочего - иное. Но мне было полезно. это нужно для веса золота, колец, сережек Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 1 минуту назад, Marianna сказал: это нужно для веса золота, колец, сережек в таком случае вполне годный вариант, раз не влияет на доставки например Надіслати Поділитися на інших сайтах More sharing options... 2 years later... zhizherinv Опубліковано: 11 грудня 2021 Share Опубліковано: 11 грудня 2021 В 14.08.2019 в 13:54, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Подскажите, этот код просто добавить в файлы или что-то нужно убрать и потом этот добавить? У меня вылезла ошибка о неизвестной переменной weight Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Вывести вес из опции в карту товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 (змінено) @chukcha Не мог придумать для другой задачи решение, спасибо, что потыкали мордочкой) Подойдет ли ТС - неизвестно пока, так как вывод во фронт одно, а увеличение веса товара для доставок там и прочего - иное. Но мне было полезно. Змінено 14 серпня 2019 користувачем PaulKravchenko Надіслати Поділитися на інших сайтах More sharing options... GreenDragon Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> 1 Надіслати Поділитися на інших сайтах More sharing options... Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 (змінено) 24 минуты назад, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight'))) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Спасибо большое, осталось разборатся где слово кг на граммы заменить В система - настройки - локализация Змінено 14 серпня 2019 користувачем Marianna Надіслати Поділитися на інших сайтах More sharing options... Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 1 час назад, PaulKravchenko сказал: @chukcha Не мог придумать для другой задачи решение, спасибо, что потыкали мордочкой) Подойдет ли ТС - неизвестно пока, так как вывод во фронт одно, а увеличение веса товара для доставок там и прочего - иное. Но мне было полезно. это нужно для веса золота, колец, сережек Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 1 минуту назад, Marianna сказал: это нужно для веса золота, колец, сережек в таком случае вполне годный вариант, раз не влияет на доставки например Надіслати Поділитися на інших сайтах More sharing options... 2 years later... zhizherinv Опубліковано: 11 грудня 2021 Share Опубліковано: 11 грудня 2021 В 14.08.2019 в 13:54, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Подскажите, этот код просто добавить в файлы или что-то нужно убрать и потом этот добавить? У меня вылезла ошибка о неизвестной переменной weight Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Вывести вес из опции в карту товара
GreenDragon Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> 1 Надіслати Поділитися на інших сайтах More sharing options... Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 (змінено) 24 минуты назад, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight'))) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Спасибо большое, осталось разборатся где слово кг на граммы заменить В система - настройки - локализация Змінено 14 серпня 2019 користувачем Marianna Надіслати Поділитися на інших сайтах More sharing options... Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 1 час назад, PaulKravchenko сказал: @chukcha Не мог придумать для другой задачи решение, спасибо, что потыкали мордочкой) Подойдет ли ТС - неизвестно пока, так как вывод во фронт одно, а увеличение веса товара для доставок там и прочего - иное. Но мне было полезно. это нужно для веса золота, колец, сережек Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 1 минуту назад, Marianna сказал: это нужно для веса золота, колец, сережек в таком случае вполне годный вариант, раз не влияет на доставки например Надіслати Поділитися на інших сайтах More sharing options... 2 years later... zhizherinv Опубліковано: 11 грудня 2021 Share Опубліковано: 11 грудня 2021 В 14.08.2019 в 13:54, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Подскажите, этот код просто добавить в файлы или что-то нужно убрать и потом этот добавить? У меня вылезла ошибка о неизвестной переменной weight Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 (змінено) 24 минуты назад, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight'))) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Спасибо большое, осталось разборатся где слово кг на граммы заменить В система - настройки - локализация Змінено 14 серпня 2019 користувачем Marianna Надіслати Поділитися на інших сайтах More sharing options...
Marianna Опубліковано: 14 серпня 2019 Автор Share Опубліковано: 14 серпня 2019 1 час назад, PaulKravchenko сказал: @chukcha Не мог придумать для другой задачи решение, спасибо, что потыкали мордочкой) Подойдет ли ТС - неизвестно пока, так как вывод во фронт одно, а увеличение веса товара для доставок там и прочего - иное. Но мне было полезно. это нужно для веса золота, колец, сережек Надіслати Поділитися на інших сайтах More sharing options...
PaulKravchenko Опубліковано: 14 серпня 2019 Share Опубліковано: 14 серпня 2019 1 минуту назад, Marianna сказал: это нужно для веса золота, колец, сережек в таком случае вполне годный вариант, раз не влияет на доставки например Надіслати Поділитися на інших сайтах More sharing options... 2 years later... zhizherinv Опубліковано: 11 грудня 2021 Share Опубліковано: 11 грудня 2021 В 14.08.2019 в 13:54, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Подскажите, этот код просто добавить в файлы или что-то нужно убрать и потом этот добавить? У меня вылезла ошибка о неизвестной переменной weight Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
zhizherinv Опубліковано: 11 грудня 2021 Share Опубліковано: 11 грудня 2021 В 14.08.2019 в 13:54, GreenDragon сказал: В контроллере: foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; } if ((($this->config->get('config_customer_weight') && $this->customer->isLogged()) || !$this->config->get('config_customer_weight')) && (float)$option_value['weight']) { $weight = $this->weight->format($option_value['weight'], $this->config->get('config_weight_class_id')); } else { $weight = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_prefix' => $option_value['price_prefix'], 'weight' => $weight, 'weight_prefix' => $option_value['weight_prefix'] ); } } В шаблоне вывод на примере опций radio: <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label"><?php echo $option['name']; ?></label> <div id="input-option<?php echo $option['product_option_id']; ?>"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> <?php if ($option_value['weight']) { ?> (<?php echo $option_value['weight_prefix']; ?><?php echo $option_value['weight']; ?>) <?php } ?> </label> </div> <?php } ?> </div> </div> <?php } ?> Подскажите, этот код просто добавить в файлы или что-то нужно убрать и потом этот добавить? У меня вылезла ошибка о неизвестной переменной weight Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts