2016-04-20 2 views
0

Ich verwende Opencart für ein Webprojekt und ich füge ein benutzerdefiniertes Feld zu allen Produkten hinzu, die unit genannt werden. Ich habe eine Spalte namens unit in der oc_product Tabelle erstellt. Ich kann auf der Seite product.php auf die Einheit eines Produkts zugreifen, indem ich data['unit'] = product_info['unit'] hinzufüge und es über eine Abfrage abrufe, aber ich möchte auf der Seite cart.php zugreifen. Ich bin mir nicht sicher, wo der Wagen seine Produkte von Gedanken bekommt. Also ich weiß nicht wo genau den Code hinzufügen soll um die Einheit zu bekommen. In controller/common/cart.php da dieser Code-Block ist:Wie erhalten Sie zusätzliche Produktinformationen in der cart.php in opencart?

 $data['products'][] = array(
      'product_id'=> $product['product_id'], 
      'key'  => $product['key'], 
      'thumb'  => $image, 
      //THIS 
      'unit'  => $product['unit'], 
      'name'  => $product['name'], 
      'model'  => $product['model'], 
      'option' => $option_data, 
      'recurring' => ($product['recurring'] ? $product['recurring']['name'] : ''), 
      'quantity' => $product['quantity'], 
      'price'  => $price, 
      'total'  => $total, 
      'href'  => $this->url->link('product/product', 'product_id=' . $product['product_id']) 
    ); 

Wenn Sie den Code oben schauen, rechts den Kommentar dieses Schlag, fügte ich eine Linie, die die Einheit zu erhalten. Das Hinzufügen dieses Codes gibt mir die Einheit nicht und ich weiß es nicht, weil ich es nicht abfrage, aber ich weiß nicht, wo die Abfrage hinzugefügt werden soll. Wenn ich $ product ['unit'] durch eine einfache Zeichenfolge wie "12" ersetze, kann ich auf die 12 auf der Warenkorbseite zugreifen. Die Frage ist also, welche Abfrage ich bearbeite, um die Einheit auf der Warenkorbseite zu bekommen.

Antwort

0

Ich konnte es herausfinden. Gehen Sie zur Zeile 242 int /system/library/cart.php und fügen Sie im Array die folgende Zeile hinzu:

'unit' => $product_query->row['unit'] 
Verwandte Themen