Developing a MVC Component/Creating an Administrator Interface
From Joomla! Documentation
Revision as of 11:13, 16 February 2009 by Jamesconroyuk
I'm not sure if anybody checks this, but I'm having a difficult time making my own component out of this document.
The first three chapters of this documentation are great. They are simple and to the point. The fourth, this page, is very confusing.
First off, the word "hello" is way over loaded. In the Creating an Admin Interface there are two models and two views: Hello and Hellos
It's impossible to know why we need two different models. Why cant we use one model and two views? Its totally impossible to understand which one gets called when.
I have discovered there are a lot of name conventions used here, but after reading this document over and over, it's still very difficult to know what the conventions are. This is probably stemming from "hello" being way too overloaded.
The method "get()" in JView is called in both views. It is supposed to automatically know which model to use, and which method to call. However, I don't think I followed the naming convention correctly, as it simply is not working (I get empty data with no error).
I think I could untangle the naming conventions myself, but with "hello" so overloaded in this example, I am having no luck guessing.
Great up to chapter 3
The documentation was great upto chapter 3. Got confused in 4th chapter.
Also, this doesn't cover how to create sub menus for a component File:Http://www.vojtechovsky.net/joomla/component/tutorial-joomla-1.5-free-component.png
Suggetions for improvement
- This is a really long and tedious tutorial with a lot of very useful information in it. I think it would help to break it down into parts or creating separate tutorials covering this material.
ERROR ON PAGE
$checked = JHTML::_( 'grid.id', $i, $row->id ); $link = JRoute::_( 'index.php?option=com_hello>controller=hello>task=edit>cid='. $row->id );
$checked = JHTML::_( 'grid.id', $i, $row->id ); $link = JRoute::_( 'index.php?option=com_hello&controller=hello&task=edit&cid='. $row->id );