it-swarm-vi.com

Tôi nên sử dụng view.raw.php đúng cách

Tôi đang cố gắng thêm nút JToolbar tùy chỉnh vào chế độ xem danh sách của mình để xuất nội dung danh sách sang Excel. Tôi đã tạo một tác vụ mới trong trình điều khiển danh sách của mình để hiển thị lớp khung nhìn thô trong một tệp có tên là view.raw.php. Tuy nhiên tôi không thể lấy nội dung để tải dữ liệu thô.

Tôi đã sao chép mã bộ điều khiển có liên quan từ bộ điều khiển com_banners track.raw.php

Phương pháp điều khiển:

public function exportToExcel()
{
    // Get the document object.
    $document   = JFactory::getDocument();
    $vName      = 'Mylist';
    $vFormat    = 'raw';

    // Get and render the view.
    if ($view = $this->getView($vName, $vFormat))
    {
        // Get the model for the view.
        $model = $this->getModel($vName);

        // Push the model into the view (as default).
        $view->setModel($model, true);

        // Push document object into the view.
        $view->document = $document;

        $view->display();
    }
}

Và một phương thức hiển thị thử nghiệm đơn giản trong tệp view.raw.php của tôi:

public function display($tpl = null)
{
   echo "Test";
}

Điều này sẽ hiển thị "Kiểm tra" nhưng cũng tải mẫu.

Tôi đã thử sử dụng $document->setType('Raw') nhưng điều này mang lại cho tôi

Không thể tải lớp kết xuất

lỗi.

Lý do cho điều này là nó đang tìm kiếm

thư viện/j Joomla/document/raw/renderer/Module.php

mà không tồn tại.

Có lẽ tôi đang đi sai hướng này nhưng làm thế nào để làm điều này một cách chính xác?

7
doovers

Bạn cần chỉ định loại tài liệu trong lệnh gọi URL bằng format=raw. Joomla sau đó sẽ tự động tải view.raw.php tập tin. Bạn thậm chí không cần một bộ điều khiển đặc biệt cho điều đó.

Để tạo nút thanh công cụ, bạn có thể sử dụng:

    $bar = JToolBar::getInstance('toolbar');
    $bar->appendButton('Custom', '<button onclick="window.location.href = \'http://www.google.com\';">Export</button>', 'export');
5
Bakual