Для публикации записи в раскладке компонента используется класс HTML Grids
<td> <?php echo JHTML::_( 'grid.published', $item, $i, $img1 = 'tick.png', $img0 = 'publish_x.png', $prefix='jdvimageslists.' ); ?> </td>
$prefix='jdvimageslists.'
этот параметр указывает на нужный контролер
Для контролера используется класс
jimport('joomla.application.component.controlleradmin');
/**
* Jdvimagesliss Controller
*/
class JdvimageslistControllerJdvimageslists extends JControllerAdmin
{
}
В этом классе есть фугкция published, которая вызывает метод publish в одноименной модели.
Добавляем метод publish в файл модели.
function publish()
{
$db = JFactory::getDBO();
$cid = JRequest::getVar( 'cid', array(0), 'post', 'array' );
$task = JRequest::getCmd( 'task' );
$publish = ($task == 'publish');
$n = count( $cid );
if ($n) {
JArrayHelper::toInteger($cid);
$cids = implode( ',', $cid );
$query = 'UPDATE #__jdvimageslist'
. ' SET published = ' . (int) $publish
. ' WHERE id IN ( '.$cids.' )'
;
$this->_db->setQuery( $query );
if (!$this->_db->query()) {
$this->setError($this->_db->getErrorMsg());
return false;
}
}
$this->count = $n;
return true;
}