Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where does k2 component store its images in the database?

I want to retrieve/query images stored by joomla k2 component (under the Image Tab).

like image 854
mukamaivan Avatar asked Jun 10 '12 11:06

mukamaivan


4 Answers

To display the K2 item image you can use this

echo "media/k2/items/cache/".md5("Image".K2 ITEM ID HERE)."_XL.jpg";
like image 187
surya Avatar answered Nov 18 '22 08:11

surya


It's not stored in the database at all.

They use the md5 hash on the actual K2 item ID, and that is how they rename and save the image in the folder media/k2/items/cache/.

Anywhere the K2 item is pulled up, they use JFile::exists (which is used to check if a file exists in the path set) with the path

URL-ROOT."media/k2/items/cache/".md5("image" . K2 ITEM ID HERE)."_XL.jpg"

and if the file is there, it shows the image.

Also, the _XL.jpg will change depending on what size the image is set to display on the page, be it a thumbnail, large, XL, etc.

I know that isn't what you wanted to hear, but that is how they do it :) Hope that helps man!

like image 20
Caleb Nance Avatar answered Nov 18 '22 09:11

Caleb Nance


Though you got the answer sharing the info may be helpful:

If working within the K2 Templates (Html overrides) following can be used to access the image added via K2 image tab.

$this->item->image

OR

$this->item->imageXLarge (size you want)

you get relative url : /media/k2/items/cache/29642a1d30cebf98734fb424b2b1316b_L.jpg

like image 38
Ajit Bohra Avatar answered Nov 18 '22 10:11

Ajit Bohra


You can find the originals in the media/k2/items/src/ directory. Also, @David is correct, "Image" is needed as prefix to the k2 item id.

like image 1
Greg Avatar answered Nov 18 '22 09:11

Greg