Я создаю простую форму отправки в представлении моего компонента. Вот настройка:
<?php
// no direct access
defined('_JEXEC') or die;
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
$jinput = JFactory::getApplication()->input;
$newValue = $jinput->get('newValueSubmit');
?>
Вот форма, которую я создал в представлении:
<div style="position:relative; top:173px; left:357px;">
<label for="newValue" class="col-sm-2 control-label"><h1>Enter</h1></label>
</div>
<div class="form-group" style="position:relative; top:120px; height:350px; width:950px; left:450px;">
<div style="position:relative; left:120px; width:950px;>
<form class="form-horizontal" role="form" action="<?php echo JURI::current(); ?>" method="post">
<input id="newValueSubmit" name="newValueSubmit" type="text" class="form-control input-lg text-success" placeholder="Value"/>
<button id="submit" type="submit" name="submit" class="btn btn-primary btn-large">Submit</button>
</div>
</div>
</form>
</div>
<?
$data =new stdClass();
$data->id = '';
$data->request = $newValue;
JFactory::getDbo()->insertObject('#__mytable', $data);
?>
Итак, моя попытка состояла в том, чтобы пользователь ввел значение в текстовое поле, а затем щелкнул кнопку отправки, чтобы опубликовать его в результатах. Затем значение будет помещено в позицию '#__mytable'
для записи столбца newValue
. Это не работает.
Должен быть лучший способ сделать это. Нужно ли мне создавать новое представление, в которое форма направляет значения? Это может быть предпочтительнее, учитывая общую архитектуру проекта. В любом случае, как я могу получить введенное пользователем значение в базу данных?
ОБНОВЛЕНО: я обновил скрипт, чтобы включить последние предложения по изменению.
ОБНОВЛЕНО: Обновлен запрос к Jinput в связи с Joomla 3