Trash Joomla Article in frontend

Я разрабатываю небольшой плагин для 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 голосов | спросил Patric Gustafsson 30 PMpWed, 30 Apr 2014 12:28:48 +040028Wednesday 2014, 12:28:48

1 ответ


9

Прежде всего вам необходимо передать идентификатор статьи с вашим запросом. Затем вы можете использовать класс 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();
}
ответил Dmitry Rekun 30 PMpWed, 30 Apr 2014 12:49:15 +040049Wednesday 2014, 12:49:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132