Перейти к содержанию

DenKuzmin

Пользователь
  • Постов

    27
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Весь контент DenKuzmin

  1. Хочу перенести способы доставки на самый верх. В шаблоне переместил блок вверх <?php if ($shipping_required) { ?> <div class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"><?php echo $text_checkout_shipping_method; ?></h4> </div> <div class="panel-collapse collapse" id="collapse-shipping-method"> <div class="panel-body"></div> </div> </div> <?php } ?> Добавил JS $(document).ready(function () { $.ajax({ url: 'index.php?route=checkout/guest_shipping/save', type: 'post', data: { 'firstname': '', 'lastname': '', 'address_1': '', 'city': '', 'country_id': 176, 'zone_id': 2761 }, dataType: 'json', success: function(json) { $('.alert, .text-danger').remove(); $.ajax({ url: 'index.php?route=checkout/shipping_method', dataType: 'html', success: function(html) { $('#collapse-shipping-method .panel-body').html(html); } }); }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); При открытии страницы Оформления заказа получаю ошибку Вот содержимое строки 151 $custom_fields = $this->model_account_custom_field->getCustomFields($this->session->data['guest']['customer_group_id']);
  2. Вывожу в карточку товара opencart 2.3 дополнительные товары. Вот код в контроллере для этого: // Получаем текущий товар $product_id = $this->request->get['product_id']; $product = $this->model_catalog_product->getProduct($product_id); // Получаем значение UPC текущего товара $upc = $product['upc']; if (!empty($upc)) { $data['upc_product_id'] = $upc; $this->load->model('catalog/product'); $upc_product_ids = explode(',', $data['upc_product_id']); foreach ($upc_product_ids as $upc_product_id) { $data['upc_products'][] = $this->model_catalog_product->getProduct($upc_product_id); $data['upc_product_options'][$upc_product_id] = $this->model_catalog_product->getProductOptions($upc_product_id); $data['upc_product_attributes'][$upc_product_id] = $this->model_catalog_product->getProductAttributes($upc_product_id); } } Код в шаблоне product.tpl: <?php if (isset($upc_products)) { ?> <div class="additional_products"> <?php foreach ($upc_products as $upc_product) { ?> <div class="additional_product"> <img class="lazyload" data-src="<?php echo $upc_product['image']; ?>" alt="<?php echo $upc_product['name']; ?>" /> </div> <?php } ?> </div> <?php } ?> Проблема в том, что в img мне выводит полное изображение в большом разрешении. Как мне вывести миниатюру или сделать ресайз большого изображения перед выводом в шаблон? Как мне вывести в шаблон изображение размером 90 на 50 пикселей? Может как-то изменить код в product.php и создать для этого отдельный ключ thumb?
  3. Получилось таким способом: $('input[name^="option"],select[name^="option"]').on('change', function() { recalculateprice(); }); заменил на $('input[name^="option"],select[name^="option"]').not('.additional_products input, .additional_products select').on('change', function() { recalculateprice(); }); и var $so = $('input[type="hidden"][name^="option"],input[name^="option"]:checked,select[name^="option"] option:selected'); заменил на var $so = $('input[type="hidden"][name^="option"],input[name^="option"]:checked,select[name^="option"] option:selected').not('.additional_products input, .additional_products select'); Цена в карточке пересчитывается нормально. NaN пропало. Но из за <operation> <search><![CDATA[value="<?php echo $option_value['product_option_value_id']; ?>"]]></search> <add position="replace"><![CDATA[value="<?php echo $option_value['product_option_value_id']; ?>" data-optid="<?php echo $option['option_id']; ?>" data-points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" data-prefix="<?php echo $option_value['price_prefix']; ?>" data-price="<?php echo $option_value['price_value']; ?>"]]></add> </operation> у меня ошибка в .additional_products input, а именно <input type="radio" name="option[1565]" value="25447" data-optid="11" data-points="0" data-prefix="+" data-price="<b>Notice</b>: Undefined index: price_value in <b>.../system/storage/modification/catalog/view/theme/default/template/product/product.tpl</b>" /> Не пойму как исключить из замены инпуты, которые в .additional_products, чтобы модуль их вообще не трогал.
  4. Я добавил доп. товары с опциями в карточку товара. Проблема в том, что у меня теперь в цене товара NaN и цена не пересчитывается. Я так понял, что это из-за этого куска <operation> <search><![CDATA[value="<?php echo $option_value['product_option_value_id']; ?>"]]></search> <add position="replace"><![CDATA[value="<?php echo $option_value['product_option_value_id']; ?>" data-optid="<?php echo $option['option_id']; ?>" data-points="<?php echo (isset($option_value['points_value']) ? $option_value['points_value'] : 0); ?>" data-prefix="<?php echo $option_value['price_prefix']; ?>" data-price="<?php echo $option_value['price_value']; ?>"]]></add> </operation> + срабатывания JS. $('input[name^="option"],select[name^="option"]').on('change', function() { recalculateprice(); }); Т.е. модуль прописывает в опции в доп.товаров нужные ему параметры и у меня получается такая ошибка <input type="radio" name="option[6042]" value="89139" data-optid="11" data-points="0" data-prefix="+" data-price="<b>Notice</b>: Undefined index: price_value in <b>.../system/storage/modification/catalog/view/theme/default/template/product/product.tpl</b>"> Как исключить эти input для модуля, если они находятся в контейнере .additional_products ? Не пойму как мне сделать, чтобы модуль не трогал опции в .additional_products
  5. "Добавляете через исходный код или как описание?" Через код, но после вставки нажимаю кнопку "Исходный код" ещё раз. Иначе у меня ничего не сохраняется. CKEditor сносит всё завернул в <p> и посносил ссылки и скрипты. Не помогло :(
  6. Как разместить на странице API-карту Яндекс через "HTML-содержимое"? Вставляю просто <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=КЛЮЧ***"></script> <div id="map" style="width: 100%; height: 480px"></div> <script src="/catalog/view/javascript/map.js"></script> В консоли ymaps is not defined Если вместо <script src="/catalog/view/javascript/map.js"></script> вставляю <script> ymaps.ready(function () { var myMap = new ymaps.Map('map', { center: [59.961430, 30.457771], zoom: 10 }, { searchControlProvider: 'yandex#search' }), // создаём метку (Просвещения) placemark1 = new ymaps.Placemark([60.054949, 30.328786], { hintContent: 'Салон Мебель Массив на Просвещения' }, myMap.geoObjects .add(placemark1); }); </script> При сохранении это вырезает.
  7. Привет. Хочу сделать вывод подкатегорий группами. Пример на скриншоте. Как такое реализовать?
  8. Вывожу в слайдер картинки через модуль banner. Путь до картинок подставляю через banner[link] Как создать дополнительную переменную banner[link_mob], чтобы в пути до картинки заменить часть пути /desktop/ на /mobile/? Код контроллера banner: <?php class ControllerExtensionModuleBanner extends Controller { public function index($setting) { static $module = 0; $this->load->model('design/banner'); $this->load->model('tool/image'); $this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.carousel.css'); $this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.transitions.css'); $this->document->addScript('catalog/view/javascript/jquery/owl-carousel/owl.carousel.min.js'); $data['banners'] = array(); $results = $this->model_design_banner->getBanner($setting['banner_id']); foreach ($results as $result) { if (is_file(DIR_IMAGE . $result['image'])) { $data['banners'][] = array( 'title' => $result['title'], 'link' => $result['link'], 'class' => $result['class'], 'image' => $this->model_tool_image->resize($result['image'], $setting['width'], $setting['height']) ); } } $data['module'] = $module++; return $this->load->view('extension/module/banner', $data); } } Хочу получить что-то вроде $data['banners'][] = array( 'title' => $result['title'], 'link' => $result['link'], 'link_mob' => $result['link_mob'], 'class' => $result['class'], 'image' => $this->model_tool_image->resize($result['image'], $setting['width'], $setting['height']) );
  9. В статье есть простая форма с 1 полем. <form action="" method="post" enctype="multipart/form-data" id="test_form"> <input type="text" value=""> <input type="submit" value="Отправить" for="test_form"> </form> Как записать значение поля "text", в таблицу os_test в БД?
  10. На сайте категория "Распродажа". Как исключить товары этой категории из поиска на сайте?
  11. Не уверен, что прямо в модули можно такое публиковать) Возможно там не все правильно. Может сперва скинуть вам на проверку?
  12. Для этого и вывожу в отдельный модуль, чтобы можно было управлять расположением этого блока через Макеты. Это не то. Мне нужно цеплять "Сопутствующие товары" (скрин). Нужно перенеси блок, приписанный в вывод в карточке, в отдельный модуль, чтобы можно было управлять расположением этого блока через Макеты в Админке.
  13. Сделал отдельный модуль для вывода Сопутствующих товаров в карточке продукта, чтобы управлять расположением этого блока через Макеты в Админке. Добавил Сопутствующие в продукт. Добавил модуль в схему товара. Проблема в том, что ничего не выводит. Файл контроллера модуля: Шаблон для Сопутствующих:
  14. Спасибо большое за подсказку! Скажите, пожалуйста, как завести в в контроллере свой признак? Вернее как выбрать в эту новую группу определённые опции?
  15. Подскажите, как в один контейнер вывести несколько определённых опций (если они есть)?Хочу получить такое: <div class="options"> <div class="option-1"> Опция ID1 </div> <div class="option-2"> Опция ID3 </div> </div> Пробовал так <?php if ($options) { ?> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'checkbox') { ?> <div class="options"> <?php if ($option['option_id'] == '1' || $option['option_id'] == '2') { ?> <div class="option-<?php echo $option['option_id'] ?>"> Опция ID<?php echo $option['option_id'] ?> </div> <?php } ?> </div> <?php } ?> <?php } ?> <?php } ?> Но получил результат <div class="options"> <div class="option-1"> Опция-1 </div> </div> <div class="options"> <div class="option-2"> Опция-2 </div> </div>
×
×
  • Создать...