Lập trình Joomla! 2.5 (Phần 2)

Ở phần này chúng ta sẽ tiếp cận đến code của phiên bản 2.5. Do có nhiều sự thay đổi có thể làm chúng ta bỡ ngỡ nên việc code sẽ thực hiện trên tinh thần copy / paste và từ từ phân tích code sâu hơn. Các bạn cứ làm theo hướng dẫn rồi dần dần mọi việc cũng đâu vào đấy
Phần 1:



Phần 2:

31 comments:

  1. Anh cho em hỏi chút. ở trong view.html.php
    có hàm $this->get('Items'); hàm này thực hiện nhiệm vụ gì ạ?
    Thank's.!

    ReplyDelete
    Replies
    1. Hàm này lấy về danh sách record tương ứng với query trong modellist

      Delete
    2. anh cho em hỏi khi muốn thay đổi các record trong modellist thì viết như thế nào ạ?
      cảm ơn anh nhiều ạ.

      Delete
    3. Record lấy từ hàm getListQuery trong modellist. Chỉ cần thay đổi câu query trong hàm này là được

      Delete
  2. Có phải 2 giá trị Items, Pagination được lấy hàm getItems() và getPagination() trong class Modellist không ạ? Nhưng em vẫn chưa hiểu được nguyên lý hoạt động của $this->get('Items'); và $this->get('Pagination'); mong anh giải thích giúp em.

    ReplyDelete
    Replies
    1. Hàm get lấy từ class JView. Hàm này gán tiền tố 'get' với giá trị truyền vào: vd: $this->get('Items') thì nó sẽ kiểm tra trong model tương ứng (lúc này là modellist) có hàm nào có tên 'getItems' (gán get với Items thành getItems) hay không, nếu có thì return function đó còn không thì return thuộc tính biến

      Delete
    2. Anh hướng dẫn giúp em phần Sắp xếp các trường theo thứ tự tăng hoặc giảm với ạ. Phần này em thấy không giống trong phiên bản 1.5.
      Cảm ơn anh.!

      Delete
  3. Anh có thể share dùm em cái com jdump được không,cảm ơn anh nhiều

    ReplyDelete
    Replies
    1. Bạn vào : http://extensions.joomla.org/extensions
      gõ từ khóa jdump là được

      Delete
  4. anh ơi e bị lỗi "500 - An error has occurred.
    View not found [name, type, prefix]: hellos, html, hellosView" là sao a?

    ReplyDelete
  5. Trong phần Lập trình Module cho Joomla 2.5, mình muốn cho hiển thị một bức ảnh trong phần Basic Options thì phải làm thế nào bạn. Vì nội dung phần này là do XML quyết định. Mình đang bí chỗ này, mong bạn sớm hồi âm. Thanks...

    ReplyDelete
    Replies
    1. Trong xml bạn dùng: <field name="myimage" type="imagelist" default="" label="Select an image" description="" directory="" exclude="" stripext="" />

      Trong module bạn lấy ảnh bằng biến $params->get('myimage');

      Delete
    2. Cám ơn Admin đã trả lời, nhưng ý của mình là mình muốn hiển thị một bức ảnh có sẵn ngay trong phần Basic Options luôn đó bạn. Như kiểu một cái Logo hay một cái Banner "Đóng dấu bản quyền" ngay trong chính phần Basic Options của Module mà không phải là phần hiển thị bên ngoài Site đâu à.

      Delete
  6. Anh cho em hỏi chút. Em đã làm như anh rồi nhưng đến khi chạy thử thì nó báo như thế này
    Fatal error: Class 'QuanLyHelper' not found in C:\xampp\htdocs\task\administrator\components\com_quanly\controller.php on line 14

    em đang phải làm một bài test viết component để quản lý lớp học và học sinh. Mong anh trả lời nhanh cho em cái cảm ơn anh trước

    ReplyDelete
    Replies
    1. Không tìm thấy lớp QuanLyHelper, bạn đã require class này vào controller chưa ?

      Delete
  7. Viết tiếp đi bạn, phần FontEnd thì sao nhỉ

    ReplyDelete
  8. Anh ơi, của em làm theo gần xong video thứ nhất.

    Khi kích vào status để thay đổi status thì gặp phải lỗi này:

    Fatal error: Call to undefined method HellosModelHellos::publish() in C:\AppServ\www\newis\libraries\joomla\application\component\controlleradmin.php on line 190

    Lỗi này là gì vậy anh

    ReplyDelete
  9. Admin ơi, bạn có thể cho mình xin cái mail để mình gửi qua cho bạn 1 cái Template JoomlArt. Bạn xem giùm mình cách thêm một vị trí mới vào Tem này cái. Nó sử dụng Framework để build Layout nên mình hiện đang bí chỗ này. Mong bạn chỉ giùm cái. Phiên bản 2.5 bạn nhé. Cám ơn nhiều!

    ReplyDelete
  10. Anh addmin oi! Em làm và cài đặt ra thì nó biến thành component com_comhello là thế nào anh nhỉ? administrator/index.php?option=com_comhello
    Không hiểu luôn, em làm giống như trong video anh ah!

    ReplyDelete
    Replies
    1. Bạn kiểm tra lại file cấu hình xml, xem có chỗ nào đặt tên là com_comhello hay ko ?

      Delete
  11. admin ơi sao ko dạy lập trình joomla 3.x đi

    ReplyDelete
  12. anh cho em hỏi, hình như có sử dụng netbeans phải không?
    anh có thể chỉ em cách sử dụng được k? em thử cài rồi nhưng không làm giống như trên video đc
    cám ơn anh trước

    ReplyDelete
  13. Anh Vũ ơi em làm theo clip mà nó bị lỗi này.

    "500 - An error has occurred.

    View not found [name, type, prefix]: articles, html, hellosView"

    Với lại sao cấp quyền để user nhóm manager mà em 0 thấy component trong tab component vậy anh. Anh chỉ giúp em nha

    ReplyDelete
  14. Anh Vũ ơi anh cho em xin source code component - Quản lý sản phẩm của anh đi em viết theo anh mà lỗi nhiều quá. Em cám ơn anh.

    ReplyDelete
  15. Cám ơn bài viết của anh.
    Em đang tự học lập trình Joomla 2.5.
    Em đã làm thử như hướng dẫn của anh để tạo com_hello và đóng gói nhưng thử nhiều lần đều bị lỗi: can not load xml...
    Anh có thể gửi file zip com hello đã đóng gói cho em để em tham khảo và tiếp tục học phần sau không? cám ơn anh.

    ReplyDelete
  16. Chào anh anh cho em hỏi 1 cái này,
    khi mình tạo component chạy ổn rồi, nhưng làm thế nào để thiết lập 1 cái menu cho cái component đó, giống như chức năng của các com khác.
    Hoặc có cách nào để hiển thị ra front-end đc không anh?

    ReplyDelete
  17. mình đã làm đến mức cuối cùng rồi... :D rất vui nhưng lại bắt gặp 1 lỗi như sau khi mình thêm câu
    input type="hidden" name="task">
    php echo JHtml::_('form.token'); >
    như bạn làm thì mình bị lỗi...
    khi nhấn vào các nút save, hoặc cancel hoặc nút khác thì tự động link mình đang như thế này
    http://localhost/joomla2.5.1/administrator/index.php?option=com_hellos&view=hello&layout=edit
    thì nó trở thành như thế này và lỗi
    http://localhost/joomla2.5.1/administrator/1
    bạn biết lỗi này khồn

    ReplyDelete
  18. a cho em hỏi chỗ trong views->hellos->tmpl->default ở chỗ thay đổi trạng thái
    Html::_('jgrid.published', $item->published,...
    tại sao khi dùng $item->sate khi đã có field state như ở com_content lại không được hả anh ?

    ReplyDelete
  19. làm theo video 1 tới phút thứ 73 thì bị lỗi
    500 - An error has occurred.
    Invalid controller: name='hellos', format=''
    ai chỉ em với ạ

    ReplyDelete

Bạn phải có tài khoản Google (Gmail) hoặc các tài khoản khác (wordpress, openID,...) để có thể comment