Joomla 3和YooTheme Zoo - 使用类别预告图像为项目预告图像

时间:2014-08-10 01:41:41

标签: php joomla joomla3.0 cck

我有一个使用Joomla 3和YooTheme Zoo CCK构建的网站。

我在/media/zoo/applications文件夹中创建了一个自定义应用程序。

我的应用程序有两种类型,产品和包。

我的包被分为几类,每个类别都有一个预告图片集。

我想使用“类别”前贴片广告图片作为该类别中每个“项目”的前贴片广告形象。

我知道应该在哪里对我的自定义应用程序的源代码进行更改:/media/zoo/applications/my_custom_app/templates/default/renderer/item/teaser.php但我不确定要添加的正确PHP行,以便从该类别中提取预告片图像。

我已尝试<?php echo $this->category->getImage('content.image'); ?>,但似乎$this->category在此上下文中不存在。

这是我当前的teaser.php的粘贴框:http://pastebin.com/Pj7UZ4Ye

2 个答案:

答案 0 :(得分:1)

我可以给你一个部分答案,我在之前建立的网站上做了什么。我想在其中的所有项目上显示该类别的图像。我没有尝试更改项目前贴片图片,但在现有元素类别中包含图像。默认情况下,category元素(/ media / zoo / elements / itemcategory)可以将类别名称显示为链接或仅显示文本。所以我编辑了/media/zoo/elements/itemcategory/itemcategory.php第40行+

public function render($params = array()) {

    $params = $this->app->data->create($params);
    $values = array();
    foreach ($this->_item->getRelatedCategories(true) as $category) {
    +++ $image = $category->getImage('content.teaser_image');
    --- $values[] = $params->get('linked') ? '<a href="'.$this->app->route->category($category).'">'.$category->name.'</a>' : $category->name;
    +++ $values[] = $params->get('linked') ? '<a href="'.$this->app->route->category($category).'"><img src="'.$image['src'].'" title="'.$category->name.'" alt="'.$category->name.'" width="200px" height="200px" />'.$category->name.'</a>' : $category->name;
    }

    return $this->app->element->applySeparators($params->get('separated_by'), $values);
}

所以你只需删除或注释掉以...开头的内容,并添加以+++开头的内容 您始终可以覆盖php文件,以便在通过从

复制文件来安装新的Zoo版本时不会更新它
/media/zoo/elements/itemcategory/itemcategory.php

/media/zoo/applications/products???/elements/itemcategory/itemcategory.php

因此,您现在可以编辑应用程序完整布局并删除图像并将类别CORE元素添加到相同位置:P

如果您需要更多帮助,请与我们联系!

答案 1 :(得分:0)

如果您想要一个简单的解决方案来在项目级别上显示类别信息,我希望您能看一下我的Zoo CCK的自定义元素。

使用此元素,您可以将类别图像和描述放在任何项目中。 您可以在此处阅读有关元素的更多信息: http://www.crea-aalborg.dk/kompetencer/web/joomla-extensions/zoo-elements/category-description.html