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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Joomla /为文章类别模块添加类别描述相关的知识,希望对你有一定的参考价值。

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

提前致谢!

答案

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

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

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

另一答案

将其添加到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; 
?>
另一答案

输入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/

另一答案

所以在:/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不包含除列表之外的任何内容,所以我们此次获取名称并从名称中加载类别。

以上是关于Joomla /为文章类别模块添加类别描述的主要内容,如果未能解决你的问题,请参考以下文章

按类别内的标签过滤文章 - Joomla 和 K2

上下文模块 - Joomla 2.5

逻辑上选择类别和子类别(php,joomla,javascript,ajax)

在 Joomla 3 中向组件添加类别

Joomla 2.5 仅在 K2 类别上显示模块而不在 K2 项目上

如何从 mysql 将子类别加载到 joomla