it-swarm-id.com

Sampah Artikel Joomla di frontend

Saya sedang mengembangkan plugin kecil untuk Joomla 3.x yang menambahkan tombol "Trash article" ketika Anda berada di Joomlas Frontend. Lihat tangkapan layar di bawah ini.

http://imgur.com/NYLGRdY

Sekarang saya punya AJAX panggilan yang terjadi ketika Anda mengklik pada item daftar.

Ini kodenya:

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

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

Dan helper PHP file.

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

Saya sekarang sedang melakukan pengalaman kerja dan saya bertanya kepada mentor saya bagaimana saya harus mengubah status artikel menjadi sampah. Dan dia memberi saya kode di dalam fungsi dan mengatakan kepada saya bahwa saya harus dapat memodifikasinya dengan cara tertentu, sehingga controller akan menjalankan fungsi save pada artikel.

Saya sudah mencoba dan membaca tentang hal-hal ini tetapi sepertinya tidak semuanya didokumentasikan dengan baik. Bantuan apa pun akan sangat dihargai karena saya tidak yakin bagaimana saya harus melanjutkan.

Terima kasih.

9

Pertama-tama Anda harus memberikan ID artikel dengan permintaan Anda. Kemudian Anda dapat menggunakan kelas JTable untuk memperbarui status:

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();
}
9
Dmitry Rekun