我和Joomla一起工作了一段时间,但我只有一点问题。如果没有先在菜单中创建链接,我怎么能指向一篇文章呢?
答案 0 :(得分:2)
此外,JCE编辑器有一个按钮,您可以在其中链接到任何文章并回避菜单系统:http://extensions.joomla.org/extensions/88/details
答案 1 :(得分:1)
你的意思是链接?脏的方法是你可以在编辑时从网址中提取id和标题,然后通过你的链接获得创意,重建网址(通过使用你已经知道的链接),用户需要到达文章。
这有意义吗?
答案 2 :(得分:0)
我的解决方案完全不同:
首先创建一些您永远不会使用的菜单,除非您已经需要浏览任何类别。关键是:您需要链接到类别,与类别别名相同,如果任何类别是子类别,则将父类别添加为父菜单位置。
类别在数据库中有path
,此路径为:parent-alias/other-parent-alias/more-parents/category-alias
现在,如果您已完成第一步,则应该能够使用path
数据进入类别(功能如下)。
使用sql查询获取该路径,以及其他功能来制作文章slug
/**
* $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; ?>