ใช้งานฟังก์ชันแล้วขึ้นเออเร่อครับ

ถามตอบ ปัญหาการพัฒนา Extension ไม่ว่าจะเป็น Module plugin Component หรือ แม้แต่ template การปรับแต่งโค้ด Joomla ต่างๆ ทุกเวอร์ชั่น 1.5 2.5 หรือ 3.x

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

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 971
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

ใช้งานฟังก์ชันแล้วขึ้นเออเร่อครับ

โพสต์โดย Patipat » 12/09/2019 2:19 pm

ผมเรียกใช้งานฟังก์ชัน ลองดึงข้อมูลจากฐานข้อมูล แล้วหน้าเว้บไซต์แจ้งแบบนี้ครับ ไม่ทราบว่า การเรียกใช้งานฟังก์ชันถูกไหมครับ
Selection_999(1227).png


โค้ดฟังก์ชัน ที่เรียกใช้งานดึงข้อมูลใน Database โค้ดนี้อยู่ในไฟล์ helper.php

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

public function getProducts() {
                $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('#__mzc_products as b')
                             ->where('a.product_id')
                             ->leftJoin('#__mzc_products_to_categories AS a ON b.product_id = a.product_id')   
                             
->order('b.product_id DESC');
                             $db->setQuery($query);
     
                 
                $items 
= $db ->loadAssocList();
                return $items;
            



โค้ดที่ ฟังก์ชันส่งค่ามา ในไฟล์ php

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

$modSpVmCountdownHelper = new modSpVmCountdownHelper();
$get_pro = $modSpVmCountdownHelper->getProducts();
print_r($get_pro);
exit(); 
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 10144
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: ใช้งานฟังก์ชันแล้วขึ้นเออเร่อครับ

โพสต์โดย tsukasaz » 12/09/2019 2:43 pm

เอาโค้ดใน helper.php ทั้งหมดมาแปะเลย
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 971
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: ใช้งานฟังก์ชันแล้วขึ้นเออเร่อครับ

โพสต์โดย Patipat » 12/09/2019 3:04 pm

ก็คือ ย้ายโค้ดที่สร้างมาใหม่ จาก helper.php มาไว้ใน php เลยใช่ไหมครับ
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 10144
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: ใช้งานฟังก์ชันแล้วขึ้นเออเร่อครับ

โพสต์โดย tsukasaz » 12/09/2019 3:05 pm

Patipat เขียน:ก็คือ ย้ายโค้ดที่สร้างมาใหม่ จาก helper.php มาไว้ใน php เลยใช่ไหมครับ


หมายถึงเอาโค้ดมาแปะ ในกระทู้นี้ ทั้งหมด
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 971
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: ใช้งานฟังก์ชันแล้วขึ้นเออเร่อครับ

โพสต์โดย Patipat » 12/09/2019 3:07 pm

อันนี้ครับโค้ด ทั้งหมด

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


<?php
// no direct access
defined('_JEXEC') or die('Direct access not allowed');

if(
 !class_exists( 'VmConfig' ) ) require(JPATH_ADMINISTRATOR . '/components/com_virtuemart/helpers/config.php');

if(
 !class_exists( 'modSpVmCountdownHelper') ) {
    
    class modSpVmCountdownHelper 
{

        public function addtocart($product) {

            if (!VmConfig::get ('use_as_catalog', 0)) {
                $stockhandle = VmConfig::get ('stockhandle', 'none');
                if (($stockhandle == 'disableit' or $stockhandle == 'disableadd') and ($product->product_in_stock - $product->product_ordered) < 1) {
                    $button_lbl = JText::('COM_VIRTUEMART_CART_NOTIFY');
                    $button_cls = 'notify-button';
                    $button_name = 'notifycustomer';
                ?>
                <div style="display:inline-block;">
                    <a href="<?php echo JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&layout=notify&virtuemart_product_id=' . $product->virtuemart_product_id); ?>" class="notify"><?php echo JText::_ ('COM_VIRTUEMART_CART_NOTIFY') ?></a>
                </div>
                <?php
                
} else {
                ?>
                <form method="post" class="product" action="index.php">
                    <input type="hidden" class="quantity-input" name="quantity[]" value="1"/>
                    <?php
                        
// Add the button
                        $button_lbl = JText::('COM_VIRTUEMART_CART_ADD_TO');
                        $button_cls = ''; //$button_cls = 'addtocart_button';
                    ?>
                    <input type="submit" name="addtocart" class="addtocart-button btn btn-primary" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>">
                    <input type="hidden" class="pname" value="<?php echo $product->product_name ?>"/>
                     <?php print_r($product->product_name); exit();?>
                    <input type="hidden" name="option" value="com_virtuemart"/>
                    <input type="hidden" name="view" value="cart"/>
                    <noscript><input type="hidden" name="task" value="add"/></noscript>
                    <input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>"/>
                    <input type="hidden" name="virtuemart_category_id[]" value="<?php echo $product->virtuemart_category_id ?>"/>
                </form>
                <?php
                
}
            }
        }
    

            public function getProducts
() {
                $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('#__mzc_products as b')
                             ->where('a.product_id')
                             ->leftJoin('#__mzc_products_to_categories AS a ON b.product_id = a.product_id')   
                             
->order('b.product_id DESC');
                             $db->setQuery($query);
     
                 
                $items 
= $db ->loadAssocList();
                return $items;

                
            
}
        
    
}

}
If you fall, let you stand. :)

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 10144
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: ใช้งานฟังก์ชันแล้วขึ้นเออเร่อครับ

โพสต์โดย tsukasaz » 12/09/2019 3:22 pm

เรื่องมันซับซ้อนนะ เปลี่ยนชื่อ class หน่อยครับ ถ้าเป็นของ mooziicart ต้องมี mzc นะครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

ภาพประจำตัวสมาชิก
Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 971
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

Re: ใช้งานฟังก์ชันแล้วขึ้นเออเร่อครับ

โพสต์โดย Patipat » 12/09/2019 3:27 pm

อ่อ ได้แล้วครับผม
If you fall, let you stand. :)


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 7 และ บุคคลทั่วไป 0 ท่าน