feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

ถามตอบ ปัญหาการพัฒนา Extension ไม่ว่าจะเป็น Module plugin Component หรือ แม้แต่ template การปรับแต่งโค้ด Joomla ต่างๆ ทุกเวอร์ชั่น 1.5 2.5 หรือ 3.x

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

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 761
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

โพสต์โดย Patipat » 23/07/2019 1:07 pm

ตอนนี้กำลังสร้าง Combobox ครับแต่ว่า ค่าใน value กับ text ต้องเอามาจากฐานข้อมูลครับ สามารถดึงมาได้ไหมครับ
**แล้วถ้าได้ มีวิธีการดึง อย่างไรครับ

โค้ดที่ใช้ครับ

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

<field name="mylistvalue" type="list" default="" required="true" multiple="true" label="เลือก ID สินค้า" description="">
                  <option value="1">Option 1</option>
                  <option value="2">Option 2</option>
  </field
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 9961
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

โพสต์โดย tsukasaz » 23/07/2019 1:12 pm

ศึกษาจากกระทู้นี้ได้ครับ
- viewtopic.php?f=86&t=45374
- viewtopic.php?f=86&t=46935
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 761
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

โพสต์โดย Patipat » 23/07/2019 2:03 pm

ผมได้ลองทำแล้วครับ

- สร้างโฟลเดอร์ใหม่ ชื่อ feild
- สร้างไฟล์ selectid.php ให้อยู่ในโฟลเดอร์ feild


โค้ด คลาส ที่อยุ่ในไฟล์ select.php

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

<?php
defined
('_JEXEC') or die;

JFormHelper::loadFieldClass('list');

class 
JFormFieldProvinces extends JFormFieldList
{
 
    protected 
$type 'selectid';

    public function 
getOptions()
    {
        
$lang_tag = \Joomla\CMS\Factory::getLanguage()->getTag(); 
        
$db Joomla\CMS\Factory::getDbo();
        
$query $db->getQuery(true)
            ->
select('product_id AS value,'.$db->qn('name_'.$lang_tag).' AS text')
            ->
from('#__mzc_products')
        
$db->setQuery($query);
        
$arr_options $db->loadObjectList();

        return 
array_merge(parent::getOptions(), $arr_options);
    }



โค้ดที่อยุ่ในไฟล์ XML ตอนเรียกใช้ครับ
** เราจะดึงค่าจาก ฐานข้อมูล value กับ text ใช้แบบไหนครับ

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

<field name="selectid" type="list" label="เลือก ID สินค้า" multiple="true" description="">
<
option value="value">text</option>
</
field
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 9961
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

โพสต์โดย tsukasaz » 23/07/2019 2:10 pm

- ในโฟลเดอร์ feild แก้เป็น fields

- class ที่สร้าง ชื่อไฟล์ ชื่อของ class และ protected $type มันต้องไปทางเดียวกันครับ viewtopic.php?p=114045&hilit=%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD#p114045

- หลังจากได้ fields มาแล้ว ต้องเรียกใช้ ด้วยครับ viewtopic.php?p=119750&hilit=addfieldpath#p119750
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 761
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

โพสต์โดย Patipat » 23/07/2019 2:20 pm

- ปรับชื่อไฟล์ ชื่อคลาส protected $type แล้วครับ
- พอผมเรียกใช้ ก็ยังไม่ขึ้นเลยครับ ไม่ทราบว่าเรียกใช้ addfeildpath ถูกหรือเปล่าครับ

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

<field name="selectid" type="list" label="เลือก ID สินค้า" multiple="true" description="" addfieldpath="/administrator/components/mod_mzc_products_slideshow/models/fields"
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 9961
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

โพสต์โดย tsukasaz » 23/07/2019 2:24 pm

- ใส่ผิดที่ครับ viewtopic.php?p=119782#p119782

- ที่อยู่ไม่ถูกด้วย ตัว module ที่สร้างไม่อยู่ในโฟลเดอร์ administrator
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 761
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

โพสต์โดย Patipat » 23/07/2019 2:33 pm

ผมใส่ไว้ในนี้แล้วครับ ค่าก็ยังไม่ขึ้นครับ

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

<fieldset name="basic" addfieldpath="/modules/mod_mzc_products_slideshow/fields">


อันนี้โค้ดแสดง value กับ text ต้องใส่อย่างไรครับ หรือว่าปล่อยค่าว่างไปเลยครับ

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

<field name="selectid" type="list" label="เลือก ID สินค้า" multiple="true" <option value="value"></option>
</
field>
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 9961
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: feild ในไฟล์ XML สามรถ ดึงข้อมูลจาก ฐานข้อมูลมาได้ไหมครับ

โพสต์โดย tsukasaz » 23/07/2019 3:15 pm

เปลี่ยน type เป็น ชื่อไฟล์ของ fields ที่สร้างมาครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)


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

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

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