หน้า 1 จากทั้งหมด 2

Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 20/04/2018 1:22 pm
โดย Parichat
ทำ Drop Down ในโมดูลของหน้าผู้ดูแลระบบ
ตอนนี้ทำแล้วแต่ยังเป็น Textbox อยู่อีก
ตอนนี้มีสร้างโฟลเดอร์ fields และสร้างไฟล์ php มี โค้ดในไฟล์มี

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

JFormHelper::loadFieldClass('list');

class JFieldMainForms extends JFieldList {

        protected $type = 'MainForms';

        public function getOptions() {
                $db = Joomla\CMS\Factory::getDbo();
                $query = $db->getQuery(true)
                        ->select('id AS value, title AS text')
                        ->from('#__mdrtp_form_steps');
                $db->setQuery($query);
                $arr_options = $db->loadObjectList();

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

}
โค้ดในไฟล์ XML

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

<field 
    name="stap_form" 
    type="mainforms" 
    label="MOD_MDRTP_RECENT_STEP_FORM">
   <option value="">Add Step Form</option>
</field>
ass3.png
ass3.png (2.26 KiB) Viewed 1905 times

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 20/04/2018 1:27 pm
โดย tsukasaz
อาจจะต้องบอกที่อยู่ของโฟลเดอร์ที่เก็บ Fields ให้มันรู้ด้วย โดยใช้ addfieldpath

ตัวอย่างจาก https://docs.joomla.org/Creating_a_cust ... field_type

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 20/04/2018 4:48 pm
โดย Parichat
tsukasaz เขียน:อาจจะต้องบอกที่อยู่ของโฟลเดอร์ที่เก็บ Fields ให้มันรู้ด้วย โดยใช้ addfieldpath

ตัวอย่างจาก https://docs.joomla.org/Creating_a_cust ... field_type
พอใส่
addfieldpath="/modules/mod_mdrtp_recent/fields"
ลงไปแล้วมันเพี้ยงหมดเลยคาบ

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 20/04/2018 4:52 pm
โดย tsukasaz
ใส่ที่ไหนครับ

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 20/04/2018 5:11 pm
โดย Parichat
tsukasaz เขียน:ใส่ที่ไหนครับ
ใส่ในแท็ก <fieldset >

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

<fieldset  name="basic" addfieldpath="/modules/mod_mdrtp_recent/fields">
//.............
</fieldset>

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 20/04/2018 5:20 pm
โดย tsukasaz
มันน่าจะเข้าไปในโฟลเดอร์ fields แล้ว เช็คโค้ดว่าเขียนอะไรผิดหรือเปล่า

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 20/04/2018 6:58 pm
โดย Parichat
tsukasaz เขียน:มันน่าจะเข้าไปในโฟลเดอร์ fields แล้ว เช็คโค้ดว่าเขียนอะไรผิดหรือเปล่า
ลองแก้แล้วแต่ Error
Call to protected method JFormFieldList::getOptions() from context 'Joomla\CMS\Form\FormHelper'

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 23/04/2018 9:46 am
โดย tsukasaz
เขียนโค้ดว่าอะไรครับ

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 23/04/2018 9:53 am
โดย Parichat
tsukasaz เขียน:เขียนโค้ดว่าอะไรครับ
ในไฟล์.php ที่อยู่ในโฟลเดอร์ fields

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

JFormHelper::addFieldPath(JPATH_COMPONENT . '/fields');
$cities = JFormHelper::loadFieldType('list', false);
$cityOptions=$cities->getOptions();
ในไฟล์ .xml

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

<fieldset  name="basic" addfieldpath="/modules/mod_mdrtp_recent/fields">
//.............
</fieldset>

Re: Q - ทำ Drop Down ในหน้าผู้ดูแลระบบของโมดูล

โพสต์แล้ว: 23/04/2018 11:31 am
โดย tsukasaz
โค้ดข้างบนเป็นการเรียกตัว Field แบบใช้ php ส่วนอันล่าง เป็นการเรียกใช้แบบ xml เลือกใช้อย่างใดอย่างหนึ่ง

เอาแบบ xml อย่างเดียวพอ