Joomla为图片网址创建了Router.php

时间:2014-08-31 16:07:07

标签: php joomla router

我尝试创建router.php来设置SEF url form 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

很抱歉,如果这个问题是dumm,但我是joomla开发的新手

1 个答案:

答案 0 :(得分:0)

我有点不确定您到底想要实现的目标,但您的第一个代码段不正确并会导致错误。所以你需要改变这个:

(JURI::root().'components/com_mycomponent/myimg/mythumb/'.$thumb->id.'.'.jpg);

到此:

(JUri::root().'components/com_mycomponent/myimg/mythumb/'.$thumb->id.'.jpg');