J2.5 talk

Developing a MVC Component/Adding configuration

From Joomla! Documentation

Revision as of 14:38, 3 May 2013 by Tom Hutchison (Talk | contribs)

In the function

	 * Overloaded load function
	 * @param       int $pk primary key
	 * @param       boolean $reset reset data
	 * @return      boolean
	 * @see JTable:load
	public function load($pk = null, $reset = true) 
		if (parent::load($pk, $reset)) 
			// Convert the params field to a registry.
			$params = new JRegistry;                 
                       // loadJSON is @deprecated    12.1  Use loadString passing JSON as the format instead.
                       // $params->loadString($this->item->params, 'JSON');
			$this->params = $params;
			return true;
			return false;

The line bracketed above is actually, $params->loadJSON($this->params); I am not sure which is 100% correct.

Just done a quick test and the one WITHOUT the 'item' is correct.

After changing files from 0.12 to 0.13 and downloading I can't reach FrontEnd of HelloWorld component. I receive erorr 500. :( CodeBY 04:48, 4 May 2012 (CDT)

missing </fieldset> in admin\views\helloworld\tmpl\edit.php

It is not a critical error.

Looking at line 27 in the file admin\views\helloworld\tmpl\edit.php should look like this, as shown in the tutorial.


The file in the zipfile is missing this line </fieldset> (line 27)

Another minor detail is that the page on the website shows blocks of <?php ... ?> whereas the file as the php open and close per line.

Does not influence the working. But is good to know when comparing your code. I use winmerge to compare my files with those in the zip file. Hoping to find that typo that prevents my version from running as it should ;-(

Modifications that would make the tutorial clearer

I think the following 2 modifications would make this section of the tutorial clearer:

  • Earlier in the tutorial, in the file site/models/helloworld.php $msg was used for the message, and here is is $item. I think it would be helpful to stay with the same variable name throughout the tutorial.
  • In the file admin/tables/helloworld.php, the comment about deprecated code is confusing. It might be better if it read

    // loadJSON is @deprecated 12.1 (Joomla! 3) Use loadString...

    so it is more obvious that the current code is correct for this version (2.5) but not the future version (3). Not everyone knows what the 12.1 is referring to and it looks like it is saying the code the tutorial is telling you to use is deprecated.