
Có một khái niệm mà không ít người khi mới làm quen với Joomla thắc mắc, đó là ItemID. ItemID xuất hiện trên hầu như tất cả mọi URL thuộc một hệ thống Joomla, nó giúp Joomla quản lý dễ dàng sự xuất hiện của các module theo ý muốn. ItemID chính là một trong các thành phần quan trọng tạo nên sự khác biệt của Joomla đối với các CMS khác. Bài viết này giải thích ý nghĩa cũng như cách vận dụng của ItemID một cách đơn giản và dễ nắm bắt nhất. Nếu bạn đang trong giai đoạn đầu nghiên cứu Joomla, hãy bớt thời gian đọc bài này và cất nội dung của nó vào một góc trí nhớ, nhất định sau này sẽ dùng tới.
ItemID là gì?
ItemID đơn giản là ID (identification) của một item (mục). Và mục ở đây cụ thể là mục menu, ta gọi là Menu Item.
Mỗi Menu item đều có một ID cho riêng mình, ID này được tự động tạo ra khi có một menu item mới, ID này không trùng lặp và bắt đầu từ 1 (Menu item ID của trang chủ). Ta không thể sửa ID này trong Back-end của Joomla. Để hiểu rõ hơn Menu item được hiển thị ở đâu, ta xem hình dưới đây.

Vào Menu Manager và truy cập vào quản lý một Menu chi tiết (hình trên là Main Menu), cột cuối cùng thể hiện ID của từng Menu item. Và như ta thấy, heading name của cột đó chính là "ItemID". Ngoài ra, khi vào phần cấu hình một Menu Item chi tiết, ID của Item đó cũng được hiển thị rất rõ:

ItemID được vận dụng như thế nào?
ItemID thường xuất hiện trong thành phần URL của 1 website Joomla, ví dụ ta có URL sau:
http://misoblog.net/index.php?option=com_content&view=article&id=1003&Itemid=196
Đây là một URL dạng đơn giản nhất, thể hiện một bài viết của Joomla (thuộc Component Content), qua URL ta có thể thấy bài viết có ID là 1003, còn Itemid là 196. Vấn đề là tại sao ItemID của URL thể hiện bài viết này lại là 196?
196 chính là ID của mục Menu có tên "Joomla" (Xem hình mình hoạ về Menu Item Details phía trên). Menu này hiển thị một Section (hoặc Category) chứa các bài viết về Joomla, và bài viết có id=1003 kia thuộc Section này, do vậy URL của bài viết này được tự động gán Itemid=196 - thể hiển rằng nó được hiển thị ra khi ta đang xem mục menu số 196.
Điều này có tác dụng gì? Rất đơn giản, khi đang xem bài viết số 1003 thì mục Menu "Joomla" sẽ được coi là "Active", và tuỳ theo thiết kế CSS ra sao mà mục menu đó sẽ sáng lên, hoặc có màu sắc nổi bật, thể hiện rằng hiện tại ta đang xem bài viết tại mục menu đó.
Ngoài ra, một tác dụng rất quan trọng của Itemid chính là quản lý sự xuất hiện của các module trong website Joomla.
Ta đã biết, việc cho phép hiển thị 1 module nào đó trên một hay nhiều Menu Item được quy định trong phần Menu Assignment của Module đó:

Tại đây, ta có thể gắn 1 module với 1 hay nhiều mục Menu, tất cả các mục Menu, hay không xuất hiện tại mục Menu nào. Bản chất của việc này chính là gắn Module đó với 1 hoặc nhiều ItemID (mỗi ItemId là một mục menu).
Nhờ có việc gắn Module với các ItemID mà Joomla có thể quản lý một cách mềm dẻo sự xuất hiện của các module (hay nhóm module) khác nhau trên các mục Menu khác nhau. Ví dụ: có 2 Module cùng được assign cho mục Home như hình trên, khi load mục Home (trang chủ), Joomla sẽ chỉ cho hiển thị 2 module đó; khi ta sang các mục Menu khác, Joomla lại kiểm tra xem tại mục này có module nào được assign vào không... Cứ như vậy, ta có thể điều chỉnh một cách toàn diện và linh hoạt các thành phần module trên website theo ý muốn.
Kết luận
Hiểu rõ ItemID, ta có thể vận dụng linh hoạt trong việc quản lý URL cũng như module trong website. Đã bao giờ bạn muốn khi xem một bài viết thì một mục menu nào đó phải "active"? Nếu nó cứ nhất định không active, hãy thử kiểm tra xem Itemid trong URL của bài viết đó đã trùng với ID của mục menu mình cần chưa. Cũng như vậy, khi bạn thực hiện một website tin tức với nhiều phân mục, vận dụng Menu Assignment sẽ giúp người truy cập có những trải nghiệm thú vị và không nhàm chán với nhiều module khác nhau.
Chúc bạn thành công với Joomla.



























Comments
Phải đến 3 năm có lẻ tớ ko sờ mó gì đến Joomla & ít kiến thức học mót được cũng quên gần như sạch sẽ rồi :)
Bạn miêu tả song t cũng ko hiểu là để làm gì nữa ^^
Và cũng gặp rắc rối với Joomla trong cái ItemID này
:( Cụ tỉ là với Plugin Search khi tìm kiếm có dạng thì ra link dạng như sau:
index.php?searchword=12&ordering=&searchphrase=all&Itemid=1&option=com_search
Nếu bỏ cái ItemID đi hoặc là thay bằng giá trị 0 thì tìm kiếm được, còn lại chẳng ra kết quả gì :(
Bạn nào có thể giải thích hoặc hướng dẫn tớ bỏ Itemid trong Plugin Tìm kiếm được không?
Chân thành cảm ơn!
VD : dailydulich.com/.../...
Mình muốn thành
dailydulich.com/.../...
thì làm thế nào ?
Mong được chỉ giáo. Xin cảm ơn
"http://dailydulich.com/diem-du-lich-thai-lan/1131-phuket-thien-duong-mien-nhiet-doi.html"
mình muốn thành
"http://dailydulich.com/diem-du-lich-thai-lan/phuket-thien-duong-mien-nhiet-doi.html"
Vào đó thay đổi là xong.
Chức năng SEF mặc định của Joomla chỉ cho phép hiển thị URL như vậy, ko có tuỳ chọn thay đổi, muốn sửa phải can thiệp vào trong source code.
Bởi vậy người ta thường dùng các extension phụ trợ SEO chứ ko động vào phần code của Joomla làm gì.
Cảm ơn nhiều ^^
Mời bạn vào thám hiểm file /plugins/system/sef.php
Nhưng CAA nghĩ mỗi người có quan điểm riêng và cái nhìn riêng, giống như vừa rồi CAA chuyển sang blogger, CAA công nhận blogger là một nền tảng rất tốt nhưng CAA vẫn không thích bằng Wordpress. Chịu mất 1 ít tiền mua host cũng không sao :D
CAA rất ấn tượng với Miso's blog, tại vì trong 1 cộng đồng lớn blogger đều sử dụng Wordpress thì Miso lại dùng Joomla và vẫn giữ quan điểm riêng.
Wordpress là một nền tảng dành cho blog tốt nhất thế giới, nó ăn đứt Joomla. Trong cộng đồng blogger, Miso dùng Joomla hoàn toàn không phải vì nhận định rằng nó tốt hơn Wordpress :)
Joomla rất thích hợp cho các website thương mại, và vì thế nhiều Công ty phát triển các ứng dụng web trên nền Joomla để bán lấy tiền, nhiều lắm, và đó là một xu hướng rất mạnh mẽ đã từ lâu rồi. Ở Việt Nam hiện nay, số cty phát triển web trên nền Joomla đông đảo hơn Wordpress rất nhiều, điển hình là 2 thương hiệu nổi tiếng: JoomlArt và ZooTemplate. Còn những cá nhân xây dựng Joomla để bán các website nhỏ lẻ thì nhiều vô kể.
Miso nghiên cứu về Joomla, nên sử dụng blog bằng Joomla, vậy thôi. Trước đến nay nó vẫn đáp ứng đủ nhu cầu về blog nên Miso thấy chưa cần thiết phải chuyển sang Wordpress.
Trong trường hợp muốn đổi thì vào database mà sửa lại thôi (có thể sửa qua phpMyAdmin).
RSS feed for comments to this post