मैं ओपनकार्ट व्यवस्थापक ऑर्डर पृष्ठों पर कस्टम फ़ील्ड जोड़ना चाहता हूं।ओपनकार्ट व्यवस्थापक 'ऑर्डर जानकारी' पृष्ठ पर एक कस्टम फ़ील्ड जोड़ें
- की तरह अगर
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 = 'test' को परिभाषित करना होगा; सही? और टेम्पलेट फाइलें, मैं बस मूल्य प्रदर्शित करने के लिए एक जगह का चयन करें।
मैं ओपनकार्ट 2.0 संस्करण का उपयोग कर रहा हूं।
[संपादित करें]: ठीक है, इसलिए मैं इसके लिए vqmod में से किसी एक को संदर्भित करके एक 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>
'/ admin/model/sale/order.php' पर एक नज़र डालें क्योंकि शायद आपको 'सार्वजनिक फ़ंक्शन getCustomTable ($ order_id)' की आवश्यकता नहीं है। यदि आप ओपनकार्ट मॉड्यूल विकास से परिचित नहीं हैं तो आपको डेवलपर से संपर्क करना चाहिए और ** vQmod ** (ओपनकार्ट की मूल फ़ाइलों को न बदलें) के लिए पूछना चाहिए। – kanenas
मैं वास्तव में vqmod बनाने वाला था क्योंकि मैं कोर फ़ाइलों को संपादित करने में सहज नहीं हूं। मुझे लगा कि मुझे उस फ़ंक्शन की आवश्यकता है क्योंकि मैं एक अलग क्वेरी चला रहा हूं। मैं ओपनकार्ट स्टोर में ऐसे किसी भी vqmods को खोजने में सक्षम नहीं था इसलिए मैंने सोचा कि मैं इसे आज़माता हूं। –
हाय मैंने पूरी फाइल को जोड़ा। अभी भी कोई डेटा नहीं –