it-swarm-tr.com

Çöp Joomla Makalesi ön uç

Joomla 3.x için, Joomlas Frontend'deyken bir "Çöp makalesi" düğmesi ekleyen küçük bir eklenti geliştiriyorum. Aşağıdaki ekran görüntüsüne bakın.

http://imgur.com/NYLGRdY

Şimdi liste öğesini tıkladığınızda bu AJAX çağrısı var.

İşte kod:

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

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

Ve yardımcı PHP dosya.

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

Şu anda iş tecrübesi yapıyorum ve akıl hocama, makalenin durumunu nasıl çöpe atılacağımı sordum. Ve bana fonksiyonun içindeki kodu verdi ve bana bir şekilde değiştirebilmem gerektiğini söyledi, böylece kontrolör makalede bir kaydetme işlevi yürütecek.

Ben denedim ve bu şeyleri okudum ama o kadar iyi belgelenmiş gibi görünmüyor. Nasıl ilerlemem gerektiğinden emin olmadığım için herhangi bir yardım çok takdir edilecektir.

Teşekkürler.

9

Her şeyden önce isteğinizle makale kimliğini iletmeniz gerekir. Ardından durumu güncellemek için JTable sınıfını kullanabilirsiniz:

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