Спасибо, поковырялся и получилось. Но теперь столкнулся со следующей проблемой. Нужно перенести информацию из account/order/info&order_id=1 в account/account (перенести информацию о сделанных заказах). Что вставлять в tpl, я знаю. Интересует именно код в файлах php. Подскажите, пожалуйста.
Это мой account.php.
<?php
class ControllerAccountAccount extends Controller {
public function index() {
if (!$this->customer->isLogged()) {
$this->session->data['redirect'] = $this->url->link('account/account', '', 'SSL');
$this->redirect($this->url->link('account/login', '', 'SSL'));
}
$this->language->load('account/order');
$this->load->model('account/order');
$this->language->load('account/account');
$this->document->setTitle($this->language->get('heading_title'));
$this->data['breadcrumbs'] = array();
$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home'),
'separator' => false
);
$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_account'),
'href' => $this->url->link('account/account', '', 'SSL'),
'separator' => $this->language->get('text_separator')
);
if (isset($this->request->get['order_id'])) {
$order_info = $this->model_account_order->getOrder($this->request->get['order_id']);
if ($order_info) {
$order_products = $this->model_account_order->getOrderProducts($this->request->get['order_id']);
foreach ($order_products as $order_product) {
$option_data = array();
$order_options = $this->model_account_order->getOrderOptions($this->request->get['order_id'], $order_product['order_product_id']);
foreach ($order_options as $order_option) {
if ($order_option['type'] == 'select' || $order_option['type'] == 'radio') {
$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->session->data['success'] = sprintf($this->language->get('text_success'), $this->request->get['order_id']);
$this->cart->add($order_product['product_id'], $order_product['quantity'], $option_data);
}
$this->redirect($this->url->link('checkout/cart'));
}
}
if (isset($this->session->data['success'])) {
$this->data['success'] = $this->session->data['success'];
unset($this->session->data['success']);
} else {
$this->data['success'] = '';
}
$this->data['heading_title'] = $this->language->get('heading_title');
$this->data['heading_title'] = $this->language->get('heading_title');
$this->data['text_order_id'] = $this->language->get('text_order_id');
$this->data['text_status'] = $this->language->get('text_status');
$this->data['text_date_added'] = $this->language->get('text_date_added');
$this->data['text_customer'] = $this->language->get('text_customer');
$this->data['text_products'] = $this->language->get('text_products');
$this->data['text_total'] = $this->language->get('text_total');
$this->data['text_empty'] = $this->language->get('text_empty');
$this->data['button_view'] = $this->language->get('button_view');
$this->data['button_reorder'] = $this->language->get('button_reorder');
$this->data['button_continue'] = $this->language->get('button_continue');
$this->data['text_my_account'] = $this->language->get('text_my_account');
$this->data['text_my_orders'] = $this->language->get('text_my_orders');
$this->data['text_my_newsletter'] = $this->language->get('text_my_newsletter');
$this->data['text_edit'] = $this->language->get('text_edit');
$this->data['text_password'] = $this->language->get('text_password');
$this->data['text_address'] = $this->language->get('text_address');
$this->data['text_wishlist'] = $this->language->get('text_wishlist');
$this->data['text_order'] = $this->language->get('text_order');
$this->data['text_download'] = $this->language->get('text_download');
$this->data['text_reward'] = $this->language->get('text_reward');
$this->data['text_return'] = $this->language->get('text_return');
$this->data['text_transaction'] = $this->language->get('text_transaction');
$this->data['text_newsletter'] = $this->language->get('text_newsletter');
$this->data['edit'] = $this->url->link('account/edit', '', 'SSL');
$this->data['password'] = $this->url->link('account/password', '', 'SSL');
$this->data['address'] = $this->url->link('account/address', '', 'SSL');
$this->data['wishlist'] = $this->url->link('account/wishlist');
$this->data['order'] = $this->url->link('account/order', '', 'SSL');
$this->data['download'] = $this->url->link('account/download', '', 'SSL');
$this->data['return'] = $this->url->link('account/return', '', 'SSL');
$this->data['transaction'] = $this->url->link('account/transaction', '', 'SSL');
$this->data['newsletter'] = $this->url->link('account/newsletter', '', 'SSL');
if (isset($this->request->get['page'])) {
$page = $this->request->get['page'];
} else {
$page = 1;
}
$this->data['orders'] = array();
$order_total = $this->model_account_order->getTotalOrders();
$results = $this->model_account_order->getOrders(($page - 1) * 10, 10);
if ($this->config->get('reward_status')) {
$this->data['reward'] = $this->url->link('account/reward', '', 'SSL');
} else {
$this->data['reward'] = '';
}
foreach ($results as $result) {
$product_total = $this->model_account_order->getTotalOrderProductsByOrderId($result['order_id']);
$voucher_total = $this->model_account_order->getTotalOrderVouchersByOrderId($result['order_id']);
$this->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']),
'href' => $this->url->link('account/order/info', 'order_id=' . $result['order_id'], 'SSL'),
'reorder' => $this->url->link('account/order', 'order_id=' . $result['order_id'], 'SSL')
);
}
$pagination = new Pagination();
$pagination->total = $order_total;
$pagination->page = $page;
$pagination->limit = 10;
$pagination->text = $this->language->get('text_pagination');
$pagination->url = $this->url->link('account/order', 'page={page}', 'SSL');
$this->data['pagination'] = $pagination->render();
$this->data['continue'] = $this->url->link('account/account', '', 'SSL');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/account/order_list.tpl')) {
$this->template = $this->config->get('config_template') . '/template/account/order_list.tpl';
} else {
$this->template = 'default/template/account/order_list.tpl';
}
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/account/account.tpl')) {
$this->template = $this->config->get('config_template') . '/template/account/account.tpl';
} else {
$this->template = 'default/template/account/account.tpl';
}
$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);
$this->response->setOutput($this->render());
}
}
?>