[2.5] Huớng Dẫn Tạo Component Hello Word Cho Joomla 2.5

Thảo luận trong 'Gói mở rộng - Extensions' bắt đầu bởi nguyenvanphuc, 3/4/13.

  1. nguyenvanphuc

    nguyenvanphuc Mới tham gia

    Bài viết:
    15
    Likes :
    8
    Khi bắt đầu tập tành vào mod xong rồi bạn sẽ nghĩ ngay đến viết 1 component cho joomla phải hông..
    Mình sẽ huớng dẫn các bạn tận tình làm 1 cái com đơn giản (huớng dẫn cho những ai chưa biết)...

    1/ Để tạo 1 cái com Hello thì mình sử dụng tất cả là 10 file (nói 10 thôi chứ sài có vài cái thôi^^)

    +) Đầu tiên tạo 1 thư mục tên com_hello:
    Tiếp theo tạo 1 file hello.php:
    PHP:
     
    defined
    '_JEXEC' ) or die( 'Restricted access' );//code bảo mật joomla
    require_once( JPATH_COMPONENT.DS.'controller.php' );//require file controller.php vào
    $controller = new HelloController();//tạo 1 đối tựong cho class HelloController
    $controller->executeJRequest::getVar'task' ));//Thực thi nhiệm vụ, có nghĩa là nó sẽ in ra trên web dòng 'Hello-World- khi nào làm xong thì bit à
    +) Tiếp theo tạo 1 file Controller.php:

    PHP:
    defined'_JEXEC' ) or die( 'Restricted access' );//code bao mat
    jimport('joomla.application.component.controller');//import vào cái class JController (có sãn trong joomla)
    class HelloController extends JController//tạo class HelloController kế thừa từ JController
    {
        function 
    display()
        {
            
    parent::display();//code này để hiển thị thông tin ra web
        
    }
    }
    +) Ta tạo 1 file index.html chèn code sau vào: (file này chẳng ảnh huởng gì nhiều)
    <html><body bgcolor="#FFFFFF"></body></html>

    +) Tạo 1 thư mục views nằm trong thư mục com_hello nhé:
    -Trong views tạo index.html như trên
    -Tiếp tạo 1 thư mục tên hello.
    - Ta cũng tạo 1 file index.html như trênbỏ vào đây.
    - Rồi tạo file view.html.php nhé chèn code này vào:

    PHP:
    defined'_JEXEC' ) or die( 'Restricted access' );//bao mat
    jimport'joomla.application.component.view');//import class JView
    class HelloViewHello extends JView//tạo clas HelloViewHello
    {
    function 
    display($tpl null)
    {
    $greeting "Hello World!";// Nội dung sẽ hiển thị ra trình duyệt
    $this->assignRef'greeting'$greeting );//dua noi dung này vao temp
    parent::display($tpl);
    }
    }
     
    Nguyễn Đức Minh and joomla like this.
  2. nguyenvanphuc

    nguyenvanphuc Mới tham gia

    Bài viết:
    15
    Likes :
    8
    Mình xin viết tiếp, viết nhiều quá nó giới hạn ko đăng trong 1 bài dc..
    +) Tiếp tạo 1 thư mục tmpl nằm trong thư mục views/hello nhé:
    -Ta lại tạo 1 file index.html.
    -Sau đó tạo file default.php , chèn code sau:
    PHP:
     
    defined('_JEXEC') or die('Restricted access');
    <h1><?php echo $this->greeting?></h1>
     
    +) à quên nữa tạo 1 file hello.xml nữa ở thư mục com_hello nha:
    PHP:
     
    <?xml version="1.0" encoding="utf-8"?>
    <install type="component" version="1.5.0">
    <name>Hello</name>
    <version>Component Version String</version>
    <description>Hiển thị dòng chữ hello world</description>
    <files folder="site">
    <filename>index.html</filename>
    <filename>hello.php</filename>
    <filename>controller.php</filename>
    <filename>views/index.html</filename>
    <filename>views/hello/index.html</filename>
    <filename>views/hello/view.html.php</filename>
    <filename>views/hello/tmpl/index.html</filename>
    <filename>views/hello/tmpl/default.php</filename>
    </files>
    <administration>
    <menu>Hello World!</menu>
    <files folder="admin">
    <filename>index.html</filename>
    <filename>admin.hello.php</filename>
    </files>
    </administration>
    </install>
     
    +) tạo 1 file admin.hello.php (ko cần cung dc) và chèn nội dung:
    <html><body bgcolor="#FFFFFF"></body></html>

    Nén file lại và install thôi.. Ai lừoi thì đây link nè down về nhé

    http: //www. mediafire .com/ ?gpiigb53h4k235g
    (nhớ bỏ khóang trắng truớc từ // , mediafire và com và dấu ?)

    Để thấy dc thì thành quả gõ link sau len trình duyệt.
    mình sài localhost...
    http://localhost/jom/index.php?option=com_hello&view=hello
     
    Nguyễn Đức Minh and joomla like this.
  3. Nguyễn Đức Minh

    Nguyễn Đức Minh Mới tham gia

    Bài viết:
    1
    Likes :
    0
  4. WebExp24h

    WebExp24h Mới tham gia

    Bài viết:
    13
    Likes :
    3

    Chào bạn , bạn có thể hưởng dẫn thêm cho mình về phần phân trang ở ngoài Font-End Được không?
    Cảm ơn bạn trước.
     
  5. nescafe

    nescafe Quanaobanbuon.com

    Bài viết:
    24
    Likes :
    0
    Cảm ơn nhiều :)
     
  6. phamtienduc

    phamtienduc Rất tâm huyết

    Bài viết:
    288
    Likes :
    362
    defined( '_JEXEC' ) or die( 'Restricted access' );
    Không cho truy cập trực tiếp trên đường link vào file đó

    $controller->execute( JRequest::getVar( 'task' ));
    Không đơn giản là in ra trên web dòng 'Hello-World- ! Nhiệm vụ của nó là để xem Controller và action nào được chạy
    Ví dụ: task là demo.test Thì controller demo trong thư mục Controllers sẽ được chạy! và sẽ tìm đến 1 function là test().

    Các bạn có thể xem cụ thể tại
    http://laptrinhjoomla.blogspot.com/ Mình thấy các clip ở đây đều làm rất chi tiết! Khi làm xong 70% bạn sẽ hiểu về MVC trong joomla

    Chúc các bạn thành công!
     
  7. khuong3012

    khuong3012 Rất tích cực

    Bài viết:
    104
    Likes :
    4
    cảm ơn bác nha
     
  8. tivanvodich

    tivanvodich Mới tham gia

    Bài viết:
    17
    Likes :
    0
    Search google ra topic này nhưng mà đọc khó hiểu quá
     
comments powered by Disqus

Chia sẻ trang này