没有菜单链接指向文章

时间:2009-09-07 19:26:21

标签: joomla

我和Joomla一起工作了一段时间,但我只有一点问题。如果没有先在菜单中创建链接,我怎么能指向一篇文章呢?

3 个答案:

答案 0 :(得分:2)

此外,JCE编辑器有一个按钮,您可以在其中链接到任何文章并回避菜单系统:http://extensions.joomla.org/extensions/88/details

答案 1 :(得分:1)

你的意思是链接?脏的方法是你可以在编辑时从网址中提取id和标题,然后通过你的链接获得创意,重建网址(通过使用你已经知道的链接),用户需要到达文章。

这有意义吗?

答案 2 :(得分:0)

我的解决方案完全不同:

  1. 首先创建一些您永远不会使用的菜单,除非您已经需要浏览任何类别。关键是:您需要链接到类别,与类别别名相同,如果任何类别是子类别,则将父类别添加为父菜单位置。

  2. 类别在数据库中有path,此路径为:parent-alias/other-parent-alias/more-parents/category-alias现在,如果您已完成第一步,则应该能够使用path数据进入类别(功能如下)。

  3. 使用sql查询获取该路径,以及其他功能来制作文章slug

  4. 这是2个应该帮助你的函数的代码

    /**
    * $art si article object
    */
    function articleLink(&$art){
        // create slug
        $link = $art->id.'-'.$art->alias;
    
        // get category link (path)
        $cat_link = categoryLinkFromArticle($art);
        $link = $cat_link.'/'.$link;
        return $link;
    }
    
    
    function categoryLinkFromArticle(&$art){
        $db = JFactory::getDbo();
        $db->setQuery("SELECT * FROM #__categories cat WHERE cat.id='$art->catid'");
        $cat = $db->loadObject();
    
        $link = $cat->path;
        return $link;
    }
    

    典型用法

    <?php foreach ($articles as $item) :  ?>
        <?php $link = articleLink($item); ?>
        <a href="<?php echo $link; ?>" ><?php echo $item->title; ?></a>
    <?php endforeach; ?>