Aram Aram - 1 month ago 8
PHP Question

Joomla 3: adding category-image in article template

I'm overriding the article template of my Joomla 3 website which is

default.php
. I need to add the category image into my article template.
I already tried:

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


The result is something like:

{"category_layout":"","image":"images\/u14115.png"}


But how do I extract only the image from this JSON string?

Answer

You have to decode the string. Try PHP's json_decode. Add to your code:

Object:

$category = json_decode($category);
echo $category->image;

Array:

$category = json_decode($category, true);
echo $category['image'];

http://php.net/manual/en/function.json-decode.php

You can also do this natively in Joomla with something like this:

$category = JCategories::getInstance('Content')->get($id);
echo $category->getParams()->get('image');
Comments