Cơ chế xử lý Event trong Magento

Thảo luận trong 'Tài liệu dành cho magento' bắt đầu bởi TienDoan, 4 Tháng mười một 2013.

  1. TienDoan

    TienDoan New Member

    • Chào mọi người,theo tới tìm hiểu được thì Event (được viết trong file config.xml ) trong magento dùng để bắt sự kiện, khi client gửi yêu cầu lên server thì event xảy ra ở bước sever xử lý yêu cầu. Mọi người cho t hỏi là khi mình copi link của 1 trang web (đang xử lý sự kiện j đó) để past vào trình duyệt thì nó có qua cái Event đó ko ạ?
      C
      ảm ơn mọi người nhiều.!

    Bài viết khác cùng chuyên mục:

    hoangdungswan thích bài này.
  2. NguyenHac

    NguyenHac New Member

    Nếu nó thực thi được trong controller thì event sẽ hoạt động.
    chào bạn.
    TienDoan thích bài này.
  3. TienDoan

    TienDoan New Member

    Cảm ơn bạn, bạn có thể nói rõ hơn được không, mình vẫn chưa hiểu rõ lắm :(
  4. kennichi89

    kennichi89 Member

    Hi TienDoan,
    Nếu bạn paste 1 link của 1 trang Magento vào trình duyệt rồi chạy thì nó có chạy qua Event( nếu event đó được khai báo trong action được gọi trên link bạn paste vào).
    Trong Magento, để bắt được 1 sự kiện bạn cần phải dispatch sự kiện đó trong 1 action nào đó của Controller.
    Mình có thể nói qua 1 chút như vầy :-D :
    Khi bạn paste 1 link vào trình duyệt, ví dụ: http://demo.magentocommerce.com/index.php/catalog/product/view/id/166
    thì Magento sẽ tìm đến module có khai báo front name là 'catalog' -> sau đó tìm đến controller có tên là 'product' -> và gọi đến action là 'view'.
    Các sự kiện sẽ được dispatch trong các action đó. Nếu bạn dispatch 1 event là A trong action 'view', và bạn có bắt sự kiện này để thực hiện 1 số công việc abc xyz nào đó thì khi bạn paste link http://demo.magentocommerce.com/index.php/catalog/product/view/id/166 vào trình duyệt để chạy thì nó vẫn chạy bình thường cho đến đoạn code mà bạn dispatch ra sự kiện A. Nó sẽ dừng ở đây để thực hiện các việc abc xyz mà bạn đã tạo ra để bắt sự kiện A đó. Sau khi thực hiện xong abc xyz nó sẽ chạy tiếp các đoạn code còn lại của action 'view'.
    Chút ít kinh nghiệm mong là sẽ giúp đỡ đc bạn :p.
    TienDoan thích bài này.
  5. manhapt

    manhapt New Member

    Bạn đọc về Event Manager design pattern nhé. Trong magento nó gọi là Observer. Khi chương trình core (hoặc custom của bạn) chạy, nó ném (raise) ra 1 event, đa phần công việc bạn làm là bắt (catch) lấy event đó để sử dụng.
    TienDoan thích bài này.
  6. TienDoan

    TienDoan New Member


    Cảm ơn kennichi nhiều nhé ^^, bây giờ thì mình cũng hiểu phần nào rồi , chúc bạn một ngày vui ;)
  7. TienDoan

    TienDoan New Member

    Thanks manhapt , mình đã tìm hiểu , chúc bạn một ngày vui :)

Chia sẻ trang này