Tôi chỉ cần làm theo các hướng dẫn joomla về cách tạo thành phần "hoàn hảo" MVC Joomla. Tuy nhiên, vấn đề của tôi là tôi chưa biết cách gán nó vào một menu. Tôi nghĩ rằng thành phần của tôi sau đó sẽ chỉ hiển thị khi tôi chọn một "loại mục trình đơn", nhưng thành phần của tôi không có trong danh sách này. Tôi đã thực hiện một số nghiên cứu trên Google, nhưng tôi không thể tìm thấy câu trả lời ... Tôi có phải tạo một tệp metadata.xml hoặc một cái gì đó tương tự không? Cảm ơn trước vì câu trả lời của bạn !!Thành phần Joomla không xuất hiện trong các loại mục trình đơn
Trả lời
Để tạo "chế độ xem" cho thành phần của bạn, bạn phải tạo một số tệp xml. Bên trong thư mục mẫu trong phần giao diện người dùng của bạn (thường là một cái gì đó như /components/com_yourcomponent/views/someview/tmpl), nếu bạn có mẫu có tên "default.php" và "form.php", bạn có thể tạo một tệp "default.xml" và tệp "form.xml" để làm cho các mục trình đơn này có sẵn từ quản trị viên. Bạn có thể xem các thành phần khác để xem cấu trúc của các tệp xml này, nhưng những gì bạn nên đặt bên trong là:
1) Tên và mô tả cho bốn chế độ xem 2) Thông số người dùng có thể để thay đổi từ quản trị viên (nó hoạt động như tham số module/plugin) 3) Bạn cũng có thể đặt biến yêu cầu "ẩn" cho mục menu đó. Điều đó có nghĩa là các vars đó sẽ được thêm vào yêu cầu trong mục menu cụ thể đó, nhưng người dùng sẽ không thể thay đổi giá trị của nó.
Dưới đây là một ví dụ hoàn chỉnh cho một thành phần (Joomla 1.7):
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_AGMTAGS_TAG_VIEW_DEFAULT_TITLE">
<message>COM_AGMTAGS_TAG_VIEW_DEFAULT_DESC</message>
</layout>
<fields name="request" addfieldpath="/administrator/components/com_agmtags/models/fields">
<fieldset name="request">
<field name="tag_id" type="agmtag"
label="COM_AGMTAGS_TAG_FIELD_NAME_LABEL"
description="COM_AGMTAGS_TAG_FIELD_NAME_DESC"
/>
</fieldset>
</fields>
<fields name="params">
<fieldset name="basic" label="COM_AGMTAGS_TAG_OPTIONS">
<field name="layout_type" type="hidden" default="blog" />
<field name="show_tag_name" type="list"
label="COM_AGMTAGS_SHOW_TAG_NAME"
description="COM_AGMTAGS_SHOW_TAG_NAME_DESC"
>
<option value="">JGLOBAL_USE_GLOBAL</option>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field name="show_tag_description" type="list"
description="COM_AGMTAGS_SHOW_TAG_DESCRIPTION_DESC"
label="COM_AGMTAGS_SHOW_TAG_DESCRIPTION_LABEL"
>
<option value="">JGLOBAL_USE_GLOBAL</option>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field name="items_per_page" type="text" default="" />
<field name="container_class" type="text" default="agmtags-list" />
</fieldset>
</fields>
</metadata>
Tôi hy vọng nó giúp!
Cảm ơn alghimo, đó là tất cả những gì tôi đã bỏ lỡ, nó bây giờ hoạt động! – ubi
Ngoài ra còn có một lần đánh bắt khác. Trong tệp XML cài đặt của thành phần, trong phần này, các thẻ phải có mặt , ngay cả khi bạn không cần trình đơn.
Nếu những được mất tích, sau đó bạn sẽ không bao giờ được đưa ra tùy chọn để thêm thành phần này với một mục trình đơn, vì loại sẽ không có mặt ở đó :-)
Nếu bạn chỉ muốn thêm chế độ xem liên kết vào danh sách tạo ra một tập tin xml gọi default.xml bên trong com_yourcomponent/views/yourviewname/tmpl/
mã xml dưới đây có hai chuỗi ngôn ngữ dùng để hiển thị liên kết mục trình đơn của bạn trong danh sách
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_YOURCOMPONENT_FRONPAGE_TITLE">
<message>COM_YOURCOMPONENT_FRONPAGE_MSG</message>
</layout>
</metadata>
lưu tệp và liên kết sẽ xuất hiện trong danh sách các mục menu
Rõ ràng, bạn cũng cần thẻ trình đơn quản trị trong tệp XML cài đặt của mình. http://forum.joomla.org/viewtopic.php?p=706714
này làm việc cho tôi
<administration>
<menu>COM_COMPONET</menu>
<submenu>
etc...
</submenu>
nghĩ đây là những gì Panayiotis đã cố gắng để nói
Thêm vào đó, tên file view thay thế của bạn PHẢI KHÔNG được viết với dấu gạch dưới.
table_catalog.xml
table_catalog.php
table_catalog_item.php
không hoạt động - không có tùy chọn mới trong danh sách "loại mục menu".Nhưng
tablecatalog.xml
tablecatalog.php
tablecatalog_item.php
tên tệp hoạt động hoàn hảo. Tôi đã mất một giờ để lộ ra một vấn đề.
- 1. chương trình joomla thành phần trong mục menu kiểu
- 2. Thành phần từ Joomla 2.5 đến Joomla 3.0
- 3. Thành phần Joomla: Đầu ra không có html
- 4. Các mục ActionBarSherlock không xuất hiện trong tràn
- 5. Làm thế nào để gọi trình đơn xây dựng lại từ thành phần front-end tùy chỉnh trong Joomla?
- 6. Ghi vào nhiều bảng trong thành phần joomla?
- 7. Overriding Joomla thành phần cốt lõi tập tin
- 8. Trình đơn CSS không xuất hiện trên flash
- 9. Xây dựng một thành phần gốc Joomla 3.x
- 10. Phím tắt trình đơn khởi động trình cài đặt Wix không xuất hiện
- 11. Kiểm tra đơn vị không xuất hiện
- 12. Tải lên tệp tin Joomla 3.0 MVC trong phần phụ trợ thành phần tùy chỉnh
- 13. Làm cách nào để tạo thành phần joomla 2.5?
- 14. Xuất bản gốc thành phần
- 15. Sự khác biệt giữa các thành phần, mô-đun, phần mở rộng và các plugin trong Joomla
- 16. Các thành phần meta được đề xuất?
- 17. Làm thế nào để trích xuất các thành viên từ bộ đơn thành viên trong python?
- 18. Cách phát hiện nội dung chưa được xuất bản trong Joomla db?
- 19. Cách hiển thị lỗi tùy chỉnh trong khi cài đặt Joomla! 1,6 - 1,7 thành phần?
- 20. JPanel removeAll không loại bỏ các thành phần trước
- 21. Trích xuất phần tử đơn từ danh sách trong F #
- 22. Chuyển đổi mẫu Joomla 2.5 thành 3.0
- 23. Mục đích bảng nội dung joomla
- 24. Cách kiểm tra xem các thành phần có xuất hiện trong danh sách chỉ một lần trong python không?
- 25. Phân loại văn bản thành các hạng mục
- 26. Loại trừ tệp theo ký tự đại diện thông qua trình đơn trình đơn Tortoise SVN
- 27. XPages Loại Không thành công khi đang tải đề xuất
- 28. Truy cập các trường trong mẫu của các thành phần bên trong các thành phần bên trong các thành phần
- 29. cách chúng ta lấy tham số mô-đun trong chế độ xem thành phần trong joomla
- 30. Làm cách nào để có thanh cuộn xuất hiện trong thành phần bìa Rally?
Bạn đã làm theo hướng dẫn nào? Phiên bản Joomla nào? – Hanny
Vâng, các hướng dẫn _official_ tôi nghĩ. Dưới đây là: [link] (http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1)! Cảm ơn đã dành thời gian trả lời tôi, nhưng tôi đã tìm thấy câu trả lời dưới đây ... – ubi