Thêm thanh công cụ mặc định của j Joomla trong trang xem thành phần


10

Tôi đang phát triển một thành phần mvc cho cả j Joomla 2.5 và 3. Trong nhiều thành phần tôi thấy họ đã thêm các nút lệnh mặc định của j Joomla như mới, chỉnh sửa, xuất bản, thùng rác, tùy chọn ở đầu trang cài đặt của họ ở phía quản trị viên. Ví dụ. Nếu ai đi vào các thành phần-> liên kết web-> trang liên kết, tôi đang nói về các nút lệnh ở trên cùng bên phải.

Vậy làm cách nào để thêm các nút lệnh đó trong trang cài đặt của thành phần? Khi nhấp vào, nó sẽ thực hiện hành động tương ứng và hiển thị chế độ xem tương ứng. Ví dụ: nếu tôi nhấp vào nút "mới", nó sẽ hiển thị chế độ xem thêm mục nhập thành phần mvc của tôi.

Vì vậy, làm thế nào tôi có thể thêm các nút lệnh j Joomla hoàn toàn khả thi trong trang cài đặt thành phần của tôi ở phía quản trị viên.

Câu trả lời:


12

Cách thực hành tốt nhất là tạo addToolBar()phương thức bên trong lớp View của bạn và sau đó sử dụng JToolBarHelperlớp để tạo các nút lệnh:

protected function addToolBar()
{
  JToolBarHelper::addNew('yourcontroller.add');
  JToolBarHelper::editList('yourcontroller.edit');
}

Vì vậy, những thứ này sẽ gọi tác vụ / chức năng là "thêm" / "chỉnh sửa" trong bộ điều khiển được chỉ định của bạn. Sau đó, chỉ cần gọi $this->addToolBar()trong display()phương thức View của bạn .

Tham khảo Tạo thanh công cụ cho thành phần của bạn


Tôi chỉ có một tệp điều khiển tệp function add() { JRequest::setVar('view', 'entry'); JRequest::setVar('layout', 'form'); parent::display(); }tin.php sau đó nút mới xuất hiện nhưng khi nhấp vào, nó không chuyển đến dạng xem của tôi thay vào đó thêm # vào url
dev-m

Cố gắng bỏ qua controller.task-JToolBarHelper::addNewX();
Dmitry Rekun

Chỉ thêm JToolBarHelper :: addNewX (); nhưng không hoạt động.
dev-m

Sau đó, bạn cần tạo một bộ điều khiển thích hợp trong controllersthư mục. Xem Thêm hành động phụ trợ
Dmitry Rekun

5

Bạn cần đảm bảo chế độ xem hiển thị các nút có biểu mẫu để gửi. Tên biểu mẫu phải là adminForm. Biểu mẫu cũng phải có một trường ẩn tên tác vụ và mã thông báo được tạo động. Tôi không thể nhớ lại API khỏi đỉnh đầu của mình, nhưng đại loại như JHtml::_('form.token');(ai đó vui lòng sửa lỗi này, nếu tôi nhầm)

Điều này làm các mẹo.


Vấn đề tôi phát hiện ra trước đây là tôi đã sử dụng tên biểu mẫu là adminform thay vì adminForm.it có vẻ như là trường hợp nhạy cảm của j Joomla!
dev-m

Đó là một điều JavaScript hơn là cụ thể Joomla. Khi bạn bấm vào các nút, bạn thực sự đang kích hoạt chức năng biểu mẫu gửi JS, vì vậy nếu không thể tìm thấy biểu mẫu thì nó lặng lẽ thất bại.
Mathew Lenning
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.