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

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

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

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

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

Post by Patipat » 12/09/2019 2:19 pm

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

Code: Select all

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

Code: Select all

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

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10495
Joined: 18/04/2012 9:39 am

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

Post by 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
Posts: 996
Joined: 10/06/2019 10:12 am

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

Post by Patipat » 12/09/2019 3:04 pm

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

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10495
Joined: 18/04/2012 9:39 am

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

Post by tsukasaz » 12/09/2019 3:05 pm

Patipat wrote:ก็คือ ย้ายโค้ดที่สร้างมาใหม่ จาก 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
Posts: 996
Joined: 10/06/2019 10:12 am

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

Post by Patipat » 12/09/2019 3:07 pm

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

Code: Select all

<?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. :)

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10495
Joined: 18/04/2012 9:39 am

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

Post by 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
Posts: 996
Joined: 10/06/2019 10:12 am

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

Post by Patipat » 12/09/2019 3:27 pm

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

Post Reply

Return to “Joomla Development”

Who is online

Users browsing this forum: No registered users and 8 guests