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

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

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

Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

ผมเรียกใช้งานฟังก์ชัน ลองดึงข้อมูลจากฐานข้อมูล แล้วหน้าเว้บไซต์แจ้งแบบนี้ครับ ไม่ทราบว่า การเรียกใช้งานฟังก์ชันถูกไหมครับ
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(); 
Kor ma di kub. :)
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21987
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

เอาโค้ดใน 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
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

ก็คือ ย้ายโค้ดที่สร้างมาใหม่ จาก helper.php มาไว้ใน php เลยใช่ไหมครับ
Kor ma di kub. :)
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21987
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

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
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

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

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

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

                
            }
        
    }

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

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

เรื่องมันซับซ้อนนะ เปลี่ยนชื่อ 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
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

อ่อ ได้แล้วครับผม
Kor ma di kub. :)
ตอบกลับโพส

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

สมาชิกกำลังดูบอร์ดนี้: Itadm และบุคลทั่วไป 45