is_published Ajax
Полезный хак, можно использовать не только для изменения статуса публиции статьи, я например заюзал ее для активации пользователей, если кому не пришло письмо для активации акка.
Для работы с AJAX используем jQuery. Для этого добавляем в
/backend/config/view.yml
следующее javascripts: [jq/jquery.pack.js]
или любой имеющуюся у вас библиотеку jQuery.
Затем в /backend/templates/layout.php добавляем такой код
Добавляем новый метод executeSwitchStatus в модуль my_module
public function executeSwitchStatus($request){ $myObject = xxxPeer::retrieveByPk($this->getRequestParameter('id')); $currentStatus = $myObject->getIsPublished(); $newStatus = ($currentStatus == 1 ? 0 : 1); $myObject->setIsPublished($newStatus); $myObject->save(); $isAjax = $request->isXmlHttpRequest(); if ($isAjax){ return $this->renderText($newStatus); } else { //do something if not AJAX }//if }//change status
Выходит нечто такое =)