【问题标题】:how to generate url friendly in Joomla?如何在 Joomla 中生成友好的 url?
【发布时间】:2010-11-30 23:42:31
【问题描述】:

我对 joomla 1.5 友好的 url 有疑问(实际上并不那么友好) 我目前没有使用 SEF(我应该吗?)

这是我的问题

我有一些类别和部分。每个都有别名。

所以我可以查看所有新闻类别,例如访问 www.myxyz.com/news/

要检查一篇文章,生成的 url 将变为: www.myxyz.com/news/10-local-news-title-alias

我不知道 joomla 是如何生成该网址的。在我的模板中,我需要生成一些指向特定文章的链接。

所以我在模板中创建了一个助手:


// helper to get alias in mainMenu ... alias must be unique 
function getMainMenu($menuAlias){
    $items = &JSite::getMenu();
    // Get Menu Items
    $rows = $items->getItems('alias', $menuAlias);
    if($rows){
        //$result = JRoute::_(JURI::base().$rows[0]->link);
        $result= JURI::base().substr(JRoute::_($rows[0]->link), strlen(JURI::base(true)) + 1);
        return $result;
    }else{
        return JURI::base() ;// aka not found
    }
}

但是当我进入像 www.myabc.com/news/7-local-news-alias 这样的页面时 网址会变得混乱并更改为错误的网址。

我应该使用 SEF 对 joomla url 友好吗?

【问题讨论】:

  • 顺便说一句,你的“joomla”标签中的“o”太多了

标签: php url joomla sef


【解决方案1】:

您应该只在代码中使用普通网址。当你打开 SEF joomla!将自动将您创建的所有链接转换为 SEF 网址,当收到请求时,它会将它们恢复为您的常规网址...

【讨论】:

    【解决方案2】:

    这有点令人费解,但链接到 SEF URL 的正确方法是使用原始的非 SEF 链接。您将需要:

    • 文章ID
    • 您的版块的菜单项的 Itemid(例如,链接到文章博客布局的菜单项等)

    然后你只需链接到:

    index.php?option=com_content&view=article&id=42&Itemid=3
    

    其中 42 是文章 ID,3 是菜单 ID。您的链接将如下所示:

    /section-alias/42-the-article-alias
    

    如果您错过了 Itemid,您的链接将如下所示(我认为):

    /components/content/42-the-article-alias
    

    【讨论】:

      猜你喜欢
      • 2010-09-07
      • 2010-09-07
      • 2014-04-16
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 2010-11-07
      • 2016-01-13
      相关资源
      最近更新 更多