สร้าง Joomla Filter ปุ่มค้นหา, ปุ่มค้นหาเรียงตามชื่อ, ปุ่มจำนวนการแสดงผล

แชร์ ความรู้ในการ พัฒนา Joomla Component Extension Module Plugin

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
pond
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 571
ลงทะเบียนเมื่อ: 25/05/2016 9:44 am

สร้าง Joomla Filter ปุ่มค้นหา, ปุ่มค้นหาเรียงตามชื่อ, ปุ่มจำนวนการแสดงผล

โพสต์โดย pond » 09/09/2016 2:21 pm

สร้างJoomla Filter ปุ่มค้นหา, ปุ่มค้นหาเรียงตามชื่อ, ปุ่มจำนวนการแสดงผล
Workspace 1_002.png
Workspace 1_002.png (32.45 KiB) เปิดดู 121 ครั้ง



administrator/components/com_ชื่อคอมโพเน้นท์/views/ชื่อหน้าที่ต้องการเพิ่ม Filter/tmpl/default.php
ใส่ code นี้ลงไปเพื่อแสดงผลแถบ Filter

โค้ด: เลือกทั้งหมด

    <?php
    // Search tools bar
    echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
    ?>



administrator/components/com_ชื่อคอมพอเน้นท์/views/ชื่อหน้าที่ต้องการเพิ่ม Filter/view.html.php
ใส่ code ในฟังค์ชั่น display เพื่อเรียกใช้งาน FilterForm และ ActiveFilters

โค้ด: เลือกทั้งหมด

$this->filterForm = $this->get('FilterForm');
$this->activeFilters = $this->get('ActiveFilters');


administrator/components/com_ชื่อคอมพอเน้นท์/models/forms/filter_ชื่อที่ฟน้าที่ต้องการเรียก Form Filter.xml
ทำการสร้างฟอร์ม XML เพื่อให้ ส่วนของ view เรียกไปใช้งาน โดยในที่นี้จะระบุไว้ 3 อย่างคือ ปุ่มค้นหา, ปุ่มค้นหาตามตัวอักษร, ปุ่มการแสดงกี่จำนวน

*หมายเหตุ
<option value="a.name asc">name น้อยไปมาก</option>
<option value="a.name desc">name มากไปน้อย</option>
name คือชื่อที่เราเก็บไว้ใน ฐานข้อมูล
asc คือการเรียงจากน้อยไปหามาก
desc คือการเรียงจากมากไปหาน้อย
Workspace 1_003.png
Workspace 1_003.png (44.48 KiB) เปิดดู 121 ครั้ง

secdesc.png
secdesc.png (42.71 KiB) เปิดดู 121 ครั้ง



โค้ด: เลือกทั้งหมด

<?xml version="1.0" encoding="utf-8"?>
<form>
   <!--ปุ่มsearch-->
    <fields name="filter">
        <field
            name="search"
            type="text"
            label="COM_CONTENT_FILTER_SEARCH_LABEL"
            description="COM_CONTENT_FILTER_SEARCH_DESC"
            hint="JSEARCH_FILTER"
        />
    </fields>
   <!--ปุ่มค้นหาจากชื่อที่เก็บไว้ในฐานข้อมูล โดยในที่นี้มี name,qty,price โดย asc หมายถึงการเรียงจากน้อยไปหามากและ desc เรียกจากมากไปหาน้อย-->
    <fields name="list">
        <field
            name="fullordering"
            type="list"
            label="COM_CONTENT_LIST_FULL_ORDERING"
            description="COM_CONTENT_LIST_FULL_ORDERING_DESC"
            onchange="this.form.submit();"
            default="a.id DESC"
        >
            <option value="a.name asc">name น้อยไปมาก</option>
            <option value="a.name desc">name มากไปน้อย</option>
            <option value="a.qty asc">qty น้อยไปมาก</option>
            <option value="a.qty desc">qty มากไปน้อย></option>
            <option value="a.price asc">price น้อยไปมาก</option>
            <option value="a.price desc">price >มากไปน้อย</option>
           
           
            <!--เพิ่มปุ่ม กำหนดว่าแสดงเท่าไหร่ ในที่นี้กำหนดไว้ตอนเริ่มต้นเป็น 20-->
        </field>
        <field
            name="limit"
            type="limitbox"
            class="input-mini"
            default="20"
            label="COM_CONTENT_LIST_LIMIT"
            description="COM_CONTENT_LIST_LIMIT_DESC"
            onchange="this.form.submit();"
        />
    </fields>
</form>

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 2 และ บุคคลทั่วไป 0 ท่าน