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

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

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

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

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

 <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 463 times
ให้เรา ใช้ฟังก์ชันนี้ เราจะดึงค่าที่เรากรอกข้อมูลไปใช้งาน ข้อมูลของเราคือ 7

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

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

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

public function newItem($setid,$limitproduct) // ตัวแปรเดิมคือ $setid ตัวแปรใหม่คือ $limitproduct          
อย่างผม ผมใช้ รับค่า จาก Field หนึ่งมาใช้งาน คือ $setid และ $limitproducts ดูได้ในคอมเม้นโค้ดเลยครับ

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

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 ตัวนะครับ