Hi Gez / other interested cooks
The populateObjects method in Cook is one of the features I am very interested in since it facilitates a number of my current tasks. The code below shows my implementation of recursive object population within the j-cook framework itself.
The code is inserted into the empty populateObjects method in the ‘jmodel.list.php’ file in the 'classes' folder of a given component. Based on the current j-cook environment, it is called each time a collection object is built. You can therefore populate the items in a given collection with "infinite" additional children.
Regards
v
Let me know if this helps or ways in which it can be improved, thanks.
/**
* Prepare other additional related objects.
*
* @access public
* @param array &$items The objects to populate.
* @return void
*/
public function populateObjects(&$items)
{
if (!isset($items) || empty($items))
return;
$model = JModel::getInstance($this->view_item, 'xxxModel');
foreach ($items as &$item)
{
if ( $model && method_exists( $model, 'populateObjects' ) )
{
$model->populateObjects($item);
}
}
}