-
Публікації
610 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем max1985
-
-
Блин что-то не выходит... Да еще и другие товары у которых есть рекомендуемые выводятся так: https://prnt.sc/kdycjn
-
Спасибо! Получилось, только вывелось два раза ))
href - чтоб сделать ссылку на товар
-
Ничего не изменилось http://lipar.de/index.php?route=product/category&path=20
Может проблема в выводе?
<?php foreach ($product as $related_to) { ?> <p><?php echo $product['name']; ?></p> <?php } ?>
-
Спасибо krumax !
Сделал так:
$related_to = $this->model_catalog_product->getProductRelated($result['product_id']);
Ошибка Notice: Undefined index: product_id исчезла. С выводом пока борюсь!
-
2 часа назад, nikifalex сказал:
диктуйте, а я буду нажимать на кнопки.
Или какого рода помощь вы хотите?
Я просто уходил с работы и не успел накатать с чего начал, а Вы так сразу критично ))
Вот что сделал:
В контроллере, перед
$data['products'][] = array(
Вставил это:
$related_to = $this->model_catalog_product->getProductRelated($this->request->get['product_id']); foreach ($related_to as $result) { $related_to = array( 'product_id' => $result['product_id'], 'name' => $result['name'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); }
а после
$data['products'][] = array(
добавил это
'related' => $related_to,
В темплейте в <?php foreach ($products as $product) { ?> попробовал вывести так:
<?php foreach ($product as $related_to) { ?> <p><?php echo $product['name']; ?></p> <?php } ?>
Но что-то пошло не так... Предупреждения Notice: Undefined index: product_id и в каждом товаре длинный список с его названием.
Буду благодарен любой помощи!
-
AWARO, Спасибо за предложение! Но такой огромный функционал мне не нужен... Хочу обойтись стандартными средствами.
-
Здравствуйте!
Собственно надо вывести Модели рекомендуемых товаров в каждой карточке на странице категории.
Рекомендуемые товары те что заполняются в товаре на вкладке Связи.
Помогите пожалуйста реализовать!
-
Здравствуйте!
Нужно реализовать в карточке товара другую галерею
- Миниатюры слева, при нажатии на них открывается картинка в блоке с права. Должна быть возможность листать миниатюры если их больше 3-4.
- При нажатии на большую картинку справа открывается галерея, на подобие стандартной, но с выводом миниатюр. Или вместо галереи сделать при наведении Zoom места наведения.
Может есть подобный модуль? Или может кто сможет реализовать за оплату?
opencart 2.3
-
Здравствуйте!
В редакторе summernote есть кнопка "Убрать стили шрифта". Она работает как-то криво, оставляет <span>, style и прочее...
Можно ли в этом редакторе добавить еще одну кнопку "Очистить форматирование", которая будет оставлять только чистые <div>, <p>, <a htef="">, как например в TinyMCE?
Спасибо!
-
Модуль может выгружать csv файл по крону? будет он перезаписоватся или будет создаваться новый?
Мне на сайте нужно вывести ссылку для скачки товаров csv формате, чтоб файл всегда был в актуальном состоянии. Справиться с этим модуль?
-
2 часа назад, WellChuck сказал:
в контроллере
$data['customer_group_id'] = $this->config->get('config_customer_group_id'); $customer_groups = $this->model_account_customer_group->getCustomerGroups(); foreach ($customer_groups as $customer_group) { if (in_array($customer_group['customer_group_id'], $this->config->get('config_customer_group_display'))) { $data['customer_groups'][] = $customer_group; } }
После вставки этого кода начинает выдавать ошибку 500. Совсем уже запутался.
-
40 минут назад, WellChuck сказал:
Так просто уберите <?php if ($customer_group_id == 1) { ?> из html
появился селект, но в нем пусто
видимо в контроллере Хедера надо прописывать $customer_group_id
-
Все равно выдает Notice: Undefined variable: customer_group_id
Что ему не хватает
-
Неужели нет таких модулей?
-
52 минуты назад, krumax сказал:
@max1985 видимо я зря Вам выше дал ссылку на топик, где пошагово видно что и где нужно делать.
Группа покупателя хранится в БД в таблице _customer
именно туда и нужно писать выбранное покупателем id группы.
Ваш код этого не делает и соответственно группа у покупателя осталась прежней.
Спасибо! Да я видел эту тему, но там все так запутано решыл сделать с нуля на основе выбора валюты.
Я так понимаю в Моделе надо привязываться к таблице customer, и связывать ее с customer_group_description для вывода имени группы?
-
Часть проблем ушла при помощи Ulv.
Теперь выбирается Группа и сохраняется при переходах по страницам, но цены на сайте не меняются, хотя при выборе группы идет обновление страницы.
На данный момент так:
Контроллер
Спойлер<?php class ControllerCommonCustomer extends Controller { public function index() { $this->load->language('common/customer'); $data['text_customer'] = $this->language->get('text_customer'); $data['action'] = $this->url->link('common/customer/customer', '', isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))); $this->load->model('localisation/customer'); //var_dump($this->config->get('customer_group_default')); if(empty($this->session->data['customer_group_id'])){ $data['code'] = $this->session->data['customer_group_id'] = $this->config->get('config_customer_group_id'); }else{ $data['code'] = $this->session->data['customer_group_id']; } //var_dump($this->config->get('customer_group_default')); $data['customer_groups'] = array(); $results = $this->model_localisation_customer->getCurrencies(); foreach ($results as $result) { if ($result['name']) { $data['customer_groups'][] = array( 'id' => $result['customer_group_id'], 'name' => $result['name'] ); } } if (!isset($this->request->get['route'])) { $data['redirect'] = $this->url->link('common/home'); } else { $url_data = $this->request->get; unset($url_data['_route_']); $route = $url_data['route']; unset($url_data['route']); $url = ''; if ($url_data) { $url = '&' . urldecode(http_build_query($url_data, '', '&')); } $data['redirect'] = $this->url->link($route, $url, isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))); } return $this->load->view('common/customer', $data); } public function customer() { if (isset($this->request->post['code'])) { $this->session->data['customer_group_id'] = $this->request->post['code']; } if (isset($this->request->post['redirect'])) { $this->response->redirect($this->request->post['redirect']); } else { $this->response->redirect($this->url->link('common/home')); } } }
Модель
Спойлер<?php class ModelLocalisationCustomer extends Model { public function getCustomerByName($customer) { $query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "customer_group_description WHERE name = '" . $this->db->escape($customer) . "'"); return $query->row; } public function getCurrencies() { $customer_data = $this->cache->get('customer'); if (!$customer_data) { $customer_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_group_description ORDER BY name ASC"); foreach ($query->rows as $result) { $customer_data[$result['name']] = array( 'customer_group_id' => $result['customer_group_id'], 'language_id' => $result['language_id'], 'name' => $result['name'], 'description' => $result['description'] ); } $this->cache->set('customer', $customer_data); } return $customer_data; } }
Темплейт
Спойлер<?php if (count($customer_groups) > 1) { ?> <div class="pull-left"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-customer"> <div class="btn-group"> <button class="btn btn-link dropdown-toggle" data-toggle="dropdown"> <?php foreach ($customer_groups as $customer) { ?> <?php if ($customer['id'] == $code) { ?> <strong><?php echo $customer['name']; ?></strong> <?php } ?> <?php } ?> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_customer; ?></span> <i class="fa fa-caret-down"></i></button> <ul class="dropdown-menu"> <?php foreach ($customer_groups as $customer) { ?> <li><button class="customer-select btn btn-link btn-block" type="button" name="<?php echo $customer['id']; ?>"><?php echo $customer['name']; ?></button></li> <?php } ?> </ul> </div> <input type="hidden" name="code" value="" /> <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" /> </form> </div> <?php } ?>
-
16 часов назад, Ulv сказал:
Сделать копии файлов model/currency.php, controller/currency.php, view/theme/*/common/currency.tpl, language/russian/currency.php, system/library/currency.php В индексном файле добавить
$registry->set('customer_group', new CustonerGroup($registry));
Заменить в названии классов, Currency на UserGroup, переименовать файлы. В модели описать выборку из БД групп, в контроллере сделать вывод этой выборки в массив и сделать вывод этого в шаблоне tpl. В файле system/library/currency.php задавать куки уже для групп.. Поверхностно.
Сделал как Вы посоветовали. Не нашел только файла system/library/currency.php В итоге в шапке появился выбор. Но есть несколько проблем.
1. Выдает одну ошибку Notice: Undefined index: customer. Ругается на эту строчку:
$data['name'] = $this->session->data['customer'];
2. Не выводит рядом с формой текущую группу. Наверно не понимает такое условие:
<?php if ($customer['name'] == $name) { ?>
3. Я так понимаю не выбирает и не меняет группу.
Вот что у меня сейчас в файлах:
Контроллер
Спойлер<?php class ControllerCommonCustomer extends Controller { public function index() { $this->load->language('common/customer'); $data['text_customer'] = $this->language->get('text_customer'); $data['action'] = $this->url->link('common/customer/customer', '', isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))); $data['name'] = $this->session->data['customer']; $this->load->model('localisation/customer'); $data['currencies'] = array(); $results = $this->model_localisation_customer->getCurrencies(); foreach ($results as $result) { if ($result['name']) { $data['currencies'][] = array( 'name' => $result['name'] ); } } if (!isset($this->request->get['route'])) { $data['redirect'] = $this->url->link('common/home'); } else { $url_data = $this->request->get; unset($url_data['_route_']); $route = $url_data['route']; unset($url_data['route']); $url = ''; if ($url_data) { $url = '&' . urldecode(http_build_query($url_data, '', '&')); } $data['redirect'] = $this->url->link($route, $url, isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))); } return $this->load->view('common/customer', $data); } public function customer() { if (isset($this->request->post['name'])) { $this->session->data['customer'] = $this->request->post['name']; unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); } if (isset($this->request->post['redirect'])) { $this->response->redirect($this->request->post['redirect']); } else { $this->response->redirect($this->url->link('common/home')); } } }
Модель
Спойлер<?php class ModelLocalisationCustomer extends Model { public function getCustomerByName($customer) { $query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "customer_group_description WHERE name = '" . $this->db->escape($customer) . "'"); return $query->row; } public function getCurrencies() { $customer_data = $this->cache->get('customer'); if (!$customer_data) { $customer_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_group_description ORDER BY name ASC"); foreach ($query->rows as $result) { $customer_data[$result['name']] = array( 'customer_group_id' => $result['customer_group_id'], 'language_id' => $result['language_id'], 'name' => $result['name'], 'description' => $result['description'] ); } $this->cache->set('customer', $customer_data); } return $customer_data; } }
Темплейт
Спойлер<?php if (count($currencies) > 1) { ?> <div class="pull-left"> <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-customer"> <div class="btn-group"> <button class="btn btn-link dropdown-toggle" data-toggle="dropdown"> <?php foreach ($currencies as $customer) { ?> <?php if ($customer['name'] == $name) { ?> <strong><?php echo $customer['name']; ?></strong> <?php } ?> <?php } ?> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_customer; ?></span> <i class="fa fa-caret-down"></i></button> <ul class="dropdown-menu"> <?php foreach ($currencies as $customer) { ?> <li><button class="customer-select btn btn-link btn-block" type="button" name="<?php echo $customer['name']; ?>"><?php echo $customer['name']; ?></button></li> <?php } ?> </ul> </div> <input type="hidden" name="name" value="" /> <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" /> </form> </div> <?php } ?>
Подскажите куда копать! Спасибо!
-
В 13.06.2018 в 21:16, WellChuck сказал:
Всё работает, никаких проблем.
Как всегда... просто надо головой думать, когда код правишь.
Ещё раз благодарю!
Здравствуйте!
А можете решение полностью выложить, а то я что-то растерялся во всем этом?
Спасибо!
-
ocStore 2.3.0.2.3
Для того чтобы пользователь мог выбрать группу пользователей и видеть свои цены.
-
Здравствуйте! Подскажите пожалуйста как реализовать выбор Группы пользователей в шапке сайта. На примере как реализовано выбор валюты.
-
Здравствуйте! А никто не делал вывод выбора Группы пользователей? Что-то похожее на выбор валюты или языка.
-
Здравствуйте!
Подскажите пожалуйста модуль для экспорта форматов XML, YML, CSV для пользователей.
Нужно сделать страницу где будет возможность для клиента скачать файлы форматов XML, YML, CSV, которые они смогут импортировать к себе на сайт.
-
1 час назад, senao сказал:
Только хотел покупать. У самого установлен MFP и использую опции в нем.
Как решиться проблема, куплю данный модуль. Просьба разработчика сообщить о решении данной проблемы.
Можете покупать. Проблема решилась правкой двух строчек.
В admin/model/module/mega_filter.php
Изменил на:
`o`.`type` IN( 'select', 'radio', 'input_qty', 'input_qty_ns', 'select_qty', 'input_qty_td', 'checkbox', 'image' )
В catalog/model/module/mega_filter.php
Изменил на:
$conditions[] = "`o`.`type` IN('radio','input_qty','input_qty_ns','select_qty','input_qty_td','checkbox','select','image','image_radio')";
-
Здравствуйте!
Купил и установил модуль. Все круто, то что искал!
Появилась одна небольшая проблемка, Mega Filter PRO не видит Опций с таким типом. Подскажите как решить данную проблему?
Спасибо!
[Решено] Вывод модели рекомендуемых товаров в каждой карточке на странице категории
в Opencart 2.x: Загальні питання
Опубліковано:
Gaziz и krumax Огромное спасибо! Получилось!