2016-11-25 5 views
0

注文にアドレスを割り当てる必要がない方法で注文システムを変更したプレスタショップがあります。この方法では、アドレスフィールドの値は0になります。 問題は、すべてのデータがデータベースに保存されますが、バックオフィスには表示されないということです。 どうすればいいのですか?たぶん私はSQLクエリを変更する必要がありますが、私はそれを行う方法を知りません。あなたがテーブルにorders Prestashop 1.6の注文をリストする方法アドレスが割り当てられていないバックオフィス

0に
$this->_join = ' 
    LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`) 
    LEFT JOIN `'._DB_PREFIX_.'address` address ON address.id_address = a.id_address_delivery 
    LEFT JOIN `'._DB_PREFIX_.'country` country ON address.id_country = country.id_country 
    LEFT JOIN `'._DB_PREFIX_.'country_lang` country_lang ON (country.`id_country` = country_lang.`id_country` AND country_lang.`id_lang` = '.(int)$this->context->language->id.') 
    LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = a.`current_state`) 
    LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)$this->context->language->id.')'; 

id_address_deliveryを設定しているので、

答えて

1

左表addressに参加するには、リストを削除するactionControllerNameListingFieldsModifierを生成する前に、これを修正するモジュールのフックを使用することができます行を見つけることができませんアドレス結合部。

/* AdminController getList() method 

    Hook::exec('action'.$this->controller_name.'ListingFieldsModifier', array(
     'select' => &$this->_select, 
     'join' => &$this->_join, 
     'where' => &$this->_where, 
     'group_by' => &$this->_group, 
     'order_by' => &$this->_orderBy, 
     'order_way' => &$this->_orderWay, 
     'fields' => &$this->fields_list, 
    )); 
*/ 
public function hookActionAdminOrdersListingFieldsModifier($params) { 
    // Remove address and country join clauses 
    $params['join'] = ' 
    LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`)  
    LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = a.`current_state`) 
    LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)$this->context->language->id.')'; 
} 
関連する問題