簡體   English   中英

Joomla路由器新組件

[英]Joomla router new component

我有這個網址來顯示屬性:

index.php?option=com_jea&view=properties&city=2:citta&Itemid=164

sef: sito.it/2-citta.html

該網址顯示屬性:

index.php?option=com_jea&view=property&city=2:citta&id=1:trivano&Itemid=164

使用sef: sito/1-trivano/2-citta.html

但我想

sito.it/2-citta/1-tivano.html

這是路由器:

function JeaBuildRoute(&$query){
$segments = array();

if(isset($query['view'])) {
    unset( $query['view'] );
}

if (isset($query['layout'])) {
    $segments[] = $query['layout'];
    unset( $query['layout'] );
}

if(isset($query['id'])) {
    $segments[] = $query['id'];
    unset( $query['id'] );
};
if(isset($query['city'])) {
    $segments[] = $query['city'];
    unset( $query['city'] );
};

return $segments;

function JeaParseRoute($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 'properties':
                   if($count == 1) {
                           $vars['view'] = 'properties';
                            $id   = explode( ':', $segments[$count-1] );
                            $vars['city']   = (int) $id[0];
                   }
                   if($count == 2) {
                           $vars['view'] = 'property';
                   }
                   $id = explode( ':', $segments[$count-1] );
                   $vars['id'] = (int) $id[0];
                   break;
           case 'property':
                   $id   = explode( ':', $segments[$count-1] );
                   $vars['id']   = (int) $id[0];
                   $vars['view'] = 'property';
                   break;
   }
   return $vars;}

也許您可以嘗試顛倒這兩個if的順序

   if(isset($query['city'])) {
        $segments[] = $query['city'];
        unset( $query['city'] );
    };

  if(isset($query['id'])) {
        $segments[] = $query['id'];
        unset( $query['id'] );
    };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM