Phần 7: Cơ bản MVC component - upload hình ảnh

Mặc định Joomla! hỗ trợ tính năng upload hình ảnh và media thông qua component media (com_media), và trong thư viện filesystem vẫn có hỗ trợ class upload hình ảnh, tuy nhiên ở video clip này tôi sẽ hướng dẫn các bạn chèn phần upload hình ảnh vào input để lấy đường dẫn ảnh lưu vào cơ sở dữ liệu( tương tự như phần up ảnh trong editor).


19 comments:

  1. Hay quá, anh có thể làm luôn 1 video về đóng gói com,module,plugin,template luôn được không

    ReplyDelete
    Replies
    1. Cảm ơn bạn đã góp ý kiến, phần đóng gói sẽ up trong các video sau!

      Delete
  2. anh có thể share cái com_product của anh trong video được không, vì hình như bên ngoài front-end phải có thêm các hàm khác thì nó mới hiện ra được đúng không anh

    ReplyDelete
  3. anh cho em hỏi là nếu làm như video thì com của mình sẽ tự integration với các com khác như là jcomment,sh404sef... luôn đúng không hay là phải còn gì nữa.

    ReplyDelete
    Replies
    1. Cái đó còn tùy bạn ah!, nếu như Jcomment hổ trợ cho tất cả component thì ok, còn nếu nó chỉ dùng trên com_content thì bạn phải viết thêm tính năng comment cho component của mình. Viết thêm tính năng comment cũng khá đơn giản, bạn chỉ việc thêm một bảng comment trong database rồi tạo thêm một view comment cho component của mình là ok!

      Delete
  4. oh, cảm ơn anh nhiều. Anh làm luôn 1 video về đường dẫn thân thiện nha

    ReplyDelete
  5. anh cho em hỏi, em đã làm được hết rồi nhưng đến phần cuối viết đoạn javascript trong file popup-imagemanager.js thì em viết xong luôn rồi nhưng khi test demo thì nó không thể lấy được url vào trong ô input .Em tích hợp cái com_media này vào com_content của joomla thì không biết nó có sao không vì theo em thấy thì hình như nó bị đụng javascript thì phải. Đây là com_content của em http://www.mediafire.com/?j5cdcqf8l767hag có gì anh coi thử dùm em nha

    ReplyDelete
    Replies
    1. Bạn xem lại phần button modal, bạn phải đặt đường dẫn đến com_content chứ không phải com_media. bởi vì phần input hình ảnh nằm trong com_content chứ không phải com_media nha bạn!

      Delete
  6. ah em sửa được rồi cảm ơn anh, sao lâu quá chưa có bài mới vậy anh.

    ReplyDelete
  7. O day la anh huong dan up 1 image, nhung neu muon up 2 image tro len thi viec xu ly mang se nhu the nao ah ? neu co the anh huong dan nang cao ve phan nay thi tot qua ! thank anh nhieu !

    ReplyDelete
    Replies
    1. Nếu bạn có nhiều input để lưu image, thì mỗi input bạn chỉ việc đặc một link pick image có e_name bằng với tên mỗi input như trong hướng dẫn.

      Delete
  8. sao em làm tới chổ khi nhấn insert thì hiện đường link ra ô textbox , thì ko được. Em alert ra, nhưng mà nó cũng ko alert, e xóa hết dữ liệu trong file popup-imagemanager.js rùi chạy thử, mà nó cũng hoạt động và chochọn ,nhưng cũng ko ínsert ra link.Như vậy a có biết e sai chổ nào ko?

    ReplyDelete
    Replies
    1. Chào bạn!
      Có thể vấn đề nằm ở hàm onok, kiểm tra lại xem có sai cú pháp nào không, vì chỉ cần sai 1 lỗi nhỏ Javascript cũng không chạy. Bạn xem kỹ lại hướng dẫn trên video nhá. Còn nữa textbox của bạn phải có id bằng với e_name:
      vd: index.php?option=com_media&view=images&layout=default&tmpl=component&e_name=text
      thì textbox input phải có id="text"

      Delete
  9. A cho e hỏi, a biết lỗi này là gì ko,khi nhấn vào thêm, mà cũng ko thêm được:
    Notice: Undefined property: HelloViewHello::$id in C:\wamp\www\ngocanh\administrator\components\com_hello\views\hello\tmpl\edit.php on line 9 Call Stack #TimeMemoryFunctionLocation 10.0072387472{main}( )..\index.php:0 20.85046917688JAdministrator->dispatch( )..\index.php:67 30.91587449080JComponentHelper->renderComponent( )..\application.php:136 40.93707518960require_once( 'C:\wamp\www\ngocanh\administrator\components\com_hello\admin.hello.php' )..\helper.php:162 50.97737841808JController->execute( )..\admin.hello.php:77 60.97737841856JController->display( )..\controller.php:236 71.04708063456HelloViewHello->display( )..\controller.php:310 81.05648111728JView->display( )..\view.html.php:30 91.05648111760JView->loadTemplate( )..\view.php:192 101.08888170080include( 'C:\wamp\www\ngocanh\administrator\components\com_hello\views\hello\tmpl\edit.php' )..\view.php:564 " />

    ReplyDelete
    Replies
    1. Biến $id không được tìm thấy, bạn kiểm tra lại chi tiết xem có đánh sai hàm nào không, hoặc có thể send com của bạn qua email giophuongxa@gmail.com để tôi check thử

      Delete
  10. sao e làm y chang như clip của anh,nhưng cái e click vào pick image nó hiện ra một trang mới không hiện ra pop up như anh

    ReplyDelete
    Replies
    1. Bạn thử cho dòng JHTML::_('behavior.modal'); vào layout edit

      Delete
  11. Bạn có thể up file nén các Component và các file liên quan đc ko
    vì xem clip nhưng do là dân nghiệp dư nên nhiều đoạn code nhìn ko rõ
    có thể up lên cho mình copy về chỉnh sữa hoặc tham khảo cho dễ hơn được ko ?

    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