Създавам прост формуляр за изпращане в изгледа на моя компонент. Ето настройката:
<?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