Thùng rác Bài viết Joomla ở frontend


9

Tôi đang phát triển một plugin nhỏ cho Joomla 3.x có thêm nút "Thùng rác" khi bạn ở trong Joomlas Frontend. Xem ảnh chụp màn hình bên dưới.

http://imgur.com/NYLGRdY

Bây giờ tôi có cuộc gọi AJAX này xảy ra khi bạn nhấp vào mục danh sách.

Đây là mã:

request = {
          "option" : "com_ajax",
          "plugin" : "deletearticle"
          "data"   : "test",
          "format" : "raw"  
};

$.ajax({
       type : "POST",
       data : request,
       success: function (response) {
           $("p:first").html("Data: " + response)
      } 
});

Và tệp PHP trợ giúp.

<?php 
 jimport('joomla.plugin.plugin');
 class plgAjaxDeletearticle extends JPlugin
 {
    function onAjaxDeletearticle()
    {
        $controller = JControllerLegacy::getInstance('Content');
        $controller->execute(JFactory::getApplication()->input->get('task'));
    }
 }

Bây giờ tôi đang làm kinh nghiệm làm việc và tôi đã hỏi người cố vấn của mình rằng tôi nên thay đổi trạng thái bài viết thành thùng rác như thế nào. Và anh ấy đưa cho tôi mã bên trong hàm và nói với tôi rằng tôi sẽ có thể sửa đổi nó theo một cách nào đó, để bộ điều khiển sẽ thực thi chức năng lưu trên bài viết.

Tôi đã thử và đọc những thứ này nhưng dường như không phải là tài liệu tốt. Bất kỳ trợ giúp sẽ được đánh giá rất cao vì tôi không chắc chắn tôi nên tiến hành như thế nào.

Cảm ơn.

Câu trả lời:


9

Trước hết bạn cần phải vượt qua ID bài viết với yêu cầu của bạn. Sau đó, bạn có thể sử dụng JTablelớp để cập nhật trạng thái:

public function onAjaxDeletearticle()
{
    // Get id from the request
    $id = JFactory::getApplication()->input->getInt('data');

    // Get the new instance of #__content table
    $table = JTable::getInstance('content');

    // Load the article data by id
    $table->load($id);

    // Set the state to 'trashed'
    $table->state = -2;

    // Store the article
    $table->store();
}
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.