目前我的网址是: - http://192.168.1.102/joomla25/index.php/component/component_name/view_name/1/info/normal
但我只想要格式: - http://192.168.1.102/joomla25/normal
使用joomla router.php文件做什么技术?请帮帮....
我的代码是:---
<?php
/**
* @version $Id: router.php 21389 2011-05-26 17:28:26Z dextercowley $
* @package Joomla.Site
* @copyright Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* @param array
* @return array
*/
function ComponentNameBuildRoute(&$query)
{
$segments = array();
if(isset($query['view']))
{
$segments[] = $query['view'];
unset($query['view']);
}
if( isset($query['id']) )
{
$segments[] = $query['id'];
unset( $query['id'] );
}
if(isset($query['tab']))
{
$segments[] = $query['tab'];
unset($query['tab']);
}
if(isset( $query['pt'] ))
{
$segments[] = $query['pt'];
unset( $query['pt'] );
}
//unset( $query['view'] );
return $segments;
}
function ComponentNameParseRoute($segments)
{
$vars = array();
$app =& JFactory::getApplication();
$menu =& $app->getMenu();
$item =& $menu->getActive();
// Count segments
$count = count( $segments );
//Handle View and Identifier
switch( $segments[0] )
{
case 'pdetails':
$vars['view'] = 'pdetails';
$id = explode(':', $segments[1]);
$tab = explode(':', $segments[2]);
$pt = explode(':', $segments[3]);
$vars['id'] = (int) $id[0];
$vars['tab'] = $tab[0];
$vars['pt'] = $pt[0];
break;
}
return $vars;
}
答案 0 :(得分:2)
我也面临着自定义开发组件的相同问题。所以我解决这个问题的方法是创建一个菜单项,然后在我用来创建链接的组件代码中,即 Jroute(),而不是给予
index.php?option=blabla&view=blabla
我做过尝试
index.php?Item=<menuitemid>.
通过这种方式,我构建了到我的组件的路由,然后在我的组件路由器的解析器中,我提到了需要的其他条件($ vars)。最重要的是我把它转移到了我的组件,所以我有自己的解析器,我可以在其中提到正确的路径。
我希望它能帮到某个人。 ;)
答案 1 :(得分:0)
在您的管理员中,单击“站点”菜单中的“全局配置”。它应该默认为“站点”选项卡,如果没有,则单击“站点”选项卡。找到搜索引擎优化设置,并确保您有搜索引擎友好的URL,使用URL重写,添加后缀到URL全部打开(设置为是)。然后,您需要在Joomla根目录中找到文件htaccess.txt,并将其重命名为.htaccess
。应修复您的网址。
答案 2 :(得分:-1)
我会使用扩展名,例如sh404sef或任何其他SEF扩展名。
答案 3 :(得分:-1)
当您需要升级Joomla版本时,您的老板会怎么说?您的所有修改都将丢失,您将不得不重新创建所有修改。
只需使用像sh404sef这样的SEF组件或在你的htaccess中插入一行代码就可以获得一些不错的网址!