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

VladimirV

Новичок
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о VladimirV

  • Звание
    Пользователь

Посетители профиля

197 просмотров профиля
  1. Добрый вечер, у вас получилось решить проблему, я тоже с этим столкнулся
  2. VladimirV

    Список заказов

    Ну вот теперь новый вопрос всплыл, изменился формат вывода price и total за это как я понял отвечает в контроллере $this->currency->format а я то из массива выдергиваю в шаблоне и price и total, как применить что бы был одинаковый формат в частности мне нужно убрать нули после точки и вывести валюту
  3. VladimirV

    Список заказов

    Все разобрался, всем спасибо за помощь, особая благодарность AlexDX <?php foreach($order['product_info'] as $product_info) { ?> <?php echo $product_info['name']; ?> <?php } ?>
  4. VladimirV

    Список заказов

    Спасибо огромное, да я увидел что в массиве есть все необходимые мне: ключи и их значения. Я не могу понять как в шаблоне вывести например значение ключа name из этого массива?
  5. VladimirV

    Список заказов

    Вы мне уже почти все объяснили но я не пойму: В контролере добавил путь к модели и в переменную product_info передал массив, внутри массива orders $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( 'product_info' => $this->model_account_order->getOrderProducts($result['order_id']), 'price' => $result['price'], 'quantity' => $result['quantity'], '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), ); } в шаблоне внутри цикла <?php foreach ($orders as $order) { ?> вставляю <?php echo $order['product_info']; ?> получаю: Notice: Undefined index: product_info Почему шаблон не видит переменную с массивом. И не пойму как теперь из этого массива путем перебора получить имя модель и пр., пробовал через <?php foreach ($products as $product) { ?> ошибка
  6. VladimirV

    Список заказов

    В catalog\controller\account\order.php я взял код из метода Info вставил в тело функции index, вы сказали не туда, подскажите пожалуйста куда ее нужно вставить. И вы сказали не то заменил на $products = $this->model_account_order->getOrderProducts($this->request->get['order_id']); ошибка Notice: Undefined index: order_id Подскажите что куда и почему. Я вижу обращение к модели но почему оно не работает не могу понять <?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['heading_subtitle'] = $this->language->get('heading_subtitle'); $data['text_empty'] = $this->language->get('text_empty'); $data['column_name'] = $this->language->get('column_name'); $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_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'); // Products $data['products'] = array(); $products = $this->model_account_order->getOrderProducts($this->request->get['order_id']); foreach ($products as $product) { $option_data = array(); $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'], '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) ); } $this->response->setOutput($this->load->view('account/order_list', $data)); }
  7. VladimirV

    Список заказов

    Ну это же как я понял для вывода в админке, или я ошибаюсь? а мне нужно в ...index.php?route=account/order Вот в контроллере вставляю в теле функции index свой код, но в шаблоне пишет Notice: Undefined variable: products не пойму почему, есть же запрос к модели, что не так, кде ошибка? $data['products'] = array(); $this->load->model('catalog/product'); $this->load->model('account/order'); $this->load->model('tool/upload'); $this->load->model('tool/image'); $products = $this->model_account_order->getOrderProducts($result['order_id']); foreach ($products as $product) { $product_info = $this->model_catalog_product->getProduct($product['product_id']); $data['products'][] = array( 'name' => $product['name'], 'model' => $product['model'], 'quantity' => $product['quantity'], ); }
  8. VladimirV

    Список заказов

    Вот код в контроллере который как я понимаю отвечает за обращение к модели для получения из бд нужных мне значений переменных. Я получаю Notice: Undefined index: order_id Подскажите в правильном ли я направлении двигаюсь и теперь как правильно мне получить значение order_id если подскажите код с пояснениями моих ошибок буду очень благодарен // Products $data['products'] = array(); $products = $this->model_account_order->getOrderProducts($this->request->get['order_id']); foreach ($products as $product) { $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'], '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) ); }
  9. VladimirV

    Список заказов

    Очень нужно. В шаблон я цикл вставил <?php foreach ($products as $product) { ?> <?php echo $product['name']; ?> <?php echo $product['price']; ?> <?php echo $product['quantity']; ?> <?php echo $product['total']; ?> <!-- <?php foreach ($product['option'] as $option) { ?> &nbsp; - <?php echo $option['name']; ?>: <?php echo $option['value']; ?> <?php } ?> --> <?php } ?> В модели все запросы как я понимаю есть ее трогать не нужно. Остается правильно отредактировать контроллер и вот здесь у меня возникал проблема так как опыта и знаний не хватает.
  10. VladimirV

    Список заказов

    Извините за ошибку я изночально написал в списке товаров и этим ввел в заблуждение, я имел ввиду в списке заказов .../index.php?route=account/order
  11. VladimirV

    Список заказов

    В списке заказов нужно нажать на ссылку просмотр. тогда перебрасывает на другую страницу с полной информацией по данному заказу. Я же пытаюсь вывести эту информацию на странице списка заказов. На screenshote выделена красным информация которую я пытаюсь безуспешно вывести.
  12. VladimirV

    Список заказов

    Подскажите как вывести информацию о товаре в списке товаров(не админка) , плагинов не нашел, и решений без плагинов не нашел. Если есть какая нибудь информация дайте ссылочку
  13. Проблема была в том что был установлен плагин с функцией reloadAll, вообщем мой клик не успевал срабатывать.
×