2017-07-24 3 views
0

J'essaie d'ajouter le nom du magasin dans la liste de commande sur OpenCart. J'ai vu ceci post et j'ai essayé de le modifier pour montrer le nom du magasin mais cela ne fonctionne pas. Il n'affiche aucun résultat, donc aucune commande ne s'affiche maintenant.Ajouter un nom de magasin à OpenCart 2 admin page de liste de commande

Voici mon code:

 <modification> 
    <id><![CDATA[Show Store Name]]></id> 
    <version>1</version> 
    <vqmver>2.X</vqmver> 
<author>author</author> 

<file name="admin/view/template/sale/order_list.tpl"> 

    <operation> 
     <search position="after"><![CDATA[ 
     <a href="<?php echo $sort_order; ?>"><?php echo $column_order_id; ?></a> 
     ]]></search> 
     <add><![CDATA[ 
     <!-- custom --> 
       <td class="text-left"> 
        <?php echo $text_store_name; ?></a> 
       </td> 

     <!-- custom --> 
     ]]></add> 
    </operation> 
    <operation> 
     <search position="after"><![CDATA[ 
     <td class="text-right"><?php echo $order['order_id']; ?></td> 
     ]]></search> 
     <add><![CDATA[ 
     <td class="text-left"><?php if(!empty($order['column_store'])){echo "CU".$order['column_store'];} else{echo " ";} ?></td> 
     ]]></add> 
    </operation> 

</file> 

</modification> 

Répondre

0

Je soupçonne que la question que vous rencontrez est que dans 2.3.0.2, la fonction getOrders() dans admin/model/sale/order.php n'interroge pas * la façon dont la fonction getOrder() fait. Lorsque j'ai ajouté le champ store_name à la requête $sql dans getOrders(), affichant le magasin travaillé.

Je n'ai pas écrit un vqMod, je viens modifié admin/view/template/sale/order_list.tpl, admin/model/sale/order.php, admin/controller/sale/order.php comme suit:

view/template/sale/order_list.tpl: (évidemment, vous devez modifier le fichier de langue au lieu de hardcoding, ce qui est juste un POC)

103,107d102 
< <!-- bof mod --> 
<     <td class="text-right"> 
<      Store Name 
<     </td> 
< <!-- eof mod --> 
147d141 
<     <td class="text-left"><?php echo $order['store_name']; ?></td> 

admin/model/sale/order.php:

173c173 
<  $sql = "SELECT store_name, 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, 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"; 

admin/controller/sale/order.php:

214d213 
<    'store_name'  => $result['store_name'], 
+0

Comment une seule ligne de code dans le contrôleur ajouterait-elle le nom du magasin à la liste de commandes? merci pour l'aide –

+0

Non désolé. Je voulais avoir une nouvelle colonne dans la liste de commande pour être le nom du magasin et la valeur pour être le nom du magasin pour chaque commande. Est-ce logique? Merci –

+0

Si vous allez à Ventes> Commandes - c'est où la liste de commande est. C'est là que toutes vos commandes sont affichées. Pas un multistore. J'utilise OpenBay et sur la commande il montre si la vente est sur ebay ou le magasin lui-même, donc je voudrais que cela soit montré quand je regarde toutes les commandes - dans l'ordre lui-même, il montre ebay sur le nom du magasin être affiché dans les colonnes de la liste de commande. Est-ce que cela a du sens? Merci –