วิธีการเรียกใช้ตัวแปร 2 ตัว หรือมากกว่าหนึ่งตัวใน Function
โพสต์แล้ว: 24/07/2019 6:00 pm
ผมได้สร้าง Field ของ Joomla มาใช้งานกับหน้าตั้งค่าตัวหนึ่ง Field คืออะไรอ่านเพิมเติมกันได้ที่ Field Joomlaแต่ว่าไม่สามารถใช้งานได้ เพราะว่า เรียกใช้ตัวแปรไม่ถูกเพราะการเรียกใช้ตัวแปรในฟังก์ชัน ก็ต้องเพิ่ม ตัวแปรไปอีกตัวหนึ่งใน function เพื่อจะนำไปใช้งานใน function ได้ ในบทความนี้จะนำเสนอวิธีการ นำตัวแปรอีกตัวแปรหนึ่งจาก Field ไปใช้งานใน Function นะครับ
ส่วนนี้จะเป็น ฟิลที่ผมสร้างใหม่เราจะนำ name ไปใช้งานนะครับ
ผลลัพธ์ในการสร้าง Field จะได้
ให้เรา ใช้ฟังก์ชันนี้ เราจะดึงค่าที่เรากรอกข้อมูลไปใช้งาน ข้อมูลของเราคือ 7
เวลานำไปใช้งาน ถ้าเรามีตัวแปรอยู่หนึ่งตัวแล้ว ก็ให้เราเติม , แล้วใส่ตัวแปรตัวใหม่ที่เราทำมานะครับ อ่านเพิ่มเติมในคอมเม้นโค้ดได้ครับ
ในฟังก์ชัน ก็ ดูตรงชื่อฟังก์ชันของเรานะครับ แล้วก็ดูที่ตัวแปรเดม เติม , ใส่ได้เลยนะครับ หลังจากนั้นก็นำไปใช้ใน Function ได้เลยครับผม
อย่างผม ผมใช้ รับค่า จาก Field หนึ่งมาใช้งาน คือ $setid และ $limitproducts ดูได้ในคอมเม้นโค้ดเลยครับ
*อาจจะเป็นความรู้ในส่วนหนึ่งของการใช้งานตัวแปร ที่มีมากกว่า 1 ตัวนะครับ
ส่วนนี้จะเป็น ฟิลที่ผมสร้างใหม่เราจะนำ name ไปใช้งานนะครับ
โค้ด: เลือกทั้งหมด
<fields name="params"><field name="defindproduct" type="number" default="" label="MOD_MZC_PRODUCTS_SLIDES_SHOW_DEFIND_PRODUCT" description="" size="5" /</fieldset>
</fields>
โค้ด: เลือกทั้งหมด
$limitproduct = $params->get('defindproduct');
โค้ด: เลือกทั้งหมด
$helper_newproduct = new ModShowProductNewItem();
$product_slisdershow = $params->get('selectids'); //ตัวแปรที่มีอยู่แล้ว
$limitproduct = $params->get('defindproduct'); // ตัวแปรที่เพิ่มมาใหม่
$setid = $helper_newproduct->newItem(implode(",",$product_slisdershow),$limitproduct); // <= ตัวแปร $limitproduct จะเห็นได้ว่า เติม , แล้วใส่ตัวแปรหลังจากนั้น ฟังก์ชันจะส่งคืนค่ากลับไปยัง $helper_newproduct ทั้ง 2 ค่านะครับ
โค้ด: เลือกทั้งหมด
public function newItem($setid,$limitproduct) // ตัวแปรเดิมคือ $setid ตัวแปรใหม่คือ $limitproduct
โค้ด: เลือกทั้งหมด
public function newItem($setid,$limitproduct) //ตัวแปรที่จะต้องใช้งาน
{
$lang_tag = \Joomla\CMS\Factory::getLanguage()->getTag();
$db = Joomla\CMS\Factory::getDbo();
$query = $db ->getQuery(true)
->select('a.category_id, b.product_id, b.image ,b.product_price,'.$db->qn('b.name_'.$lang_tag))
->from('products as b')
->where('a.product_id in ('.$setid.')') //ตัวแปรที่มีอยู่แล้ว
->leftJoin('products_to_categories AS a ON b.product_id = a.product_id')
->order('product_id DESC');
$db->setQuery($query,0,$limitproduct); //ตัวแปรที่ผมสร้างมาใหม่
$items = $db ->loadAssocList();
return $items;
}