如何显示我在Joomla中显示的特定文章的类别?

时间:2013-07-25 19:44:32

标签: joomla

我已经创建了一个在模块中使用的替代模板(文章类别NewsFlash)。我正在展示三篇文章。三个特定类别中的一个(我有三个以上的类别,但我只想从这三个类别中显示)。

Newsflash允许我选择要查看的特定类别 - 所以这不是问题。

我将模板设置为如下所示:

<?php $images = json_decode($item->images);
$item_heading = $params->get('item_heading', 'h4'); ?>
<a href="<?php echo $item->link;?>">
<img width="130" height="82" src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" />
</a>
<!--------------------------->
<h1>CHECK THE CATEGORY HERE</h1>
<!--------------------------->
<p class="valign" style="margin-top: 13px;">
<a class="gray" href="/reviews/bikes/kawasaki-adversys-versys-650-project">
    <-- The span below changes based on the category -->
            <span class="green fs12 db mb5">Latest Bike Review</span>
    <?php echo $item->title;?>
</a>
</p>

它完美无缺。它显示三篇文章,水平内嵌,首先显示介绍图像,然后显示一行文字,然后显示文章的标题。

我的问题是,如何查看当前文章的类别?上面的代码正在循环中。我假设它与$item->category的内容类似,但我似乎无法弄明白或在任何地方找到它。

如果可以,请帮忙!

  

更新

我最终使用了不同的模块mod_articles_category。使用此模板中的默认值,我将default.php更改为以下内容:

<?php
defined('_JEXEC') or die;

?>
<div class="main sub-page" role="main">
<div class="header layout-img">
<p class="fl mt20">
<span class="yellow2 fs18">LATEST</span>
<br>
<span class="white fs14">REVIEWS</span>
</p>
<ul>
<?php
$mediafound = 0;
$gearfound = 0;
$bikefound = 0;
$currentitem = '';
foreach ($list as $item) :
$images = json_decode($item->images);
$item_heading = $params->get('item_heading', 'h4');

if(strpos($item->catslug, 'media') !== FALSE) {
    $mediafound = $mediafound + 1;
    $currentitem = 'media';
} elseif(strpos($item->catslug, 'gear') !== FALSE) {
    $gearfound = $gearfound + 1;
    $currentitem = 'gear';
} elseif(strpos($item->catslug, 'bike') !== FALSE) {
    $bikefound = $bikefound + 1;
    $currentitem = 'bike';
} ?>


<?php if($currentitem == 'media' && $mediafound == 1) { ?>
<li>
    <a href="<?php echo $item->link;?>">
        <img width="130" height="82" src="<?php echo    htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" />
    </a>
    <h1></h1>
    <p class="valign" style="margin-top: 13px;">
        <a class="gray" href="/reviews/bikes/kawasaki-adversys-versys-650-project">
                <span class="green fs12 db mb5">Latest Media Review</span>
            <?php echo $item->title;?>
        </a>
    </p>
    <span class="article-separator">&#160;</span>
</li>
<?php } elseif($currentitem == 'gear' && $gearfound == 1) { ?>
<li>
    <a href="<?php echo $item->link;?>">
        <img width="130" height="82" src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" />
    </a>
    <h1></h1>
    <p class="valign" style="margin-top: 13px;">
        <a class="gray" href="/reviews/bikes/kawasaki-adversys-versys-650-project">
            <span class="green fs12 db mb5">Latest Gear Review</span>
            <?php echo $item->title;?>
        </a>
    </p>
    <span class="article-separator">&#160;</span>
</li>
<?php } elseif($currentitem == 'bike' && $bikefound == 1) { ?>
<li>
    <a href="<?php echo $item->link;?>">
        <img width="130" height="82" src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" />
    </a>
    <h1></h1>
    <p class="valign" style="margin-top: 13px;">
        <a class="gray" href="/reviews/bikes/kawasaki-adversys-versys-650-project">
            <span class="green fs12 db mb5">Latest Bike Review</span>
            <?php echo $item->title;?>
        </a>
    </p>
    <span class="article-separator">&#160;</span>
</li>
<?php } ?>
<?php endforeach; ?>
</ul>
</div>
</div>

这可以很好地显示三个不同类别的最新文章。

1 个答案:

答案 0 :(得分:0)

您尚未指定Joomla版本,但在2.5以上版本中,以下情况属实,可能有所帮助。

$item模板文件中的_item.php对象包含catid,即$item->catid是当前$item中文章类别的ID。这是一个int值,如19

您还可以从catslug获取$item,这是类别ID, slug (别名)与冒号:连接起来{典型{ {1}}将是catslug