0

在 Joomla 2.5.8 中,我创建了一个使用“列出所有类别”类型的菜单项。我想显示父类别的图像和标题以及每个子类别的图像,如下所示:

-- 父类图片 --

父类别标题 父类别描述

SubCategory1 标题 Subcategory1 图片 -- SubCategory1 描述

SubCategory2 标题 Subcategory2 图片 -- SubCategory2 描述

SubCategory3 标题 Subcategory3 图片 -- SubCategory3 描述

SubCategory4 标题 Subcategory4 图片 -- SubCategory4 描述

我正在使用文件 template/html/com_content/categories/default.php 并尝试从 blog.php 文件中复制代码:

<?php if ($this->params->get('show_description_image') && $this->category->getParams()->get('image')) : ?>
            <img src="<?php echo $this->category->getParams()->get('image'); ?>"/>
        <?php endif; ?>

但它打破了页面并加载了一个空白页面。子类别的标题及其描述显示,我只是缺少父标题和图像。

在菜单项的选项中,我将类别标题、描述和图像全部设置为显示。

对此的任何帮助将不胜感激。

这是默认的.php 代码:

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

// no direct access
defined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT.'/helpers');

?>
<?php if ($this->params->get('show_page_heading')) : ?>
                <h1>
                    <?php echo $this->escape($this->params->get('page_heading')); ?>
                </h1>
                <?php endif; ?>
                <?php if ($this->params->get('show_base_description')) : ?>
                    <?php   //If there is a description in the menu parameters use that; ?>
                        <?php if($this->params->get('categories_description')) : ?>
                            <?php echo  JHtml::_('content.prepare', $this->params->get('categories_description'), '', 'com_content.categories'); ?>
                        <?php  else: ?>
                            <?php //Otherwise get one from the database if it exists. ?>
                            <?php  if ($this->parent->description) : ?>
                                <div class="category-desc">
                                    <?php  echo JHtml::_('content.prepare', $this->parent->description, '', 'com_content.categories'); ?>
                                </div>
                            <?php  endif; ?>
                        <?php  endif; ?>
                    <?php endif; ?>
                <?php
                echo $this->loadTemplate('items');
                ?>
4

2 回答 2

1

答案在这里:http: //forum.joomla.org/viewtopic.php?p=2613555

显示图像的代码,如果类别有图像并且选择了“显示类别图像”(Joomla 2.5,它也应该适用于 1.7)。

对于父类别,在 templates/mytemplate/html/com_content/categories/default.php

<?php if ($this->params->get('show_description_image') && $this->parent->getParams()->get('image')) : ?>
     <img src="<?php echo $this->parent->getParams()->get('image'); ?>" alt=" "/>
<?php endif; ?>

对于子类别,在 templates/mytemplate/html/com_content/categories/default_items.php

<?php if ($this->params->get ('show_description_image') && $item->getParams()->get('image')) :?>
     <img src="<?php echo $item->getParams()->get('image');?>" alt=" "/>
<?php endif; ?>
于 2013-09-25T08:51:33.713 回答
0

这是 Joomla 3.x 版本的解决方案。它适用于类别和子类别。模板/mytemplate/html/com_content/categories/default_items.php

<?php if ($item->getParams()->get('image')) : ?>
  <img src="<?php echo $item->getParams()->get('image');?>" alt="">
<?php end if; ?>
于 2016-09-25T00:16:32.890 回答