Hello joomla people,
I had similar problem (I know this is old thread).
I've mimic Khepri functionality in front end:
http://www.jlleblanc.com/option,com_fir ... 2947/#2943But JToolbar doesn't work with SEF.
It works well without SEF.
Most used button [apply, save, cancel] is likely forwarded
to the same url as edit form instead of main form.
I don't know if it is submitform request problem or the url problem.
I already made router.php as below.
Maybe submitbutton task request (post

) always replaced by router' task.
I know we don't need any data entry to be known in search engine.
And since mixing post and get is confusing,
I've decided to disable $vars['task'].
The url looks like something?task=edit&cid[]=2 ..
Everything seems to be okay,
and everything is redirected to main form.
But then apply button is still
redirected to main form instead of edit form.
I've check the mvc controller,
and trapped task after clicking apply button.
Code:
function __construct( $config = array() )
{
parent::__construct( $config );
echo 'task = JRequest::getCmd('task');
exit;
It shows nothing
Code:
task =
Am I missing something fool here?
Thank You
~epsi
---------------------
I'm using post from adminFrom.
I've check with alert(document.adminForm.task.value);
After clicking apply button, it say `alert`.
Code:
<form action="#" method="post" name="adminForm" id="adminForm">
...
<input type="hidden" name="task" value="" />
</form>
Code:
<?php
/**
* SEF target
* /component/sample/master/
* /component/sample/master/add
* /component/sample/master/edit?cid[]=3
* /component/sample/detail/3
* /component/sample/detail/3/add
* /component/sample/detail/3/edit?cid[]=6
**/
// no direct access
defined('_JEXEC') or die('Restricted access');
function PortsBuildRoute(&$query)
{
$segments = array();
if(isset($query['controller'])) // segment[0]
{
$segments[] = $query['controller'];
unset( $query['controller'] );
}
// master-id for detail, if any
if(isset($query['mid'])) // segment[1]
{
$segments[] = $query['mid'];
unset( $query['mid'] );
}
/*
if(isset($query['task'])) // segment[1]
{
$segments[] = $query['task'];
unset( $query['task'] );
}
*/
return $segments;
}
function PortsParseRoute($segments)
{
$count = count( $segments );
$vars = array();
$vars['controller'] = array_shift($segments);
if ($vars['controller']=='details')
$vars['mid'] = (int) array_shift($segments);
// $vars['task'] = array_shift($segments);
return $vars;
}
Sorry for the long story.
~epsi