opencartの管理者注文ページにカスタムフィールドを追加します。Opencart管理者の[注文情報]ページにカスタムフィールドを追加
- は
oc_order.order_id
=oc_custom_table.order_id
が、その後の管理順序リストにoc_custom_table.comment
を表示する場合のような値を比較します。 - 管理注文情報ページに同じものを表示します。
すべてのすべてのクエリがあるadmin_model_order.phpページにカスタム関数を追加しました。
public function getCustomTable($order_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "custom_table WHERE order_id = '" . (int)$order_id . "'"); return $query->rows; }
コントローラのページがかなり混雑しています。変数を追加する場所がわからないため、注文固有の情報が表示されます。言語で
、私はちょうど$ _text_custom_variable =「テスト」のような言語変数を定義する必要があります。右?テンプレートファイルの場合は、値を表示する場所を選択するだけです。
私はOpencart 2.0バージョンを使用しています。
[EDIT]:わかりましたので、私はそれのためのvqmodの1を参照してVQMODを書くことができましたが、それでもデータをプルアップすることはできません。私は、一次リスト内のデータを追加しようとしたエラーTrying to get property of non-object
を取得します。
<!--Template File -->
<file name="admin/view/template/sale/order_list.tpl">
<operation>
<search position="before"><![CDATA[
<td class="text-left"><?php echo $order['date_added']; ?></td>
]]></search>
<add><![CDATA[
<td class="text-right"><?php echo 'CO'. $order['custom_orders'];?></td>
]]></add>
</operation>
<operation>
<search position="before"><![CDATA[
<td class="text-left"><?php if ($sort == 'o.date_added') { ?>
]]></search>
<add><![CDATA[
<td class="text-right">custom orders <i class="fa fa-shopping-cart"></i></td>
]]></add>
</operation>
</file>
<!--Model File -->
<file name="admin/model/sale/order.php">
<operation>
<search position="before"><![CDATA[
public function getTotalEmailsByProductsOrdered($products) {
]]></search>
<add><![CDATA[
public function getCustomOrderNumber($order_id) {
$custom_orders ='';
$query = $this->db->query("SELECT o.order_id, s.external_order_number, s.custom_order_number
FROM oc_order o
LEFT JOIN " . DB_PREFIX . "custom_orders s ON (s.external_order_number = o.order_id)
WHERE o.order_id = '" . (int)$order_id . "'");
foreach ($query->rows as $row) {
$custom_orders += $this->custom_orders->$row['custom_orders'];
}
return $custom_orders;
}
]]></add>
</operation>
</file>
<!--Controller File -->
<file name="admin/controller/sale/order.php">
<operation>
<search position="before"><![CDATA[
'delete' => $this->url->link('sale/order/delete', 'token=' . $this->session->data['token'] . '&order_id=' . $result['order_id'] . $url, 'SSL')
]]></search>
<add><![CDATA[
'custom_orders' => $this->model_sale_order->getCustomOrderNumber($result['order_id']),
]]></add>
</operation>
</file>
おそらく 'public function getCustomTable($ order_id)'が必要ないかもしれないので、 '/ admin/model/sale/order.php'を見てください。 Opencartモジュールの開発に精通していない場合は、開発者に連絡して** vQmod **(Opencartのコアファイルを変更しないでください)を求めてください。 – kanenas
コアファイルを編集するのが快適でないため、私は実際にvqmodを作成します。私は別のクエリを実行しているので、私はその関数が必要だと思った。私はopencartストアでそのようなvqmodsを見つけることができませんでしたので、私はそれを試してみると思った。 –
こんにちは私は完全なファイルを追加しました。まだデータがありません –