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

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

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

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

by jamepiyawat » 10/10/2019 6:36 pm

ทำได้แล้วครับเพราะข้ามขั้นตอนการใส่ addfieldpath ครับ ขอบคุณครับ

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

by tsukasaz » 10/10/2019 5:52 pm

ต้องมีการ addfieldpath ในไฟล์ xml ด้วยครับ เพื่อให้มันรู้จัก field นั้น

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

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

by jamepiyawat » 10/10/2019 3:46 pm

พอดีว่าผมต้องทำการดึงชื่อหมวดหมู่ออกมาแสดงในหน้าตั้งค่า 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 193 times
ต้องไปทำตรงไหนเพิ่มเติมหรือเปล่าครับ

Top