วิธีแก้ปัญหารูปภาพ Undefined หลังติดตั้ง MD Gallery Slideshow

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

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

adinan49
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 547
ลงทะเบียนเมื่อ: 01/11/2021 9:57 am

วิธีแก้ปัญหารูปภาพ Undefined หลังติดตั้ง MD Gallery Slideshow

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

สวัสดีครับบทความนี้ผมจะมาแชร์วิธีแก้เมื่อเราเจอปัญหารูปภาพ Undefined หลังติดตั้ง MD Gallery Slideshow ซึ่งแน่นแนว่า MD Gallery Slideshow เป็นโมดูลของจูมล่าที่เกี่ยวกับการแสดงรูปภาพเป็นสไลด์ส่วนใหญ่ผู้ใช้งานจูมล่าจะทราบกันดีว่าจูมล่าเป็นระบบแบบการจัดการเนื้อหาของเว็บไซต์ หรือ Content Management System : CMS นั้นเองโดยจะมีการติดตั้ง คอมโพเน้น ปลั๊กอิน เทมเพลท และโมดูล ถ้าคุณติดตั้งไม่มีปัญหาคุณก็สามารถใช้งานได้ตามปกติ แต่ถ้าคุณติดตั้งแล้วมีปัญหารูปภาพ Undefined เหมือนกับผมเรามาดูปัญหาวิธีการแก้ได้เลย

เรามาดูส่วนของปัญหารูปภาพ Undefined หลังติดตั้ง MD Gallery Slideshow คือไม่แสดงรูปภาพในหน้าเว็บไซต์
Undefined รูปภาพ
Undefined รูปภาพ
MGallery image undifined -1.png (75.5 KiB) Viewed 571 times
ข้อความตำแหน่งที่ Error
ลองสังเกตตัวโค้ดจะเห็นว่า undefined constant MDGALLERY_URL_IMAGE ซึ่งง่ายๆเลยนะครับเว็บไซต์ไม่รู้จักตัวแปร MDGALLERY_URL_IMAGE ดังนั้นเมื่อเรารู้ถึงปัญหาแล้ว เราก็ทำการแก้ไขโดยการพิ่มโค้ดในโมดูลแต่การจะเพิ่มเราต้องไปตรวจสอบ components MD Gallery ก่อนว่ามีการประกาศตัวแปร MDGALLERY_URL_IMAGE ไหม ถ้ามีการประกาศเราแล้วเราแค่ทำการเรียกใช้งานตัวแปร MDGALLERY_URL_IMAGE ถ้าไม่มีการประกาศเราต้องทำการเพิ่มใหม่ หรือประกาศตัวแปรใหม่ไปนั้นเอง

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

<b>Warning</b>:  Use of undefined constant MDGALLERY_URL_IMAGE - assumed 'MDGALLERY_URL_IMAGE' (this will throw an Error in a future version of PHP) in <b>C:\laragon\www\tool-mt49\modules\mod_mgallery_slideshow\tmpl\default.php</b> on line <b>45</b><br />
MDGALLERY_URL_IMAGE1/Image_2.png" title=" " style="width: 100%; display: block;">
เราสามารถไปเช็คตัวแปรในไฟล์ global.php
ตำแหน่งของตัวแปรที่อยู่ โฟเดอร์จูมล่า/administrator/components/com_mdgallery/global.php
ปรากฏว่ามีตัวแปร 'MDGALLERY_URL_IMAGE ดังนั้นเราทำการเรียกใช้งานไฟล์ global.php ในโมดูล MD Gallery Slideshow
ไฟล์ global.php มีตัวแปร 'MDGALLERY_URL_IMAGE
ไฟล์ global.php มีตัวแปร 'MDGALLERY_URL_IMAGE
MD.png (80.35 KiB) Viewed 571 times
เราทำการเรียกไฟล์ global.php ในโมดูล MD Gallery Slideshow โดยเราไปเพิ่มในไฟล์ mod_mgallery_slideshow.php
ในกรณีนี้ ที่เราใช้ If คือเพื่อเช็คว่าถ้าในโมดูลไม่มีตัวแปร MDGALLERY_URL_IMAGE ทำการเรียกไฟล์ global.php เข้ามาใช้งานนั้นเอง

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

if(!defined('MDGALLERY_URL_IMAGE')){
    require_once JPATH_ROOT . '/administrator/components/com_mdgallery/global.php';
    }
เมื่อเราทำการเรียกใช้งานแล้วก็จะแสดงภาพขึ้นมาได้ขึ้นมาแล้วนั้นเอง
หน้าเว็บไซต์แสดงรูปภาพ
หน้าเว็บไซต์แสดงรูปภาพ
MD1.png (73.6 KiB) Viewed 571 times
สรุปรูปภาพ Undefined หลังติดตั้ง MD Gallery Slideshow สาเหตุเกิดจากตัวแปรที่ใช้นั้นยังไม่มีการประกาศในโมดูลทำให้ไม่แสดงรูปภาพขึ้นมา เราต้องวิเคราะห์ปัญหาเบื้องต้นก่อนนะครับว่า ปัญหาน่าจะเกิดจากอะไร ซึ่งปัญหาของผมเกิดจากการไม่มีการเรียกใช้งานไฟล์ที่ประกาศตัวแปร MDGALLERY_URL_IMAGE แล้วทำการเรียกใช้งานไฟล์ที่ประกาศตัวแปรทำให้เว็บไซต์ของผมสามารถแสดงรูปภาพได้ขึ้นมาเอง

อ้างอิง
https://www.mindphp.com/en/joomla/news-extension/6152-md-gallery-component.html
https://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/2620-joomla-cms.html
https://www.mindphp.com/forums/viewtopic.php?f=86&t=80514
https://www.mindphp.com/forums/viewtopic.php?f=79&t=37198
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

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