#joomla #components #frontend #jtoolbar
#joomla #Компоненты #интерфейс #jtoolbar
Вопрос:
Я создаю компонент joomla и не могу найти решение для следующего. В моем интерфейсе я использую joomla, встроенную в класс 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 находится не в том месте, он должен быть после тега ad. Также нет смысла прикреплять события к скрытому вводу, поскольку они не будут запущены
Приветствия
Питер
Комментарии:
1. Да, я тоже пытался это сделать, но даже так я получаю последнее значение из цикла.