2010-06-22 10 views
5

tôi đã thực hiện một thành phần cho Joomla và nó làm việc ok với url trực tiếp: http://www.something.com/index.php?option=com_pbformchương trình joomla thành phần trong mục menu kiểu

Vấn đề là khi tôi cố gắng thêm nó trong trình đơn. Khi tôi thay đổi loại mục menu, thành phần được liệt kê, nhưng khi tôi nhấp vào nó, tôi không có chế độ xem để áp dụng cho mục menu.

Tôi có phải định cấu hình bất kỳ điều gì khác trong thành phần không?

Cảm ơn bạn!

+0

Tôi đã tìm thấy dòng này trong một trong các hướng dẫn. "Bạn cũng có thể ẩn chế độ xem bằng cách sử dụng dấu gạch dưới '_' trong tên". Tôi mất nhiều giờ trước khi tìm thấy nó. – Simon

Trả lời

2

Nếu bạn thiết lập thành phần của mình theo kiểu MVC thì bạn sẽ có cấu trúc thư mục lượt xem/bố cục trong thư mục thành phần của bạn. Mỗi chế độ xem khác nhau mà bạn có trong đó sẽ được liệt kê trong các loại menu bên dưới tên thành phần của bạn. Đây là nơi các khung nhìn có thể được chọn.

Ví dụ: trong cấu trúc thư mục thành phần của bạn, bạn có

views/view_a 
views/view_b 
views/view_c 

sau đó trong trình đơn trình đơn Joomla, bạn sẽ có những lựa chọn đó để chọn làm chế độ xem.

Nếu bạn chưa cài đặt thành phần của bạn như MVC sau đó có một cái nhìn tại hướng dẫn này về cách làm việc đó http://www.joomladevuser.com/tutorials/components

Tôi hy vọng rằng sẽ giúp! Chúc mừng

+0

có, tôi đã làm nó trong thời trang MVC, vấn đề là tôi đã không sử dụng jview, tôi đã làm một cách tiếp cận mvc từ đầu, và tôi có một thư mục với tất cả các quan điểm tôi cần. Có cách giải quyết nào cho phép tôi sử dụng cách tiếp cận này trong các loại menu không? – dbeja

+0

Tôi không chắc chắn về điều đó, nhưng tôi đoán là bạn sẽ cần phải khởi tạo (các) chế độ xem của bạn với Joomla trong bộ điều khiển của bạn để nó biết chúng đang ở đó. Kiểm tra chủ đề này (http://forum.joomla.org/viewtopic.php?f=47&t=511442) ra, nó có thể giúp bạn. – Martin

+1

ok, tôi đã làm nó khác nhau. Trong kiểu menu tôi chọn External Link và viết url thành phần (index.php? Option = com_mycomponent & template = temp1). Nhưng cảm ơn anyway cho những lời khuyên! Liên kết đầu tiên của bạn sẽ rất hữu ích trong tương lai. – dbeja

1

Bạn có thể cần tệp metadata.xml cho mỗi lượt xem của mình. Xem http://docs.joomla.org/Adding_view_layout_configuration_parameters để biết thêm chi tiết

+0

Tôi thử điều đó, nhưng vấn đề là tôi có các lớp học riêng của mình. Tôi không sử dụng các lớp xem joomla. Tôi cũng có một cách khác để tổ chức các thư mục thành phần. Có lẽ tôi cũng phải bao gồm một cái gì đó bên trong các lớp học. – dbeja

3

Thêm thành phần của bạn để bảng jos_components:

INSERT INTO jos_components (name, link, admin_menu_link, `option`) 
VALUES (
    'Greetings', 'option=com_greetings', 'option=com_greetings', 'com_greetings') 

Nếu bạn có tất cả quan điểm của bạn thiết lập một cách chính xác bạn cần phải thêm thành phần của bạn vào cơ sở dữ liệu Joomla.

Chức năng và thư mục xem phải không có dấu gạch nối hoặc dấu gạch dưới.

Tốt

  • /xem/viewone
  • /xem/viewtwo
  • /xem/viewthree

Bad

  • /xem/view_one
  • /xem/view_two
  • /xem/view_three
0

Sử dụng giải pháp đơn giản này. Bạn dự kiến ​​sẽ tìm thấy thành phần mới của bạn trong danh sách thả xuống loại mục menu, nhưng nó không có ở đó!Thay vì cố gắng để đối phó với điều đó phế liệu MVC xấu xí làm điều này:

  • chọn "bài viết đơn" từ danh sách và SAVE mục trình đơn mới của bạn
  • bây giờ mở joomla db của bạn
  • chọn _menu bảng
  • chỉnh sửa hàng thực đơn của bạn
  • thay đổi liên kết từ bài viết để index.php? option = com_yourcomponent
  • lưu và hãy nhìn vào quản lý đơn quản trị

Tôi đã di chuyển bộ sưu tập các tập lệnh Ajax/PHP Joomla 1.5 của mình thành Joomla 1.7.3 bằng cách sử dụng giải pháp này chỉ trong một ngày.

Miếng bánh.