ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

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

moomai
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 680
ลงทะเบียนเมื่อ: 07/12/2016 10:54 am

ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ
error ที่แสดงขึ้นค่ะ
Capture.PNG
Capture.PNG (11.2 KiB) Viewed 773 times
The truth is not as elegant as the idea.
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21911
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

โครงสร้างไฟล์เป็นไงครับ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
moomai
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 680
ลงทะเบียนเมื่อ: 07/12/2016 10:54 am

Re: ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

โครงสร้างไฟล์ ค่ะ

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

com_claim
- controllers
- helpers
- language
- - en-GB
- - - en-GB.com_claim.ini
- - - en-GB.com_claim.sys.ini
- models
- tables
- views
- - claim
- - - tmpl
- - - - default.php
- - - view.html.php
- controller.php
- claim.php
- claim.xml
แก้ไขล่าสุดโดย moomai เมื่อ 03/05/2017 3:22 pm, แก้ไขไปแล้ว 2 ครั้ง.
The truth is not as elegant as the idea.
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21911
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

ปัญหาที่ error คงเป็นเพราะ component กับ controller ไม่ตรงกัน

ยกตัวอย่างเช่น จากโครงสร้างไฟล์ com_myjoomla ถ้าไปเปลี่ยนชื่อเป็น com_hello แล้วไม่ได้แก้ชื่อไฟล์อื่นๆ ที่เกี่ยวข้องก็จะมีปัญหาได้

รวมทั้งชื่อของ class ภายในด้วยครับ เช่น com_hello ชื่อ class ภายใน component ส่วนใหญ่จะต้องขึ้นต้นด้วย Hello เช่นเดียวกัน
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
moomai
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 680
ลงทะเบียนเมื่อ: 07/12/2016 10:54 am

Re: ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

เปลี่ยนแล้วคะ แต้ก็ไม่หาย


ไฟล์
en-GB.com_claim.ini
en-GB.com_claim.sys.ini

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

COM_CLAIM = "MD Claim"
ไฟล์ default.php

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

My Project Claim
ไฟล์ view.html.php

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

defined('_JEXEC') or die;

class MyjoomlaViewMyjoomla extends JViewLegacy
{
        public function display($tpl = null)
        {
                parent::display($tpl);
        }
} 
ไฟล์ controller.php

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

defined('_JEXEC') or die;

class ClaimController extends JControllerLegacy
{
        
} 
ไฟล์ claim.php

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

defined('_JEXEC') or die;
JHtml::_('behavior.tabstate');

<?php

if (!JFactory::getUser()->authorise('core.manage', 'com_claim'))
{
    return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
}

$controller = JControllerLegacy::getInstance('Myjoomla');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();
ไฟล์ claim.xml

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

   
   <administration>
      <menu>com_claim</menu>
      <files folder="admin">
         <filename>controller.php</filename>
         <filename>claim.php</filename>
         <folder>controllers</folder>
         <folder>helpers</folder>
                        <folder>language</folder>
         <folder>models</folder>
         <folder>tables</folder>
         <folder>views</folder>
      </files>
   </administration>
</extension>
แก้ไขล่าสุดโดย moomai เมื่อ 03/05/2017 3:42 pm, แก้ไขไปแล้ว 1 ครั้ง.
The truth is not as elegant as the idea.
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21911
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

ไฟล์ view.html.php
ไฟล์ controller.php
ไฟล์ claim.php

ยังเห็นคำว่า Myjoomla
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
moomai
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 680
ลงทะเบียนเมื่อ: 07/12/2016 10:54 am

Re: ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

ตอนนี้แก้แล้วแต่ Error ก็ยังแสดงอยู่
ไฟล์ view.html.php

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

defined('_JEXEC') or die;

class ClaimViewMyjoomla extends JViewLegacy
{
        public function display($tpl = null)
        {
                parent::display($tpl);
        }
} 
ไฟล์ controller.php

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

defined('_JEXEC') or die;

class ClaimController extends JControllerLegacy
{
        
} 
ไฟล์ claim.php

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

defined('_JEXEC') or die;
JHtml::_('behavior.tabstate');

if (!JFactory::getUser()->authorise('core.manage', 'com_claim'))
{
    return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
}

$controller = JControllerLegacy::getInstance('Claim');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();
The truth is not as elegant as the idea.
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21911
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

ไฟล์ view.html.php

ยังเห็นคำว่า Myjoomla
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
moomai
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 680
ลงทะเบียนเมื่อ: 07/12/2016 10:54 am

Re: ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ

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

ขอบคุณค่ะ
The truth is not as elegant as the idea.
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

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