เพิ่มคอลัมน์ไปยังผู้ดูแลระบบ> การขาย> ตารางคำสั่งซื้อ


21

ฉันจะเพิ่มคอลัมน์ในตารางในส่วนผู้ดูแลระบบภายใต้การขาย> คำสั่งซื้อได้อย่างไร

ป้อนคำอธิบายรูปภาพที่นี่


นี่คือบทความบอกวิธีที่คุณสามารถทำได้: magestyapps.com/blog/post/…
MagestyApps

คำตอบ:


20

Inchoo เขียนบทความที่ดีเกี่ยวกับการขยายตารางคำสั่ง และในบล็อก Atwix มีบทความเกี่ยวกับการเพิ่มคอลัมน์จากตารางอื่น

โพสต์บล็อก Inchoo โดยทั่วไปจะขยายด้วยส่วนขยายที่กำหนดเอง ในกรณีที่คุณไม่คุ้นเคยกับการเขียนนามสกุลของคุณเองผมขอแนะนำให้คุณใช้ยกเค้าที่อลันพายุกวดวิชาหรือหนึ่งจากวีโอไอพี 4U

คุณจะเขียนMage_Adminhtml_Order_Gridคลาสบล็อกใหม่เพิ่มคอลัมน์ไปยัง_prepareColumnsเมธอดและขยาย_prepareCollectionเมธอดด้วยฟิลด์ที่กำหนดเองของคุณ


7

มันเป็นกระบวนการง่ายๆ 2 ขั้นตอน (เช่นฉันต้องการเพิ่มที่อยู่อีเมลและเมืองสั่งซื้อในตารางคำสั่งซื้อนี้)
คัดลอกไฟล์ core นี้ไปยังโลคัลคุณก่อนในไดเร็กทอรีเดียวกัน app / รหัส / core / Mage / Adminhtml / บล็อก / ขาย / สั่งซื้อ / Grid.php

ขั้นตอนที่ 1: เพิ่มบรรทัดของรหัสต่อไปนี้ในฟังก์ชั่น _prepareColumns ()

$this->addColumn('email', array(
        'header'    => Mage::helper('catalog')->__('Customer Email'),
        'index'     => 'email',
        'type' => 'text'
    ));
$this->addColumn('city', array(
        'header'    => Mage::helper('catalog')->__('Order From City'),
        'index'     => 'city',
        'type' => 'text'
    ));

ขั้นตอนที่ 2: เพิ่มบรรทัดของรหัสต่อไปนี้ในฟังก์ชัน _prepareCollection ()

$collection->getSelect()->join('sales_flat_order_address', 'main_table.entity_id = sales_flat_order_address.parent_id' ,array('email'=> 'email', 'city'=> 'city' ));
$collection->addFieldToFilter('sales_flat_order_address.address_type', array('eq' => 'billing'));

ข้อความค้นหาโดยรวมจะเป็นดังนี้:

SELECT main_table. sales_flat_order_address* emailAS ,customer_email จากAS INNER JOIN ON main_table.entity_id = sales_flat_order_address.parent_id WHERE (sales_flat_order_address.address_type = 'การเรียกเก็บเงิน')sales_flat_order_addresscitysales_flat_order_gridmain_tablesales_flat_order_address

ปรับเปลี่ยนรหัสตามความต้องการของคุณ
หวังว่าจะช่วย


4

คุณสามารถใช้คำตอบของฉันจากโพสต์ก่อนหน้าใน เพิ่มคอลัมน์ในกริด (ผู้สังเกตการณ์) - คอลัมน์ 'store_id' ในกรณีที่คำสั่งย่อยเป็นปัญหาที่ไม่ชัดเจนในการเพิ่มคอลัมน์พิเศษลงในตารางใบสั่งขายผ่านผู้สังเกตการณ์


1

เขียนซ้ำเมื่อวานนี้;)

คุณสามารถทำได้โดยใช้กิจกรรม ดูคำตอบก่อนหน้าที่นี่:

เพิ่มคอลัมน์ บริษัท ไปยังกริดลูกค้าผู้ดูแลระบบด้วย Observer

ซึ่งรวมถึงวิธีการปรับตัวกรอง

คุณเพียงแค่ต้องปรับกริดที่คุณกำหนดเป้าหมายไว้ในรหัสบิตแรก:

if ($event->getBlock() instanceof
                Mage_Adminhtml_Block_Newsletter_Subscriber_Grid 
            ) {
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.