Çöp Joomla Makalesi ön uçta


9

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 gerçekleşen 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 dosyası.

<?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ılacak şekilde değiştirmem gerektiğini 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.

Yanıtlar:


9

Her şeyden önce isteğinizle makale kimliğini iletmeniz gerekir. Ardından JTabledurumu güncellemek için sınıfı 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();
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.