Buonasera a tutti
Sto provando a linkare ad un immagine il richiamo ad un componente passandogli un parametro:
<a href="<?php echo JRoute::_('index.php?view=category&id='.$catid, true, -1); ?>">
<img src="pathblabla.png" /></a>
Il link funziona, nel senso che vengo indirizzato alla pagina giusta (passando "catid" come parametro), solo che la vedo così:
www.miosito.bla/component/mio_componente/?view=category&id=12
e nel menu della pagina ovviamente vedo:
sei qui: HOME
Vorrei ovviamente nascondere il nome del componente dalla url e avere
il riferimento corretto nel menu.
Il router.php del componente è questo:
<?php
defined('_JEXEC') or die;
function MiocomponenteBuildRoute(&$query)
{
$segments = array();
if(isset( $query['catid'] ))
{
$segments[] = $query['catid'];
unset( $query['catid'] );
};
if( isset($query['id']) )
{
$segments[] = $query['id'];
unset( $query['id'] );
};
unset( $query['view'] );
return $segments;
}
function MiocomponenteParseRoute($segments)
{
$vars = array();
$app =& JFactory::getApplication();
$menu =& $app->getMenu();
$item =& $menu->getActive();
// Count segments
$count = count( $segments );
//Handle View and Identifier
switch( $item->query['view'] )
{
case 'categories':
if($count == 1) {
$vars['view'] = 'category';
}
if($count == 2) {
$vars['view'] = 'article';
}
$id = explode( ':', $segments[$count-1] );
$vars['id'] = (int) $id[0];
break;
case 'category':
$id = explode( ':', $segments[$count-1] );
$vars['id'] = (int) $id[0];
$vars['view'] = 'article';
break;
}
return $vars;
}
?>
Grazie come sempre in anticipo a tutti.