Category Archives: Joomla Development

Static Joomla variables

I recently found myself searching for static Joomla variables to use in my component development.

Here are a couple of interesting ones (I will update this list as I find more):

  • JPATH_COMPONENT_SITE – points to the site folder of your component for example /home/user/website/joomlainstall/components/com_yourcomponent
  • JPATH_COMPONENT_ADMIN – points to the admin folder of your component for example: /home/user/website/joomlainstall/administrator/components/com_yourcomponent

 

Using the PHP Form Builder Class (PFBC) within your own Joomla Component.

I was in the need of professional forms for a Joomla component I’m currently writing.
With “professional” I mean the forms have to look professional and also need to be validated in a professional maner.

I first went through a lot of Javascript/CSS solutions where in the back of my mind I thought I still have to validate all input on the Server level (Within the Joomla component itself)

Finally I found an actively maintained Forms Library that after some testing I found works great within any Joomla Component.

Here are some basic notes on how I accomplished this:

I’m using a file called loader.php located in the library path in my component Directory.
I call it from my main controller file like this:

require_once(JPATH_ROOT.DS.'components'.DS.'com_component'.DS.'library'.DS.'loader.php');

in my loader PHP I have this line:

JLoader::register('Form', JPATH_COMPONENT.'/3rdparty/PFBC/Form.php');

As you can see I just copied the PFBC folder into a folder called 3rdparty within my Joomla component folder.

Now you can use PFBC anywhere in your component by creating the object like this and add a field for example:

$form = new Form("testing", 300) ;
$form->addElement(new Element_Textbox("My Textbox:", "MyTextbox"));
$form->addElement(new Element_Button);

Assign it to the View as usual:

$this->assignRef('myform', $form);

And render it in the tmpl file:

echo $this->myform->render();

The result looks like this:

Joomla-and-PFBC Screenshot

How to call a custom html module within a Joomla component.

Today I needed to render a Custom HTML module within a Joomla Component I’m currently writing.
After some research and testing this seems to be working great for me:
   $mod = &JModuleHelper::getModule(‘custom’, ‘Custom HTML’);
echo JModuleHelper::renderModule($mod);

I have this piece of code in my default.php file within my views/default/tmpl/ folder.
The ‘custom’ refers to the module mod_custom and ‘Custom HTML’ specifies which of the mod_custom modules to call.

Lets say you have a Custom HTML module with the title MODULEA and one with the title MODULEB then you can call and render them this way:
    $mod = &JModuleHelper::getModule(‘custom’, ‘MODULEA’);

    echo JModuleHelper::renderModule($mod);

    $mod = &JModuleHelper::getModule(‘custom’, ‘MODULEB’);
    echo JModuleHelper::renderModule($mod);
A couple of important notes:
  • At the time of writing I’m using Joomla 1.7
  • The modules HAS to be published.
  • It needs to be assigned to the pages/menus you want it to display.