Monday, September 13, 2010

Joomla 1.5 - Created date to mySql

Joomla! allows you to set date values through the Joomla! framework whenever you want to save a date to the database.

To use a the current date/time in your JModel entended class, do the following.

In the store() method after the $row->bind() method, add:

//Get a JDate object
$createdate = &JFactory::getDate();
//Create a date in MySQL's datetime format
$row->created = $createdate->toMySQL();
//PS: make sure your table have a created field :)

Joomla!'s JDate also allows you to set custom Unix dates simply by passing in the date to JFactory::getDate() method. E.g.

$createdate =& JFactory::getDate(time());

Note that you wil override the date everytime you save to the database. See if you can modify the model to set the create date only on new saves. :)

See Joomla!'s API documentation for more on what JDate can do.

Monday, September 6, 2010

Joomla 1.5 Additional select tag values

This continues on my blog post on how to add a select tag through the Joomla! framework. The code that follows will show you how to add to the ObjectList for a Select tag. This is especially useful where you have to use a select tag in a search form.

I normally use a value of 0 to indicate a search of "All Values".

The first thing you do is create a class at the top of your page as follows:

class MySelectObject{
var $id;
var $name;

Then to use it do the following:

$db = &JFactory::getDBO();
$query = "SELECT `id`,`name` FROM

$townlist = $db->loadObjectList();

/*Create an instance of MySelectObject*/
$mso = new MySelectObject();

/*Set values*/
$mso->id = 0;
$mso->name = 'Any Town';

/*Create an array for insertion*/
$tmpArr = array(0 => $mso);

/*Merge with array result from query. Add to the front of list*/
$selectList =

/*Make MySelectObject the default selected*/