วิธีการเรียกใช้ตัวแปร 2 ตัว หรือมากกว่าหนึ่งตัวใน Function

แชร์ ความรู้ในการ พัฒนา Joomla Component Extension Module Plugin

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

User avatar
Patipat
PHP Super Hero Member
PHP Super Hero Member
Posts: 996
Joined: 10/06/2019 10:12 am

วิธีการเรียกใช้ตัวแปร 2 ตัว หรือมากกว่าหนึ่งตัวใน Function

Postby Patipat » 24/07/2019 6:00 pm

ผมได้สร้าง Field ของ Joomla มาใช้งานกับหน้าตั้งค่าตัวหนึ่ง Field คืออะไรอ่านเพิมเติมกันได้ที่ Field Joomlaแต่ว่าไม่สามารถใช้งานได้ เพราะว่า เรียกใช้ตัวแปรไม่ถูกเพราะการเรียกใช้ตัวแปรในฟังก์ชัน ก็ต้องเพิ่ม ตัวแปรไปอีกตัวหนึ่งใน function เพื่อจะนำไปใช้งานใน function ได้ ในบทความนี้จะนำเสนอวิธีการ นำตัวแปรอีกตัวแปรหนึ่งจาก Field ไปใช้งานใน Function นะครับ

ส่วนนี้จะเป็น ฟิลที่ผมสร้างใหม่เราจะนำ name ไปใช้งานนะครับ

Code: Select all


 
<fields name="params"><field name="defindproduct" type="number" default="" label="MOD_MZC_PRODUCTS_SLIDES_SHOW_DEFIND_PRODUCT" description="" size="5" /</fieldset>
 </fields>
 

ผลลัพธ์ในการสร้าง Field จะได้
Selection_999(399).png
Selection_999(399).png (1.88 KiB) Viewed 80 times


ให้เรา ใช้ฟังก์ชันนี้ เราจะดึงค่าที่เรากรอกข้อมูลไปใช้งาน ข้อมูลของเราคือ 7

Code: Select all

$limitproduct = $params->get('defindproduct'); 


เวลานำไปใช้งาน ถ้าเรามีตัวแปรอยู่หนึ่งตัวแล้ว ก็ให้เราเติม , แล้วใส่ตัวแปรตัวใหม่ที่เราทำมานะครับ อ่านเพิ่มเติมในคอมเม้นโค้ดได้ครับ

Code: Select all

$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 ค่านะครับ             


ในฟังก์ชัน ก็ ดูตรงชื่อฟังก์ชันของเรานะครับ แล้วก็ดูที่ตัวแปรเดม เติม , ใส่ได้เลยนะครับ หลังจากนั้นก็นำไปใช้ใน Function ได้เลยครับผม

Code: Select all

public function newItem($setid,$limitproduct) // ตัวแปรเดิมคือ $setid ตัวแปรใหม่คือ $limitproduct          


อย่างผม ผมใช้ รับค่า จาก Field หนึ่งมาใช้งาน คือ $setid และ $limitproducts ดูได้ในคอมเม้นโค้ดเลยครับ

Code: Select all

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;
        }


*อาจจะเป็นความรู้ในส่วนหนึ่งของการใช้งานตัวแปร ที่มีมากกว่า 1 ตัวนะครับ
If you fall, let you stand. :)

Return to “Joomla Developing Knowledge”

Who is online

Users browsing this forum: No registered users and 4 guests