Archived talk

Developing a MVC Component/Adding categories

From Joomla! Documentation

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Why $query = new JDatabaseQuery; but not $query = &new JDatabaseQuery; ?

In ../models/fields/helloworld.php on line 29

If you use the line, $query = new JDatabaseQuery;, component works, but when helloworlds is added as menu item it causes the following error when item is clicked:

Fatal error: Cannot instantiate abstract class JDatabaseQuery in C:\xampp\htdocs\test_site\administrator\components\com_helloworld\models\fields\helloworld.php on line 29

Reverting back to code from part 11, $query = $db->getQuery(true);, does not throw error.

Just an observation.


---

People who are using Joomla >= 2.5.5. will probably encounter a problem with categories menu - buttons for basic user actions missing (such as "New", "Edit" etc.) The solution can be found here: http://forum.joomla.org/viewtopic.php?f=642&t=730171

Additional explanation about the controller helloworld.php file changes would be helpful.[edit]

The controller helloworld.php file changes from

// set default view if not set
JRequest::setVar('view', JRequest::getCmd('view', 'HelloWorlds'));

To

// set default view if not set

$input = JFactory::getApplication()->input;

$input->set('view', $input->getCmd('view', 'HelloWorlds'));

without any explanation as to the changes.


      • JRequest is depricated and JInput is to be used

The helper filename is important[edit]

I think this is the first place the helper file was discussed, and I found out the hard way that the file name needs to be the component name (in lower case I think). HelloWorldHelper.php (named after the class) seemed to work in every respect except for maintaining the submenu when on the categories submenu item. It has to be helloworld.php