Joomla /为文章类别模块添加类别描述

时间:2012-02-01 11:14:07

标签: joomla module

如何在Joomla中的文章类别模块中添加类别描述? 分组项目后唯一的php调用是<?php echo $group_name; ?>

提前致谢!

4 个答案:

答案 0 :(得分:2)

我知道这是一个老帖子,但是对于Joomla来说! 3.5以上你可以使用......

$category   = JCategories::getInstance('Content')->get($item->catid);

比在模板覆盖文件中调用数据库容易得多。

答案 1 :(得分:0)

将此添加到default.php覆盖。

<?php 
    $db = &JFactory::getDBO(); 
    $id = JRequest::getString('id'); 
    $db->setQuery('SELECT #__categories.description FROM #__content, #__categories WHERE #__content.catid = #__categories.id AND #__content.id = '.$id); 
    $category = $db->loadResult();
    echo $category; 
?>

答案 2 :(得分:0)

输入default.php覆盖或自定义模板:

<?php // tested in Joomla 3.1.5 only
    $input = JFactory::getApplication()->input;
    $idbase = $params->get('catid');
    $catID =  $idbase[0];
    //echo $catID;
    $db = JFactory::getDBO();
    $db->setQuery("SELECT description FROM #__categories WHERE id = ".$catID." LIMIT 1;");
    $catDesc = $db->loadResult();
?>
<div class="catdesc">
    <?php echo $catDesc; ?>
</div>

修改自: http://www.noxidsoft.com/development/get-the-category-blog-description-in-joomla-3-1-5/

答案 3 :(得分:0)

所以在:/modules/mod_articles_category/default.php

确保先创建一个超越,然后添加:

$db     = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select(array('id', 'title', 'description'));
$query->from($db->quoteName('#__categories'));
$query->where($db->quoteName('extension') . ' = ' . $db->quote('com_content'));
$db->setQuery($query);

$categories = $db->loadObjectList('id');

刚过:已定义('_JEXEC')或死亡;

然后在每个项目中,您都可以像这样加载它:

echo $categories[$item->catid]->description;

如果在分组而不是项目上使用,则有所不同,这里是整个代码段的替换:

<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_category
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$db     = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select(array('id', 'title', 'description'));
$query->from($db->quoteName('#__categories'));
$query->where($db->quoteName('extension') . ' = ' . $db->quote('com_content'));
$db->setQuery($query);

$categories = $db->loadObjectList('title');

?>
<ul class="category-module<?php echo $moduleclass_sfx; ?> mod-list">
    <?php if ($grouped) : ?>
        <?php foreach ($list as $group_name => $group) : ?>     
            <li>
            <div class="mod-articles-category-group"><?php echo JText::_($group_name); ?></div>
            <p><?php echo count($group) > 0 ? $categories[$group_name]->description : ''; ?></p>

因为$ group除了列表之外不包含其他任何内容,所以这次我们改为使用名称,并从名称中加载类别。