Интерфейс JToolbar отправляет значение по клику
Я создаю компонент Joomla, и я не могу найти решение для следующего. В моем интерфейсе я использую сборку joomlas в классе JToolbar для обработки событий при клике, таких как редактирование, удаление, один.
<form action="<?php echo JRoute::_('index.php');?>" method="post"
name="termForm" id="adminForm">
<table class="stripeMe">
<tbody>
<thead>
<tr>
<th>Begriff</th>
<th>Definition</th>
<?php if ($user->authorize('com_glossary', 'edit', 'glossary', 'all')): ?><th>Published</th> <?php endif; ?>
</tr>
</thead>
<?php foreach($this->items as $i => $item): ?>
<tr>
<td>
<span class="title"><?php echo $item->tterm; ?></span>
<?php if ($user->authorize('com_glossary', 'edit', 'bearbeiten', 'all')):?>
<?php echo $this->getEdit(); ?><?php endif; ?>
</td>
<td><?php echo $item->tdefinition; ?></td>
<?php if ($user->authorize('com_glossary', 'edit', 'bearbeiten', 'all')): ?>
<td><?php echo $this->getPublished(); ?></td> <?php endif; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<div>
<input type="hidden" name="task" value="" /> <input type="hidden"
name="id" value="" onclick="submitbutton(<?php echo count( $item->id ); ?>);" /> <input type="hidden"
name="option" value="com_glossary" /> <input type="hidden"
name="controller" value="bearbeiten" />
<?php echo JHtml::_('form.token'); ?>
</div>
</form>
Я хотел бы передать идентификатор выбранной строки субконтроллеру при событии кнопки, и я действительно не знаю, как это сделать
1 ответ
Здесь у вас есть несколько полезных советов по использованию JToolbar на веб-интерфейсе http://docs.joomla.org/How_to_use_the_JToolBar_class_in_the_frontend
Я делал это однажды в прошлом, и из того, что я помню, я сделал несколько трюков, чтобы заставить это работать.
1.) Сначала удалите ввод "id" и добавьте следующий в конце вашей формы:
<input type="hidden" name="boxchecked" value="0" />
2.) Во-вторых, убедитесь, что Mootools подключен к источнику
3.) Наконец: там, где вы начали цикл foreach, после тега "tr" добавьте еще один столбец таблицы:
<td><?php echo JHTML::_('grid.id', $i, $item->id ); ?></td>
Не забудьте создать заголовок столбца в thead для этого столбца.
Эти шаги создадут флажок в первой ячейке каждой строки и позволят форме отправлять идентификатор выбранного поля с запросом.
изменить: тег tbody находится в неправильном месте, он должен быть после тега thead. Также нет смысла прикреплять события к скрытому вводу, так как они не будут вызваны
ура
Питер