-
Публікації
47 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем Alexodiy
-
-
осталось вкурить как сделать другую группу нстроек
-
1 час назад, spectre сказал:
да
только я что то не понял каким именно модулем вывести
-
15 минут назад, spectre сказал:
симпл повесьте модулем с вводом только телефона
а как, симпла есть, стоит, просто вывести в качестве модуля на страницу корзины одно поле и все?
-
Всем здарова. Ребят, подскажите как сделать быстрый заказ на странице корзины. На OC 1.5 неоднократно встречал, что в корзине присутствует быстрый заказ (см. скриншот), но под 2.1 не могу найти такой модуль. Быстрый заказ предполагает филд с вводом телефона, а сам заказ фиксируется в адаминке и при этом само поле отображается именно на странице в корзине, а не в товаре как в одном известном модуле "быстрый заказ".
-
Да и мне не надо. чтобы был выбор и определялась геолокация, мне надо чтобы в корзине при оформлении заказа был тот город, который я указал.
-
интересует только бесплатное решение
-
В 01.02.2016 в 18:42, gancsta сказал:
Бесплатный вариант для версии 2.0.3 - проверено:
controller -> category.php
1. После:
$this->load->language('product/category');
Добавить:
$this->load->language('product/product');
2. После:
$data['button_grid'] = $this->language->get('button_grid');
Добавить:
$data['text_select'] = $this->language->get('text_select');
3. Перед
$data['products'][] = array( 'product_id' => $result['product_id'],
Добавить// Function Products Options in category $json = array(); if (isset($this->request->post['product_id'])) { $product_id = $this->request->post['product_id']; } else { $product_id = 0; } $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { $options = array(); foreach ($this->model_catalog_product->getProductOptions($product_info['product_id']) as $option) { $product_option_value_data = array(); 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)); } else { $price = 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' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] ); } } $options[] = array( 'product_option_id' => $option['product_option_id'], 'option_value' => $product_option_value_data, 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'value' => $option['value'], 'required' => $option['required'] ); $options['product_id'] = $product_info['product_id']; $options['name'] = $product_info['name']; } if (!$json) { $json = $options; } } // END Function
и в масив
$data['products'][] = array(
Добавить
'options' => $this->model_catalog_product->getProductOptions($result['product_id']), // Add option to $result products.
Для вывода необходимых опций в шаблоне нужно добавить.
template->product->category.tpl
В цикле <?php foreach ($products as $product) { ?> в нужном Вам месте добавьте след.
<?php if ($product['options']) { ?> <?php foreach ($product['options'] as $option) { ?> <!-- Код опции, можно взять из product.tpl. Например для Select --> <?php if ($option['type'] == 'select') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <label class="control-label" for="input-option<?php echo $option['product_option_id']; ?>"><?php echo $option['name']; ?></label> <select name="option[<?php echo $option['product_option_id']; ?>]" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($option['product_option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </option> <?php } ?> </select> </div> <?php } ?> <!-- Конец кода опции Select --> <?php } ?> <?php } ?>
P.S.: ^ Данные метод лишь выводит необходимые опции, но не привязывает их к кнопке "Добавить в корзину". Для привязки к кнопке нужно изменять саму кнопку, например как в product.tpl, либо ковырять функцию add.cart в шаблоне категории. Дальше сами.
Как сделать тоже самое, только в модуле рекомендуемые (в моем случае карусель рекомендуемых), вот код модуля
<?php class ControllerModuleFeaturedcarusel extends Controller { public function index($setting) { static $module = 0; $this->load->language('module/featuredcarusel'); if ($setting['displaytitle'] == '1') { $data['heading_title'] = $setting['name']; } else { $data['heading_title'] = false; } $data['class'] = $setting['class']; $data['items'] = $setting['items']; $data['prodview'] = $setting['prodview']; $this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.carousel.css'); $this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/featuredcarusel.css'); $this->document->addScript('catalog/view/javascript/jquery/owl-carousel/owl.carousel.min.js'); $data['text_tax'] = $this->language->get('text_tax'); $data['text_more'] = $this->language->get('text_more'); $data['button_cart'] = $this->language->get('button_cart'); $data['button_wishlist'] = $this->language->get('button_wishlist'); $data['button_compare'] = $this->language->get('button_compare'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['products'] = array(); if (!$setting['limit']) { $setting['limit'] = 4; } if (!empty($setting['product'])) { $products = array_slice($setting['product'], 0, (int)$setting['limit']); foreach ($products as $product_id) { $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { if ($product_info['image']) { $image = $this->model_tool_image->resize($product_info['image'], $setting['width'], $setting['height']); } else { $image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$product_info['special']) { $special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = $product_info['rating']; } else { $rating = false; } $data['products'][] = array( 'product_id' => $product_info['product_id'], 'thumb' => $image, 'name' => $product_info['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $rating, 'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']) ); } } } $data['module'] = $module++; if ($data['products']) { if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/featuredcarusel.tpl')) { return $this->load->view($this->config->get('config_template') . '/template/module/featuredcarusel.tpl', $data); } else { return $this->load->view('default/template/module/featuredcarusel.tpl', $data); } } } }
-
15 часов назад, agefremov сказал:
Или те, у которых кириллица в названиях и пробелы... Постоянно с этим проблемы возникают, лучше этого избегать.
Совершенно верно, эти в том числе... Решил переносом строго в рамках панели вправления хостингом через .zip и соответственно распаковкой архива в нужном месте. Если у вас есть какое нибудь другое решение, подскажите пожалуйста, надо скилл повысить, а OpenCart сложности все время создает какие то...
-
Всем приветы. как сделать город по-умолчанию в корзине и при регистрации, например Москва.
-
3 часа назад, thentru сказал:
рекурсивно на папки 750 или 755, на файлы 644 и проверить владельца
Итак, рекурсивно на папки 750 или 755 - запилил. Перезалил картинки, все нормально заработало. Но некоторые картинки не отображаются, походу те, которые имеют расширение .jpeg
-
5 минут назад, thentru сказал:
рекурсивно на папки 750 или 755, на файлы 644 и проверить владельца
странно, в имагах везде стоит 777
-
4 минуты назад, thentru сказал:
да, доступ запрещен
777 надо выставить? не подскажите какие права должны быть на каких папках? я вроде везде где надо было поставил, в имагах тоже, не понятно
-
я правильно понимаю, что не хватает прав?
-
5 минут назад, thentru сказал:
вот вам и ответ
и?
-
13 минут назад, thentru сказал:
Что в обоих конфигах написано?
config.php и admin/config.php
В базе какие пути картинок у товаров?
поле image у таблицы oc_product и таблица oc_product_imagedefine('HTTP_SERVER', 'http://mama.alexodlw.beget.tech/');
// HTTPS
define('HTTPS_SERVER', 'http://mama.alexodlw.beget.tech/');// DIR
define('DIR_APPLICATION', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/catalog/');
define('DIR_SYSTEM', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/system/');
define('DIR_IMAGE', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/image/');
define('DIR_LANGUAGE', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/catalog/language/');
define('DIR_TEMPLATE', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/catalog/view/theme/');
define('DIR_CONFIG', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/system/config/');
define('DIR_CACHE', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/system/storage/cache/');
define('DIR_DOWNLOAD', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/system/storage/download/');
define('DIR_LOGS', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/system/storage/logs/');
define('DIR_MODIFICATION', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/system/storage/modification/');
define('DIR_UPLOAD', '/home/a/alexodlw/mama.alexodlw.beget.tech/public_html/system/storage/upload/');
-----------
поле image у таблицы oc_product и таблица oc_product_image все хорошо (прикрепил скрин), вот примеры ссылок:
catalog/MAMAPAPA_PROD_N/kokon_mamapapapro1.JPGcatalog/QUUT/Quut_TRIPLET_inuse_ocean purple_water_sky.jpg
тут все хорошо, учитывая, что в конфиге папка image, то по прямой ссылке переходит http://mama.alexodlw.beget.tech/image/catalog/QUUT/Quut_TRIPLET_inuse_ocean purple_water_sky.jpg , и еще... если я создаю новый товар и загружаю другие картинки, то пути не меняются в БД, то есть они аналогичные существующим залитым вручную картинками, но в этом случае картинка отображается. -
26 минут назад, Bazilio сказал:
Кэш обновляли?
конечно, модификаторы обновлял и кэш чистил, и даже папки с кэшем удалял вручную, ничего не помогает. Но мне сдается, что картинки просто битые, если добавляю новый товар и загружаю картинки то нормально все, путь на каталог тот же
-
51 минуту назад, Bazilio сказал:
Проверьте пути к картинкам. На сайте они на правильный каталог ссылаются.
да и на самом сайте пустой src <img src="" alt="Двухсторонний снуд EL BANDITO MULTICOOL, 3-9 лет" title="Двухсторонний снуд EL BANDITO MULTICOOL, 3-9 лет" class="img-responsive">
-
45 минут назад, Bazilio сказал:
Проверьте пути к картинкам. На сайте они на правильный каталог ссылаются.
вроде правильно... Если мы разберем андминку например, где битые имаги в загрузчике по скрину, то там ссылается к примеру так:
/image/cache/catalog/3sprouts/!!!!1_crocodile_wall_organiser_brand_99_99__59755-100x100.jpg - это миниатюра 100х100, почему то она не сгенерировалась
/image/cache/catalog/3sprouts/!!!!1_crocodile_wall_organiser_brand_99_99__59755.jpg - большая в папке cache, но в папке cache ее нету
/image/catalog/3sprouts/!!!!1_crocodile_wall_organiser_brand_99_99__59755.jpg - это оригинал, он открывается если перейдем по прямой ссылке -
Всем привет. В общем ситуация... мигрировал магазин с движка 1.5 на 2.1 с помощью модуля A-migration. Все перенеслось хорошо, за исключением картинок и тогда я перенес изображения вручную, загрузил папку data в image. Сначала CMS просто не видела изображений хотя они присутствовали в БД, после чего я переименовал папку data в catalog и картинки появились на сайте в директории image/catalog, но битые (прикрепил скрин). Так же, на страницах слетела кодировка.
Менял права на папку image - 777 не помогло. К теме прикрепляю файл лога... Ребята, пожалуйста помогите разобраться в чем проблема -
Здравствуйте.
Подскажите пожалуйста как сгенерировать ЧПУ для всех товаров. Вручную прописывать не вариант их более 2000
Как сделать быстрый заказ в корзине (OC 2.1)?
в Opencart 2.x: Пошук модулів
Опубліковано:
Все решено, спасибо, до этого момента даже и не знал, что модуль симпла такой функциональный