Есть такая форма: Код (Text): <?php /** * @package phocaguestbook * @subpackage Views * @copyright Copyright (C) 2012 Jan Pavelka www.phoca.cz * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL */ defined('_JEXEC') or die('Restricted access'); jimport('joomla.html.html.bootstrap'); JHtml::_('behavior.keepalive'); JHtml::_('behavior.formvalidation'); JHtml::_('behavior.tooltip'); JHTML::_('behavior.modal'); // - - - - - - - - - - - // Form // - - - - - - - - - - - if ($this->params->get('show_form') == 1) : ?> <div class="well pgwell pgb_background pgb_sec_font"> <h4 class="pgb_font"><?php echo JText::_('COM_phocaguestbook_POST_MESSAGE');?></h4> <form action="<?php echo JRoute::_('index.php'); ?>" method="post" name="adminForm" id="adminForm" class="form-validate form-horizontal"> <?php if ($this->params->get('display_title_form')) : ?> <div class="control-group"> <div class="control-label"><?php echo $this->form->getLabel('title'); ?></div> <div class="controls"><?php echo $this->form->getInput('title'); if($this->params->get('hidden_field_position')==1){echo $this->form->getInput($this->params->get('hidden_field_name'));} ?></div> </div> <?php endif; if ($this->params->get('display_name_form')) :?> <div class="control-group"> <div class="control-label"><?php echo $this->form->getLabel('username'); ?></div> <div class="controls"><?php echo $this->form->getInput('username'); if($this->params->get('hidden_field_position')==2){echo $this->form->getInput($this->params->get('hidden_field_name'));} ?></div> </div> <?php endif; if ($this->params->get('display_email_form')) : ?> <div class="control-group"> <div class="control-label"><?php echo $this->form->getLabel('email'); ?></div> <div class="controls"><?php echo $this->form->getInput('email'); if($this->params->get('hidden_field_position')==3){echo $this->form->getInput($this->params->get('hidden_field_name'));} ?></div> </div> <?php endif; if ($this->params->get('display_website_form')) : ?> <div class="control-group"> <div class="control-label"><?php echo $this->form->getLabel('homesite'); ?></div> <div class="controls"><?php echo $this->form->getInput('homesite'); if($this->params->get('hidden_field_position')==4){echo $this->form->getInput($this->params->get('hidden_field_name'));} ?></div> </div> <?php endif; if ($this->params->get('display_content_form')) : ?> <div class="control-group"> <div class="control-label"><?php echo $this->form->getLabel('content'); ?></div> <div class="controls"><?php echo $this->form->getInput('content'); if($this->params->get('hidden_field_position')==5){echo $this->form->getInput($this->params->get('hidden_field_name'));} ?></div> </div> <?php endif; if ($this->params->get('enable_captcha') && $this->params->get('captcha_id') > 0) : // Set fix height because of pane slider $maxImageHeight = '';/*'style="height:100px"';*/?> <div class="control-group" <?php echo $maxImageHeight;?>> <div class="control-label"><?php echo $this->form->getLabel('captcha'); ?></div> <div class="controls"> <?php /* OWN CAPTCHA if ($this->params->get(captcha_id) == 4) { echo phocaguestbookHelperReCaptcha::recaptcha_get_html($this->params->get('recaptcha_publickey')); } else { echo phocaguestbookHelperFront::getCaptchaUrl($this->id); } //Remove because of IE6 - href="javascript:void(0)" onclick="javascript:reloadCaptcha();" ?><br /> <div class="input-append"> <?php echo $this->form->getInput('guestbook_captcha'); ?> <a href="javascript:reloadCaptcha();" title="<?php echo JText::_('COM_PHOCAGUESTBOOK_RELOAD_IMAGE');?>" class="btn hasTooltip" ><i class="icon-loop"></i></a> </div> JOOMLA CAPTCHA:*/?> <?php echo $this->form->getInput('captcha'); ?> </div> </div> <?php endif; ?> <div class="btn-toolbar"> <div class="btn-group"> <button type="submit" class="btn btn-primary" > <?php echo JText::_('COM_PHOCAGUESTBOOK_SUBMIT');?></button> </div> <div class="btn-group"> </div> </div> <?php echo $this->form->getInput('language'); ?> <input type="hidden" name="view" value="guestbook" /> <input type="hidden" name="controller" value="phocaguestbook" /> <input type="hidden" name="cid" value="<?php echo $this->guestbooks->id;?>" /> <input type="hidden" name="option" value="com_phocaguestbook" /> <input type="hidden" name="task" value="phocaguestbook.submit" /> <?php echo JHtml::_('form.token');?> </form> </div> <?php endif; //showForm ?> Как в ней сделать переадрисацию на другую страницу, после отправки формы? Заранее благодарен за ответ.
думаю нужно в controller который обрабатывает форму делать переадресацию, а не во view. для своей версии joomla посмотри в документации какую нужно вызвать функцию для переадресации
я обычно смотрю на официальном сайте joomla. Посмотри какая у тебя версия Joomla API. --- Добавлено --- Вот для API 3.6 https://api.joomla.org/cms-3/classes/JApplication.html#method_redirect Или выбери свою https://api.joomla.org/
Поставил в controllers везде где есть редирект: Код (Text): $this->setRedirect(JRoute::_('index.php', false)); Не чего не работает.
Должно работать, как ты уже делал с setRedirect Можешь ещё первый вариант из http://jdevelop.info/articles/develop-joomla/341-redirekt-s-pomoshchyu-api-joomla попробовать. Выполняется код редиректа?
@Espey куда вставить, не понятно без кода, могу только погадать, что в controller есть action который отвечает за форму и вот там в коде который отвечает за действие когда данные из формы приняты и успешно всё прошло, туда и надо вставлять
Вот компонент https://yadi.sk/d/EFQOdbmZzWQ2z Можете глянуть, а то я искал через поиск файлы с текстом action, нашел, но все равно не понял куда нужно вставить. Там в controllers c action и php комментариями не подходит. По этому не знаю куда вставлять.