【问题标题】:Joomla 3.0 Component - Router SEF, adding a segmentJoomla 3.0 组件 - 路由器 SEF,添加一个段
【发布时间】:2013-02-05 12:28:19
【问题描述】:

谁能告诉我如何在 SEF URL 的开头添加一个段 - 即:

http://somedomain.com/*SEGMENT*/task/id

*SEGMENT* 只是一个静态字符串,只是为了显示,而不是从查询中获取。

我的组件中有一个非常基本的 router.php:

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

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

    return $segments;
}

function MyComponentParseRoute($segments)
{
    $vars = array();
    $count = count($segments);

    if ($count) {
        $count--;
        $segment = array_shift($segments);
        if (is_numeric($segment)) {
            $vars['id'] = $segment;
        } else {
            $vars['task'] = $segment;
        }
    }

    if ($count) {
        $count--;
        $segment = array_shift($segments) ;
        if (is_numeric($segment)) {
            $vars['id'] = $segment;
        }
    }
return $vars;
}

希望有人能帮忙!

【问题讨论】:

    标签: url joomla sef joomla3.0


    【解决方案1】:

    为组件中的视图创建一个菜单项。如果您的SEGMENT 需要是/foo/,那么只需确保菜单项的别名是“foo”。如果您需要斜线,即 /foo/bar/,则需要嵌套两个具有别名“foo”和“bar”的菜单项。这将告诉 Joomla 如何处理它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-10
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 2014-03-26
      • 2011-03-05
      • 2011-03-20
      • 2016-06-09
      相关资源
      最近更新 更多