บทความถังขยะ Joomla ในส่วนหน้า


9

ฉันกำลังพัฒนาปลั๊กอินขนาดเล็กสำหรับ Joomla 3.x ที่เพิ่มปุ่ม "บทความถังขยะ" เมื่อคุณอยู่ใน Joomlas Frontend ดูภาพหน้าจอด้านล่าง

http://imgur.com/NYLGRdY

ตอนนี้ฉันมีการโทร AJAX ที่เกิดขึ้นเมื่อคุณคลิกที่รายการ

นี่คือรหัส:

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

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

และไฟล์ PHP ตัวช่วย

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

ตอนนี้ฉันกำลังทำประสบการณ์การทำงานและฉันถามที่ปรึกษาของฉันว่าฉันควรเปลี่ยนสถานะบทความเป็นถังขยะได้อย่างไร และเขาให้รหัสฉันภายในฟังก์ชั่นและบอกฉันว่าฉันควรจะสามารถแก้ไขได้ในทางใดทางหนึ่งเพื่อให้ตัวควบคุมจะดำเนินการฟังก์ชั่นการบันทึกในบทความ

ฉันได้ลองและอ่านสิ่งนี้แล้ว แต่ดูเหมือนจะไม่ใช่เอกสารที่ดีทั้งหมด ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมากเนื่องจากฉันไม่แน่ใจว่าฉันควรดำเนินการอย่างไร

ขอบคุณ

คำตอบ:


9

ก่อนอื่นคุณต้องผ่าน ID บทความด้วยคำขอของคุณ จากนั้นคุณสามารถใช้JTableคลาสเพื่ออัพเดตสถานะ:

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();
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.