Here's the answer to a fairly simple task - which is how to add a form and button inside a module. Keeping within our nice MVC format.
Here's some of the searches I've done to research the solution for this.
joomla should a mysql UPDATE query be in MODEL of Controller
joomla development how to use a POST form in module
Retrieving Data for GET & Post - Joomla Development
my module has these files
modules/mod_PRSwarnings/tmpl/default.php
modules/mod_PRSwarnings/tmpl/index.php
modules/mod_PRSwarnings/mod_PRSwarnings.php
modules/mod_PRSwarnings/mod_PRSwarnings.xml
modules/mod_PRSwarnings/helper.php
modules/mod_PRSwarnings/index.php
MODEL - this goes in helper.php
Inside your CLASS bracket add
public function setCancelWarnings($shift_id){
$db = &JFactory::getDBO();
$query = "UPDATE #__pf_time_tracking ";
$query .= "SET `dShftChked` = '1' ";
$query .= "WHERE id =$shift_id ";
$db->setQuery($query);
$db->query();
echo "
QUERY:$query
";
}
CONTROLLER - this goes in modules/mod_PRSwarnings/mod_PRSwarnings.php
!! enter below the current code on your contoller page.
$edit_warnings = JRequest::getVar('edit_warnings');
// echo "EDIT - $edit_warnings
";
if($edit_warnings=='Cancel Warninig'){
$shift_id = JRequest::getVar('shift_id', '', 'POST');
$setCancelWarnings = ModPRSwarnings::setCancelWarnings($shift_id);
}
VIEW - this goes in tmpl/default.php
put this where you want the form to be displayed
echo "
";
Although the code above is specific to my website I think it will be useful to others. As it shows a good demonstration of the logic of MVC in Joomla. I welcome any discussion you may have on this. Would you have done it differently.
No comments:
Post a Comment