1

ほとんどの場合、hello worldチュートリアルに続く単純なコンポーネントがあり、ツールバーとリスト自体(小さな緑/赤の円)に公開/非公開アイコンを追加したことを除いて、すべてが機能します。

ツールバーアイコンは機能し、状態を問題なく変更できますが、小さなアイコンは機能しません。これが私が持っているコードです。

view.html.php:

 protected function addToolBar() 
  {
    JToolBarHelper::title(JText::_('COM_MADS_MANAGER_OBJECTS'));
    JToolBarHelper::publishList($task = 'objects.publish', $alt = 'Publish');
    JToolBarHelper::unpublishList($task = 'objects.unpublish', $alt = 'Unpublish');
    JToolBarHelper::deleteListX('', 'objects.delete');
    JToolBarHelper::editListX('object.edit');
    JToolBarHelper::addNewX('object.add');
  }

tmpl> body:

<?php
// No direct access to this file
defined('_JEXEC') or die;
?>
<?php foreach($this->items as $i => $item): ?>
  <tr class="row<?php echo $i % 2; ?>">
  <td><?php echo $item->id; ?></td>
  <td><?php echo JHtml::_('grid.id', $i, $item->id); ?></td>
  <td><a href="<?php echo JRoute::_('index.php?option=com_mads&task=object.edit&id=' . $item->id); ?>"><?php echo $item->title; ?></a></td>
  <td><?php echo $item->description; ?></td>  
  <td align="center"><?php $published = JHTML::_('grid.published', $item, $i); echo $published;?></td>
  </tr>
<?php endforeach; ?>

組み込みの公開/非公開機能を使用していますが、独自の機能を作成していません。

テーブル:

<?php
// No direct access to this file
defined('_JEXEC') or die;

jimport('joomla.database.table');

class MAdsTableObjects extends JTable
{
    var $id = null;
    var $title = null;
    var $description = null;
    var $published = 0;


  function __construct(&$db) 
  {
    parent::__construct('#__mads_objects', 'id', $db);
  }
}
?>
4

2 に答える 2

1

たくさんのFREKINHEADACHEと時間を無駄にした後、私はそれを理解しました、それは次のようになります:

<?php echo JHtml::_('jgrid.published', $item->published, $i, 'objects.',true); ?>

ここでオブジェクト。リストのビュー/コントローラー/モデルの名前です。

于 2012-08-23T20:13:27.230 に答える
-1

ステータスを保存するには、データベースに状態フィールドが必要だと思います

state   tinyint(3)

使用してみるより:

 echo JHtml::_('grid.sort',  'JSTATUS', 'a.state', $listDirn, $listOrder);
于 2012-08-20T12:29:58.463 に答える