Для публикации записи в раскладке компонента используется класс 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;
}