Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

d2boy

Пользователи
  
  • Публикаций

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

  • Посещение

Все публикации пользователя d2boy

  1. А не могли бы вы уточнить в какой контроллер нужно дописать $this->request->post['sale'] Попробовал в common/cart.php - ошибку выдаёт Пытаюсь аналогичную задачу решить
  2. Поскольку всем недосуг, копаю дальше. Нашёл, что данные сессии во втором Opencart хранятся в базе, т.е без создания новых полей в базе вывести новый параметр не получится. Надо пробовать через что-то другое
  3. Это я просто для наглядности вывел, количество отображается правильно (мне не нужно выводить в колонке количество коробки, достаточно написать рядом с названием товара, для удобства работников склада)
  4. Методом проб и ошибок набрёл на строчку в product.tpl data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea, #pack input[type=\'radio\']:checked'), Добавил в конец селектор со своим id. Теперь осталось понять, как его вывести в корзине
  5. Да, я видел этот модуль, даже использовал на каком-то сайте. Не вижу смысла огород городить — зачем в базе 2 товара, если можно обойтись одним?
  6. Требуется вывести строку с количеством коробок корзине (наподобие опций товара) и сохранять эти данные в заказе. Для некоторых товаров предусмотрена оптовая продажа. Количество товара в коробке указывается в поле UPC. При нажатии кнопки Коробка, количество товара умножается на число, указанное в поле UPC. Демо страницы товара: http://d3boy.bget.ru/index.php?route=product/product&path=18&product_id=43 На картинке — что должно получится в итоге (текст должен сохраняться и в заказе). Предлагайте цену за работу.
  7. По аналогии с опциями - у нас используется radio
  8. Посмотрел, сделал так: 'name' => $product_query->row['upc'] ? ($product_query->row['name'] . ' (' . ( $cart['quantity'] / $product_query->row['upc']) . ' packs)' ) : $product_query->row['name'], Теперь выводится Название товара количество коробок Сделал демо Подскажите, как добавить теперь проверку на нажатие кнопки?
  9. Всем привет! Кто-нибудь реализовывал подмену названия товара при добавлении в корзину? Хочу сделать кнопку, при нажатии которой к названию товара в корзине добавлялся бы текст, например: Яблоки (5 штук в коробке). Хочется аналог опций, но без их задействования. Подтолкните к решению.
  10. Ещё есть такие ошибки: 2019-06-20 17:00:40 - PHP Warning: count(): Parameter must be an array or an object that implements Countable in /model/extension/exchange1c.php on line 3353 2019-06-20 17:00:40 - PHP Warning: count(): Parameter must be an array or an object that implements Countable in /model/extension/exchange1c.php on line 7889 PHP 7.2
  11. Нашёл небольшую недоработку: если админка находится по адресу отличному от admin, то модуль не работает, т.к. путь к config прописан жёстко. Каждый раз при обновлении забываю про это. // Configuration require_once('../admin/config.php');
  12. Сделал ocmod сам (языковые переменные только не смог победить, как-то запутанно, прописал жёстко) <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[ public function getProductSpecials($data = array()) { ]]></search> <add position="before"><![CDATA[ public function getProductCategories($product_id) { $product_category_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'"); foreach ($query->rows as $result) { $product_category_data[] = $result['category_id']; } return $product_category_data; } ]]> </add> </operation> </file> <file path="catalog/model/checkout/order.php"> <operation> <search><![CDATA[$data['products'][] = array(]]></search> <add position="before"><![CDATA[ $this->load->model('catalog/product'); $this->load->model('catalog/category'); $category_names = array(); $products_to_categories = $this->model_catalog_product->getProductCategories($product['product_id']); if ($products_to_categories) { foreach ($products_to_categories as $product_to_category) { $category_info = $this->model_catalog_category->getCategory($product_to_category); if ($category_info) { $category_names[$product['product_id']] = $category_info['name']; } } } ]]> </add> </operation> <operation> <search><![CDATA['model' => $product['model'],]]></search> <add position="after"><![CDATA['href' => $this->url->link('product/product', 'product_id=' . $product['product_id']), 'category' => (!empty($category_names[$product['product_id']]) ? $category_names[$product['product_id']] : ''), ]]> </add> </operation> </file> <file path="catalog/view/theme/*/template/mail/order.tpl"> <operation> <search><![CDATA[<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: left; padding: 7px; color: #222222;"><?php echo $text_product; ?></td>]]></search> <add position="after"><![CDATA[<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: left; padding: 7px; color: #222222;">Категории</td>]]></add> </operation> <operation> <search><![CDATA[<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;" colspan="4">]]></search> <add position="replace"><![CDATA[<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;" colspan="5">]]></add> </operation> <operation> <search><![CDATA[<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"><?php echo $product['model']; ?></td>]]></search> <add position="before"><![CDATA[<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"> <?php echo $product['category']; ?><br> </td>]]></add> </operation> </file>
  13. Поддержку OCfilter планируется добавить?
  14. А может быть кто-то подскажет, как вывести категорию товаров в шаблон письма?
  15. Сделал так: В admin/controller/sale/order.php перед $option_data = array(); добавил $categories = array(); $this->load->model('catalog/product'); $categories = $this->model_catalog_product->getProductCategories($product['product_id']); $this->load->model('catalog/category'); foreach($categories as $category_id){ $categories_names[] = $this->model_catalog_category->getCategory($category_id); } $option_data = array(); $options = $this->model_sale_order->getOrderOptions($order_id, $product['order_product_id']); и в массив $product_data[] = array( Добавил строчку 'categories' => $categories_names, в invoice_template.tpl в первый столбик добавил <?php if (!empty($product['categories'])) { ?> <?php foreach ($product['categories'] as $category) { ?> <?php echo $category['name']; ?><br /> <?php } ?> <?php } ?> Теперь выводится
  16. Подскажите, в каком направлении копать. Попробовал отсюда взять - пишет undefined variable: category_info
  17. Можно ли в дальнейшем добавить выбор сортировка товаров (по новинкам, по бестселлерам и т.п)?
  18. d2boy

    Доставка как товар

    Посмотрю
  19. Хотелось бы реализовать добавление и удаление услуги доставки в виде товара по нажатию на checkbox. <label><input type='checkbox' onclick="cart.add('207');">Требуется доставка</label> <label><input type='checkbox' onclick="cart.remove('207');">Не требуется доставка</label> Подскажите, как объединить — не силён в jscript
  20. d2boy

    Нужна верстка лендинга

    Ну бросил человек наудачу, на биржах всё равно кто-нибудь да согласиться. Скоро, наверное, доплачивать начнут за исполнение заказа ))
  21. У меня при отключении sub-total в Итого выводятся 0
  22. {% if (total.title == 'Сумма') or (total.title == 'Total') %} Для OC.3

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.