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

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

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

moomai
PHP Super Hero Member
PHP Super Hero Member
Posts: 680
Joined: 07/12/2016 10:54 am

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

Post by moomai »

ติดตั้ง Components ที่สร้างขึ้นเอง แล้วขึ้น Error เป็นเพราะอะไรคะ
error ที่แสดงขึ้นค่ะ
Capture.PNG
Capture.PNG (11.2 KiB) Viewed 332 times
The truth is not as elegant as the idea.
User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 12616
Joined: 18/04/2012 9:39 am

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

Post by 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
Posts: 680
Joined: 07/12/2016 10:54 am

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

Post by moomai »

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

Code: Select all

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
Last edited by moomai on 03/05/2017 3:22 pm, edited 2 times in total.
The truth is not as elegant as the idea.
User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 12616
Joined: 18/04/2012 9:39 am

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

Post by 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
Posts: 680
Joined: 07/12/2016 10:54 am

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

Post by moomai »

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


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

Code: Select all

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

Code: Select all

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

Code: Select all

defined('_JEXEC') or die;

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

Code: Select all

defined('_JEXEC') or die;

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

Code: Select all

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

Code: Select all

   
   <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>
Last edited by moomai on 03/05/2017 3:42 pm, edited 1 time in total.
The truth is not as elegant as the idea.
User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 12616
Joined: 18/04/2012 9:39 am

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

Post by 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
Posts: 680
Joined: 07/12/2016 10:54 am

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

Post by moomai »

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

Code: Select all

defined('_JEXEC') or die;

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

Code: Select all

defined('_JEXEC') or die;

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

Code: Select all

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.
User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 12616
Joined: 18/04/2012 9:39 am

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

Post by tsukasaz »

ไฟล์ view.html.php

ยังเห็นคำว่า Myjoomla
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Joomla Development”

Who is online

Users browsing this forum: No registered users and 3 guests