我试图创建router.php来设置img src形式的SEF url。要在src中显示它,我将其用作休闲:
<?php echo JRoute::_(JURI::root().'components/com_mycomponent/myimg/mythumb/'.$thumb->id.'.'.jpg); ?>
要编写路由器,我使用Joomla Wiki中的指令,但没有结果:/
我只是不知道如何写一个路由器的图像src??
我希望有人能帮助我。
我的router.php 代码
function [componentname]BuildRoute(&$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 [componentname]ParseRoute($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;
}
我使用上面的代码,我更改了组件名称,并更改了文件夹上的catid和id,例如muimg和mythumb
很抱歉,如果这个问题是哑的,但我在joomla开发方面很新
我有点不确定你到底想实现什么,但你的第一个代码片段不正确,会导致错误。所以你需要改变这个:
(JURI::root().'components/com_mycomponent/myimg/mythumb/'.$thumb->id.'.'.jpg);
到此:
(JUri::root().'components/com_mycomponent/myimg/mythumb/'.$thumb->id.'.jpg');