web-dev-qa-db-ja.com

ドロップダウンにないマネージャーボタングループにun / archiveまたはun / trashボタンを追加する方法は?

私がやろうとしているのはこれです:

enter image description here

しかし、それに失敗しています。私が使用しようとしたコードは次のとおりです。

<td class="nowrap center">
    <div class="btn-group">
        <?php echo JHtml::_('jgrid.published', $row->state, $i, 'records.', true, 'cb'); ?>
        <?php echo JHtml::_('jgrid.published', ((int) $row->state === 2 ? 1 : 2), $i, 'records.', true, true, 'cb'); ?>
        <?php echo JHtml::_('jgrid.published', ((int) $row->state === -2 ? 1 : -2), $i, 'records.', true, true, 'cb'); ?>
    </div>
</td>

そしてまた試み:

<td class="nowrap center">
    <div class="btn-group">
        <?php echo JHtml::_('jgrid.published', $row->state, $i, 'records.', true, 'cb'); ?>
        <?php echo JHtml::_('jgrid.state', JHtml::_('grid.publishedOptions'), ((int) $row->state === 2 ? 1 : 2), $i, 'records.', true, true, 'cb'); ?>
        <?php echo JHtml::_('jgrid.state', JHtml::_('grid.publishedOptions'), ((int) $row->state === -2 ? 1 : -2), $i, 'records.', true, true, 'cb'); ?>
    </div>
</td>
2
RiA

これをもう一度調査する必要があり、私は解決策を見つけたようです。

以下の例でjgrid.publishedを使用してレンダリングされた公開ボタンと同じです。

<?php echo JHtml::_('jgrid.published', $row->state, $i, 'myitems.', true, 'cb', $row->publish_up, $row->publish_down); ?>

代わりに、より汎用的なjgrid.actionレンダーを使用してください。これは、joomlaライブラリで次のように定義されています。

public static function action($i, $task, $prefix = '', $text = '', $active_title = '', $inactive_title = '', $tip = false, $active_class = '',
    $inactive_class = '', $enabled = true, $translate = true, $checkbox = 'cb')

jgrid.publishedとは異なり、このレンダラーは単一の固定タスクを持つボタンを作成します。これは状態を認識しません。つまり、現在の状態に基づいてタスクを自動的に割り当てることはできません。ただし、if-elseコードラッパーを使用して、表示するボタンを制御することにより、常にその動作を模倣できます。

2
RiA