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?
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');