Page 1 of 1

ทำไมผมถึงดึงข้อมูลชื่อหมวดหมู่ออกมาแสดงหน้าตั้งค่า module ไม่ได้ครับ

Posted: 10/10/2019 3:46 pm
by jamepiyawat
พอดีว่าผมต้องทำการดึงชื่อหมวดหมู่ออกมาแสดงในหน้าตั้งค่า module ครับผมได้ของทำแล้วแต่ไม่รู้ว่าผมทำผิดตรงไหนครับ

อันดับแรกก็ตั้งโฟร์เดอร์ที่ชื่อว่า fields แล้วก็สร้างไฟร์ php ที่ให้ชื่อว่า productcategoryoption.php
โค้ดในไฟล์ productcategoryoption.php

Code: Select all

<?php

defined('JPATH_BASE') or die;

JFormHelper::loadFieldClass('list');


class JFormFieldProductCategoryOption extends JFormFieldList
{

	protected $type = 'productcategoryoption';

	protected function getOptions()
	{
    $lang_tag = \Joomla\CMS\Factory::getLanguage()->getTag();
    $db = joomla\CMS\Factory::getDbo();
				$query = $db->getQuery(true)
				->select($db->qn('name_'.$lang_tag).' As text, category_id As value')
				->from('#__mzc_categories');
		$db->setQuery($query);
		$options = $db->loadObjectList();

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

}

จากนั้นในไฟล์ .xml ก็ให้เรียกใช้โฟรเดอร์ แบบนี้

Code: Select all

				<folder>fields</folder>
เรียกใช้ field แบบนี้

Code: Select all

<field name="mooziicart_category_id"
					type="productcategoryoption"
					value_field="category_name"
					label="MOD_SPVMCOUNTDOWN_SELECT_CATEGORY"
					description="MOD_SPVMCOUNTDOWN_SELECT_CATEGORY_DESC"
				/>
ผลที่ได้
Selection_999(1214).png
Selection_999(1214).png (11.22 KiB) Viewed 229 times
ต้องไปทำตรงไหนเพิ่มเติมหรือเปล่าครับ

Re: ทำไมผมถึงดึงข้อมูลชื่อหมวดหมู่ออกมาแสดงหน้าตั้งค่า module ไม่ได้ครับ

Posted: 10/10/2019 5:52 pm
by tsukasaz
ต้องมีการ addfieldpath ในไฟล์ xml ด้วยครับ เพื่อให้มันรู้จัก field นั้น

https://docs.joomla.org/Creating_a_custom_form_field_type#Using_the_custom_field_type

Re: ทำไมผมถึงดึงข้อมูลชื่อหมวดหมู่ออกมาแสดงหน้าตั้งค่า module ไม่ได้ครับ

Posted: 10/10/2019 6:36 pm
by jamepiyawat
ทำได้แล้วครับเพราะข้ามขั้นตอนการใส่ addfieldpath ครับ ขอบคุณครับ