2

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?

Flimm
  • 136,138
  • 45
  • 251
  • 267
Aram
  • 75
  • 7

1 Answers1

4

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');
versalle88
  • 1,139
  • 1
  • 7
  • 19