[英]Joomla create Router.php for images url
我试图创建router.php来设置SEF url形式img src。 为了在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');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.