Archived talk

Difference between revisions of "Developing a MVC Component/Adding configuration"

From Joomla! Documentation

(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
In the function
 
In the function
  
 +
<source lang="php">
 
/**
 
/**
 
* Overloaded load function
 
* Overloaded load function
Line 29: Line 30:
 
}
 
}
 
}
 
}
 +
</source>
  
 
The line bracketed above is actually, $params->loadJSON($this->params);
 
The line bracketed above is actually, $params->loadJSON($this->params);
 
I am not sure which is 100% correct.
 
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 part13.zip I can't reach FrontEnd of HelloWorld component. I receive erorr 500. :( [[User:CodeBY|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.
 +
            '''</fieldset>'''
 +
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:
 +
 +
<ul>
 +
<li>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.</li>
 +
<li>In the file admin/tables/helloworld.php, the comment about deprecated code is confusing. It might be better if it read<br/>
 +
<blockquote>// loadJSON is @deprecated    12.1 (Joomla! 3)  Use loadString...</blockquote>
 +
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.</li>
 +
</ul>

Revision as of 14:46, 3 May 2013

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');
//------------------------------------------------------------
                       $params->loadJSON($this->item->params);
//------------------------------------------------------------
 
			$this->params = $params;
			return true;
		}
		else
		{
			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 part13.zip 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[edit]

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.

            </fieldset>

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[edit]

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.