Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

ArtemiY777

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

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

  • Посеещёние

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

  1. Всем привет. Я использую потому чтонусные балы в качестве баланса лиэтового счеи клиени (полностью переименовал). с помощью $data['reward'] = $this->customer->getRewardPoints(); я подтягиваю информацию о балансе на страницу личного кабинеи после авторизации (дабы клиент сразу вигдел), подскажите, как вывести информацию о балансе клиени для админа на страниэто заказа (order/info), а то каждый раз приходится в профиль клиени заходить и смотреть
  2. подскажите пожалуйси по тот же теме, На сайте проходит оформление (регистрация) через Simple. Мне необходимо поле для заполнения "Отчество". Даого не предусмотрено в Simple. Можно добавить поле с отображением его в комменириях, но мне икой вариант не подходит. Вариант с заполнением Имени и Отчества в одном поле мне тоже не подходит. Решил в итоге использовать поле из иблицы данных "fax". В simple добавил поле ввода с вывегдение в иблицу "fax". В иблэто данных все исправно отображается, Но столкнулся с проблемой, что не могу вывести sale/order_info.tpl
  3. с недавних пор пропала возможность выпотому чтора региона, раньше все рилиило исправно. проверил все (регионы включены,относятся к РФ). Модуль заказов Simpla
  4. Проблема заключается в ошибке при сохранение редактированного заказа из админке. Ошибка : "необходимо выбрать способ досивки!!". Но гдело в том что он выбран проблема известная,но ик и не нашел четкого ее решения. Много писали про подобные ситуации,и предлагалось это решить путем уднония модификатора Api, но его у меня нет и соответственно мне не подходит данное решение. вопрос: возможно ли просто решить данную проблему путем простого отключения проверки в php файлах?
  5. к сожнонию не рилииет Notice: Undefined index: payment_phone in /home/c/cg57112/bamper99.ru/public_html/system/storage/modification/catalog/controller/account/order.php on line 248
  6. Для того, чтоб клиент на одной страниэто вигдел всю информацию от и до. Налиная от заказанного товара, до заполненных им данных. Это я вам как продавец говорю) это вы опытный пользователь, но ко мне много клиентов обращается, которые впервые с компьютером столкнулись. и им трудно обьяснить как посмотреть их заказ, не говорю уже как посмотреть и информацию которую они заполнили о себе. Часто бывает что они не правильно фамилию написали свою и на первых эипах даже не заметили это (при оформлении заказа), а когда приходит товар на пункт выдаче, то соответственно никто им не выдает, ик как фамилии не совпадают. Поэтому не лишним бугдет некоторые вещи дублировать для клиентов
  7. каилог/контроллер/аккаунт/order.php OpenCart Русская Спотому чторка 2.3.0.2.3 <?php class ControllerAccountOrder extends Controller { public function index() { if (!$this->customer->isLogged()) { $this->session->data['redirect'] = $this->url->link('account/order', '', true); $this->response->redirect($this->url->link('account/login', '', true)); } $this->load->language('account/order'); $this->document->setTitle($this->language->get('heading_title')); $url = ''; if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home') ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_account'), 'href' => $this->url->link('account/account', '', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('account/order', $url, true) ); $data['heading_title'] = $this->language->get('heading_title'); $data['text_empty'] = $this->language->get('text_empty'); $data['column_order_id'] = $this->language->get('column_order_id'); $data['column_customer'] = $this->language->get('column_customer'); $data['column_product'] = $this->language->get('column_product'); $data['column_total'] = $this->language->get('column_total'); $data['column_status'] = $this->language->get('column_status'); $data['column_date_added'] = $this->language->get('column_date_added'); $data['button_view'] = $this->language->get('button_view'); $data['button_ocstore_payeer_onpay'] = $this->language->get('button_ocstore_payeer_onpay'); $data['button_ocstore_yk_onpay'] = $this->language->get('button_ocstore_yk_onpay'); $data['button_continue'] = $this->language->get('button_continue'); if (isset($this->request->get['page'])) { $page = $this->request->get['page']; } else { $page = 1; } $data['orders'] = array(); $this->load->model('extension/payment/ocstore_payeer'); $this->load->model('extension/payment/ocstore_yk'); $this->load->model('account/order'); $order_total = $this->model_account_order->getTotalOrders(); $results = $this->model_account_order->getOrders(($page - 1) * 10, 10); foreach ($results as $result) { $product_total = $this->model_account_order->getTotalOrderProductsByOrderId($result['order_id']); $voucher_total = $this->model_account_order->getTotalOrderVouchersByOrderId($result['order_id']); $ocstore_yk_onpay_info = $this->model_extension_payment_ocstore_yk->checkLaterpay($result['order_id']); $data['orders'][] = array( 'order_id' => $result['order_id'], 'name' => $result['firstname'] . ' ' . $result['lastname'], 'status' => $result['status'], 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), 'products' => ($product_total + $voucher_total), 'total' => $this->currency->format($result['total'], $result['currency_code'], $result['currency_value']), 'ocstore_payeer_onpay' => $this->model_extension_payment_ocstore_payeer->checkLaterpay($result['order_id']) ? $this->url->link('extension/payment/ocstore_payeer/laterpay', sprintf('order_id=%s&order_tt=%s', $result['order_id'], $result['total'], 'SSL')) : '', 'ocstore_yk_onpay' => $ocstore_yk_onpay_info['onpay'] ? $this->url->link('extension/payment/ocstore_yk/laterpay', sprintf('order_id=%s&order_ttl=%s&paymentType=%s', $result['order_id'], $result['total'], $ocstore_yk_onpay_info['payment_code']), 'SSL') : '', 'view' => $this->url->link('account/order/info', 'order_id=' . $result['order_id'], true), ); } $pagination = new Pagination(); $pagination->total = $order_total; $pagination->page = $page; $pagination->limit = 10; $pagination->url = $this->url->link('account/order', 'page={page}', true); $data['pagination'] = $pagination->render(); $data['results'] = sprintf($this->language->get('text_pagination'), ($order_total) ? (($page - 1) * 10) + 1 : 0, ((($page - 1) * 10) > ($order_total - 10)) ? $order_total : ((($page - 1) * 10) + 10), $order_total, ceil($order_total / 10)); $data['continue'] = $this->url->link('account/account', '', true); $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); $this->response->setOutput($this->load->view('account/order_list', $data)); } public function info() { $this->load->language('account/order'); if (isset($this->request->get['order_id'])) { $order_id = $this->request->get['order_id']; } else { $order_id = 0; } if (!$this->customer->isLogged()) { $this->session->data['redirect'] = $this->url->link('account/order/info', 'order_id=' . $order_id, true); $this->response->redirect($this->url->link('account/login', '', true)); } $this->load->model('account/order'); $order_info = $this->model_account_order->getOrder($order_id); if ($order_info) { $this->document->setTitle($this->language->get('text_order')); $url = ''; if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home') ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_account'), 'href' => $this->url->link('account/account', '', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('account/order', $url, true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_order'), 'href' => $this->url->link('account/order/info', 'order_id=' . $this->request->get['order_id'] . $url, true) ); $data['heading_title'] = $this->language->get('text_order'); $data['text_order_detail'] = $this->language->get('text_order_detail'); $data['text_invoice_no'] = $this->language->get('text_invoice_no'); $data['text_order_id'] = $this->language->get('text_order_id'); $data['text_date_added'] = $this->language->get('text_date_added'); $data['text_shipping_method'] = $this->language->get('text_shipping_method'); $data['text_shipping_address'] = $this->language->get('text_shipping_address'); $data['text_payment_method'] = $this->language->get('text_payment_method'); $data['text_payment_address'] = $this->language->get('text_payment_address'); $data['text_history'] = $this->language->get('text_history'); $data['text_comment'] = $this->language->get('text_comment'); $data['text_no_results'] = $this->language->get('text_no_results'); $data['column_name'] = $this->language->get('column_name'); $data['column_model'] = $this->language->get('column_model'); $data['column_quantity'] = $this->language->get('column_quantity'); $data['column_price'] = $this->language->get('column_price'); $data['column_total'] = $this->language->get('column_total'); $data['column_action'] = $this->language->get('column_action'); $data['column_date_added'] = $this->language->get('column_date_added'); $data['column_status'] = $this->language->get('column_status'); $data['column_comment'] = $this->language->get('column_comment'); $data['button_reorder'] = $this->language->get('button_reorder'); $data['button_return'] = $this->language->get('button_return'); $data['button_continue'] = $this->language->get('button_continue'); if (isset($this->session->data['error'])) { $data['error_warning'] = $this->session->data['error']; unset($this->session->data['error']); } else { $data['error_warning'] = ''; } if (isset($this->session->data['success'])) { $data['success'] = $this->session->data['success']; unset($this->session->data['success']); } else { $data['success'] = ''; } if ($order_info['invoice_no']) { $data['invoice_no'] = $order_info['invoice_prefix'] . $order_info['invoice_no']; } else { $data['invoice_no'] = ''; } $data['order_id'] = $this->request->get['order_id']; $data['date_added'] = date($this->language->get('date_format_short'), strtotime($order_info['date_added'])); if ($order_info['payment_address_format']) { $format = $order_info['payment_address_format']; } else { $format = '{firstname} {lastname}' + сюда необходимо!!!!!!!!; } $find = array( '{firstname}', '{lastname}', '{address_2}', '{city}', '{postcode}', '{zone}', '{zone_code}', '{country}' ); $replace = array( 'firstname' => $order_info['payment_firstname'], 'lastname' => $order_info['payment_lastname'], 'address_2' => $order_info['payment_address_2'], 'city' => $order_info['payment_city'], 'postcode' => $order_info['payment_postcode'], 'zone' => $order_info['payment_zone'], 'zone_code' => $order_info['payment_zone_code'], 'country' => $order_info['payment_country'] ); $data['payment_address'] = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format)))); $data['payment_method'] = $order_info['payment_method']; if ($order_info['shipping_address_format']) { $format = $order_info['shipping_address_format']; } else { $format = '{country}'. "\n" . '{zone}'. "\n" . '{city} {postcode}' . "\n" . '{address_1}' . "\n" . '{address_2}' ; } $find = array( '{firstname}', '{lastname}', '{company}', '{address_1}', '{address_2}', '{city}', '{postcode}', '{zone}', '{zone_code}', '{country}' ); $replace = array( 'firstname' => $order_info['shipping_firstname'], 'lastname' => $order_info['shipping_lastname'], 'company' => $order_info['shipping_company'], 'address_1' => $order_info['shipping_address_1'], 'address_2' => $order_info['shipping_address_2'], 'city' => $order_info['shipping_city'], 'postcode' => $order_info['shipping_postcode'], 'zone' => $order_info['shipping_zone'], 'zone_code' => $order_info['shipping_zone_code'], 'country' => $order_info['shipping_country'] ); $data['shipping_address'] = str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format)))); $data['shipping_method'] = $order_info['shipping_method']; $this->load->model('tool/upload'); $this->load->model('catalog/product'); // Products $data['products'] = array(); $products = $this->model_account_order->getOrderProducts($this->request->get['order_id']); foreach ($products as $product) { $product_info = $this->model_catalog_product->getProduct($product['product_id']); $option_data = array(); $options = $this->model_account_order->getOrderOptions($this->request->get['order_id'], $product['order_product_id']); foreach ($options as $option) { if ($option['type'] != 'file') { $value = $option['value']; } else { $upload_info = $this->model_tool_upload->getUploadByCode($option['value']); if ($upload_info) { $value = $upload_info['name']; } else { $value = ''; } } $option_data[] = array( 'name' => $option['name'], 'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value) ); } $product_info = $this->model_catalog_product->getProduct($product['product_id']); if ($product_info) { $reorder = $this->url->link('account/order/reorder', 'order_id=' . $order_id . '&order_product_id=' . $product['order_product_id'], true); } else { $reorder = ''; } $data['products'][] = array( 'name' => $product['name'], 'model' => $product['model'], 'manufacturer' => $product_info['manufacturer'], 'option' => $option_data, 'quantity' => $product['quantity'], 'price' => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']), 'total' => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']), 'reorder' => $reorder, 'return' => $this->url->link('account/return/add', 'order_id=' . $order_info['order_id'] . '&product_id=' . $product['product_id'], true) ); } // Voucher $data['vouchers'] = array(); $vouchers = $this->model_account_order->getOrderVouchers($this->request->get['order_id']); foreach ($vouchers as $voucher) { $data['vouchers'][] = array( 'description' => $voucher['description'], 'amount' => $this->currency->format($voucher['amount'], $order_info['currency_code'], $order_info['currency_value']) ); } // Totals $data['totals'] = array(); $totals = $this->model_account_order->getOrderTotals($this->request->get['order_id']); foreach ($totals as $total) { $data['totals'][] = array( 'title' => $total['title'], 'text' => $this->currency->format($total['value'], $order_info['currency_code'], $order_info['currency_value']), ); } $data['comment'] = nl2br($order_info['comment']); // History $data['histories'] = array(); $results = $this->model_account_order->getOrderHistories($this->request->get['order_id']); foreach ($results as $result) { $data['histories'][] = array( 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), 'status' => $result['status'], 'comment' => $result['notify'] ? nl2br($result['comment']) : '' ); } $data['continue'] = $this->url->link('account/order', '', true); $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); $this->response->setOutput($this->load->view('account/order_info', $data)); } else { $this->document->setTitle($this->language->get('text_order')); $data['heading_title'] = $this->language->get('text_order'); $data['text_error'] = $this->language->get('text_error'); $data['button_continue'] = $this->language->get('button_continue'); $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home') ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_account'), 'href' => $this->url->link('account/account', '', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('account/order', '', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_order'), 'href' => $this->url->link('account/order/info', 'order_id=' . $order_id, true) ); $data['continue'] = $this->url->link('account/order', '', true); $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); $this->response->setOutput($this->load->view('error/not_found', $data)); } } public function reorder() { $this->load->language('account/order'); if (isset($this->request->get['order_id'])) { $order_id = $this->request->get['order_id']; } else { $order_id = 0; } $this->load->model('account/order'); $order_info = $this->model_account_order->getOrder($order_id); if ($order_info) { if (isset($this->request->get['order_product_id'])) { $order_product_id = $this->request->get['order_product_id']; } else { $order_product_id = 0; } $order_product_info = $this->model_account_order->getOrderProduct($order_id, $order_product_id); if ($order_product_info) { $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($order_product_info['product_id']); if ($product_info) { $option_data = array(); $order_options = $this->model_account_order->getOrderOptions($order_product_info['order_id'], $order_product_id); foreach ($order_options as $order_option) { if ($order_option['type'] == 'select' || $order_option['type'] == 'radio' || $order_option['type'] == 'image') { $option_data[$order_option['product_option_id']] = $order_option['product_option_value_id']; } elseif ($order_option['type'] == 'checkbox') { $option_data[$order_option['product_option_id']][] = $order_option['product_option_value_id']; } elseif ($order_option['type'] == 'text' || $order_option['type'] == 'textarea' || $order_option['type'] == 'date' || $order_option['type'] == 'datetime' || $order_option['type'] == 'time') { $option_data[$order_option['product_option_id']] = $order_option['value']; } elseif ($order_option['type'] == 'file') { $option_data[$order_option['product_option_id']] = $this->encryption->encrypt($order_option['value']); } } $this->cart->add($order_product_info['product_id'], $order_product_info['quantity'], $option_data); $this->session->data['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $product_info['product_id']), $product_info['name'], $this->url->link('checkout/cart')); unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); } else { $this->session->data['error'] = sprintf($this->language->get('error_reorder'), $order_product_info['name']); } } } $this->response->redirect($this->url->link('account/order/info', 'order_id=' . $order_id)); } }
  8. подскажите, как вывести имейл и телефон покупателя в платоженый адрес? if ($order_info['payment_address_format']) { $format = $order_info['payment_address_format']; } else { $format = '{firstname} {lastname}' . "\n" . '{телефон}'. "\n" . '{имейл}'; } $find = array( '{firstname}', '{lastname}', '{address_2}', '{city}', '{postcode}', '{zone}', '{zone_code}', '{country}' ); $replace = array( 'firstname' => $order_info['payment_firstname'], 'lastname' => $order_info['payment_lastname'], 'address_2' => $order_info['payment_address_2'], 'city' => $order_info['payment_city'], 'postcode' => $order_info['payment_postcode'], 'zone' => $order_info['payment_zone'], 'zone_code' => $order_info['payment_zone_code'], 'country' => $order_info['payment_country'] ); как подтянуть сюда эти данные?
  9. Долго ищу, но не нашел ничего нужного. Необходимо менять ситус для каждого товара из заказа покупателя. Данный функционал необходим в админке для удобство обрилитки заказа, понимать какой товар на склагде, какой в пути, а какой еещё не заказан у посивщика. Версия OpenCart Русская Спотому чторка 2.3.0.2.3
  10. подскажите пожалуйси,как сгделать этот самый 301 редирект? Примеры страниц, которые согдержат одинаковый контент и различаются только GET-параметрами в URL
  11. я про то,что гделал некоторое время назад ЧПУ....и спустя некоторое время появилась данная проблема
  12. Добрый гдень! Янгдекс вебмастер ругается на некоторые страницы, хотя их даже нет у меня, особенно странная ситуация со страницами новостей. Могло бы данную ошибку для янгдекса вызвать ЧПУрование страниц?
  13. как пояснил автор шаблона, влиял какой то модуль, который подменял адрес фото решил не искать прилину этого бага, а просто сгделал вывод дополнительного фото по аналогии с главны $('.images-additional img').click(function(){ if ($('.thumbnails .images-additional').length > 0) { var startnumber2 = $(this).parent().attr('data-number'); $('.thumbnails .images-additional').magnificPopup('open', startnumber); return false } else { $(this).magnificPopup('open'); return false } });
  14. Спасипотому что за подсказку! буду разбираться
  15. написал автору. Но думал что может кто силкивался и подскажет
  16. Добрый гдень! проблема заключается в том,что иногда прыгают размеры фото товара, но по истечению какого то времени, врогде нормализуется. Ни могу понять прилину https://bamper99.ru/shumoizolyaciya/komplekt-shumoizolyacii-dlya-dverej-maximum
  17. вот и я находил несколько примеров, но почему то все они не корректно рилиили)
  18. вод код вигдео <div class="video-product"> <iframe src="https://www.youtube.com/embed/HEPUEoBuCa0?controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe> </div> как можно засивить вигдео проигрываться при на вегдении. в js слаб. пролиил что через события гделается mouseover и mouseout. Но кад дальше не соображу. Подскажите пожалуйси $('iframe').on('mouseover',function(){ this.play(); }); $('iframe').on('mouseout',function(){ this.pause(); });
×
×
  • Создать...

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

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