JPhoto - Image Gallery Component for Joomla!

Create different picture galleries in Joomla!

It's quick and easy to create an image gallery for your Joomla website! Allow your visitors to browse your galleries and images on 3 different levels - you have plenty of customization options for each view!

Thanks to the built-in uploader, you save time by uploading and editing multiple images at once. JPhoto also creates 3 extra image sizes to fit your different views - automatically!

JPhoto has something for everybody:

  • JPhoto automatically pulls the meta data from your photo.
  • Developers: JPhoto includes a powerful plugin system.
  • For all features - click on the tab "Features"!

View Demo Buy Now Support


A Joomla! image gallery extension that works like a charm AND looks great!

JPhoto is packed with many great features, and was developed with ease-of-use and search engine optimization in mind. Watch this video to find out more:

Image and gallery features include:
  • 3 levels of gallery and image views
  • 4 ways to link to your images and galleries
  • Upload and edit of multiple images at the same time
  • Automatic resizing of images
  • Easy customization of image height and width
  • Customization of how your galleries and images are displayed
  • Powerful plugin system for extra gallery views

Find out more about what you can do with JPhoto - click on the tab "Features"


View your images and galleries in 3 different ways

Your Joomla! website visitors can browse your gallery images via 3 levels:

  • Category - shows all galleries in a category
  • Gallery - shows all images in a gallery
  • Images - shows the individual image

Each view has its own metadata information, which helps with your search engine optimization. You can edit the description, keywords, robots and author.

Gallery and image preferences

You can customize just about everything you see on the frontend of your site:

Specify how each gallery displays:
  • Show category and image gallery name in URL (sh404SEF only)
  • Define how many images to show per page
  • Number of images you want to display per row
  • Order images by menu order, name, and date/time
Set your image preferences:
  • Define the image upload folder path
  • Create a default access level for images
  • Specify the width and height of all images
  • Display (or choose not to display) image information

Automatic image resizing!

Upload your image once - JPhoto automatically creates the 3 extra image sizes to fit your different gallery views.

You can easily customize the height and width of all image sizes:
  • Large
  • Medium
  • Thumbnail

Upload and edit multiple images

Save time by uploading your images with the user-friendly Flash uploader. It allows you to quickly:

  • Upload multiple images at the same time
  • Edit multiple images when you upload them

Photographers - use your image metadata

JPhoto automatically pulls the meta data from your photo. For example:

  • Aperture
  • Credit
  • Camera
  • Caption
  • Time taken
  • Copyright
  • Focal Length
  • ISO
  • Shutter

4 ways to link to your images and galleries

Make it easy for your visitors - create Joomla! menu items linking directly to 4 different gallery and image views:

  • All gallery categories
  • A specific gallery category
  • A specific gallery
  • A specific image

Developers - use the gallery plugin system

Want more customization options? Take advantage of the powerful gallery plugin system!

The plugin system allows developers to create unique gallery views using different javascript libraries. Plugins can also be applied to modules.

Find out more about JPhoto's plugin system - click on the tab "For Developers".

Additional features:

  • Tracks all hits/views on categories, galleries and images
  • Breadcrumb support available
  • Support for Joomla! SEF, sh404SEF and AdvancedSEF
  • Full MVC component
  • Edit CSS file directly from the back-end
  • Random images module available
  • For slideshow plugin, see JPhoto slideshow


System requirements

PHP GD Library

Create new gallery category

Creating a new gallery category is similar to creating a new Joomla! category:

  1. In your Joomla admin, go to Components > JPhoto > Categories.
  2. Click on the button "New".
  3. Fill in all the details. For description of the Image dropdown menu, see below.
  4. Click Save.

Image dropdown menu options:

  • Random from Default: display a random image from the default gallery images in this category.
  • Random from Category: display a random image from all gallery images in this category.

Edit default gallery and image parameters

The default parameters are all very important - we strongly suggested you edit them before you to do anything else!

You edit the default parameters under Components > JPhoto > Galleries.

Click on Configuration (top right).

Make sure that the sizes of the images are set to fit your needs.

Create a new gallery

Creating a gallery is easy:

  1. In Components > JPhoto > Galleries, click on the button "New"
  2. Give your new gallery a name, and add it inside a category
  3. For description of the JavaScript Library dropdown menu, see below.
  4. Click "Save"

JavaScript Library dropdown menu options:

Here you'll see a list of all your installed plugins. Each plugin changes the layout of the gallery, and will make use of the image name, caption and description differently. Select one from the list, save your gallery, and view the result on the frontend of your site.

To install a new plugin, simply download it from our downloads section and install it as a Joomla plugin. You can edit each plugin through Extensions > Plugin Manager, which will give you a set of different plugin parameters.

If you are a developer, find out more about JPhoto's plugin system - click the "For Developers" tab above.

Add photos to gallery

In Components > JPhoto > Galleries, click on View Gallery (to the left of the gallery's name). This will show all of the pictures inside the gallery.

Click "Add Photos" (top right). This will bring up an interface allowing you to upload new images to this gallery.

You can select and upload multiple images at once. After each file is done uploading, you are presented with a 'show' button which allows you to quickly edit the image and add any extra information.

Once you are done, click Save (towards the bottom of the form).

Choose default image for gallery

From Components > JPhoto > Galleries, click on the gallery you want to set a default image for. You will then see a list of images in that gallery.

Tick the checkbox to the left of any image, and click "Default" (top right).

Create Joomla! menu item to galleries and images

You have a few different options when linking to your JPhoto images and galleries, but first:

  1. Go to your Joomla! menu of choice and click on New to create a new menu item.
  2. Select JPhoto from the list.

You can now select from 4 different options:

  • Default - Displays a list of all categories. Depending on your configuration, it may display an image next to the name.
  • Category - Displays all galleries in a category. Depending on your settings, each gallery may display an image next to its name.
  • Gallery - Displays all images in a gallery. Depending on your settings, the size of the image may vary.
  • Image - Displays a single image. For this menu item to work correctly, an image ID must be provided. You can get the image ID when viewing a gallery through the back-end: the column to the far right will display the ID.

This concludes the documentation for a site administrator. For any additional questions, please contact our support team.

For Developers

JPhoto plugin system

To change the display of a module or a gallery view, you can create plugins. You must have the same structure for the JPhoto plugin as you would for a Joomla plugin.

For the base of this tutorial, we will use the hs_default plugin (you can download it from our downloads section).

Plugin group

Plugins must be of group jphoto. You need to write this in the installation xml. See this example:

<install version="1.5" type="plugin" group="jphoto" method="upgrade">

Plugin classes and methods

In the plugin file, you must have a class with the name of the plugin. This class must have one of the following methods:

  • display_gallery( &$view )
  • display_module( $list, &$mparams, $vars )

Here is an example:

class plgJPhotoHS_Default extends JPlugin
* @param view object The view that calls in this plugin
* @return bool Tells view to return so the rest of the view is not executed
function display_gallery( &$view )
// This return tells the gallery if it should keep on displaying the normal
// view or should return and not display the rest of the file.
return true;

* @param list Object - Contains the list of images to display
* @param params Object - Contains all module parameters
* @param vars Array - Contains module options and settings
* @return Array - First param tell module to not display default content
* - Second param is the list of default variables
function display_module( $list, &$mparams, $vars )
// These variables are passed so you can use them in your plugin, or you can
// just modify and return them to change the default view of the module.
extract( $vars );

$_vars = array();
foreach( $vars as $key => $val ){
$_vars[$key] = ${$key};

// The first value tells the module if it should return and not display the rest of
// the file, or if false it will display the rest of the module. The second value are
// the variables that are passed to the module.
return array( true, $_vars );

From here you can do what you want with the data that is passed to the methods. You can modify it and return it, or you can have a custom display of it.

For any further questions, contact our support team.

Would you like help?

Have our team install/upgrade for you!

Maybe you do not have the time to manage your website or the knowlege to install or upgrade a 'corePHP' product. Contact our team today so we can install or upgrade your purchased products for you.

Have a question?

Did you happen to run into an issue from installing a 'corePHP' product or just from using it? Maybe you ran into a bug that we are not aware of or do you have a question about how something works within one of 'corePHP' products? Contact the support team to get your answers right away!

Submit a Support Ticket