Все вірно пишите це робота стандарного опен карту.
При кастомізації ці зміни і впливають на поведінку.
Ваша кастомізація дуже доречна просто потрібно доопрацювати далі логіку.
Для прикладу щоб в замовленнях адмінки відображало зареєстрованого користувача, а не те ім'я на кого відправляло в самій модель підправити запит.
public function getOrders($data = array()) {
//$sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";
$sql = "SELECT o.order_id, (SELECT CONCAT(c.firstname, ' ', c.lastname) FROM " . DB_PREFIX . "customer as c WHERE c.customer_id = o.customer_id) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS order_status, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";
Пошук треба правити окремо, буде час допрацюю закину.
Те саме і по самосу замовленню....
Наголошую це логіка самого опен карту так працює, це не в шаблоні.