php - init model from controller joomla 3.1 -
i try call model 1 of joomla controller doesn't seem work.
class tieraerztecontrollerdatatable extends jcontrollerlegacy { /** * display task * * @return void */ function display($cachable = false) { // set default view if not set $input = jfactory::getapplication()->input; $model = $this->getmodel('datatable'); $model->gettabledata('grumpi_tieraerzte', 'id', array('id','name','strasse','telefon','fax')); die(); } } in model placed var_dump not accessed. how can debug model call in controller?
i try access models return following url /administrator/index.php?option=com_tieraerzte&task=datatable.display&{arguments model}
trying debug codes piece piece seems model accessed , code causing problem
// paging $slimit = ""; if (isset(jrequest::getvar('idisplaystart')) && jrequest::getvar('idisplaylength') != '-1') { $slimit = "limit " . intval(jrequest::getvar('idisplaystart')) . ", " . intval(jrequest::getvar('idisplaylength')); } the whole method:
public function gettabledata($table, $index_column, $columns) { $db = jfactory::getdbo(); $query = $db->getquery(true); // paging $slimit = ""; if (isset(jrequest::getvar('idisplaystart')) && jrequest::getvar('idisplaylength') != '-1') { $slimit = "limit " . intval(jrequest::getvar('idisplaystart')) . ", " . intval(jrequest::getvar('idisplaylength')); } // ordering $sorder = ""; if (isset(jrequest::getvar('isortcol_0'))) { $sorder = "order "; ($i = 0; $i < intval(jrequest::getvar('isortingcols')); $i++) { if (jrequest::getvar('bsortable_' . intval(jrequest::getvar('isortcol_' . $i))) == "true") { $sortdir = (strcasecmp(jrequest::getvar('ssortdir_' . $i), 'asc') == 0) ? 'asc' : 'desc'; $sorder .= "`" . $columns[intval(jrequest::getvar('isortcol_' . $i))] . "` " . $sortdir . ", "; } } $sorder = substr_replace($sorder, "", -1); if ($sorder == "order by") { $sorder = ""; } } /* * filtering * note not match built-in datatables filtering * word word on field. it's possible here, concerned efficiency * on large tables, , mysql's regex functionality limited */ $swhere = ""; if (isset(jrequest::getvar('ssearch')) && jrequest::getvar('ssearch') != "") { $like = '%' . jrequest::getvar('ssearch') . '%'; $swhere = "where ("; ($i = 0; $i < count($columns); $i++) { if (isset(jrequest::getvar('bsearchable_' . $i)) && jrequest::getvar('bsearchable_' . $i) == "true") { $swhere .= "`" . $columns[$i] . "` '" . $like . "' or "; } } $swhere = substr_replace($swhere, "", -3); $swhere .= ')'; } // individual column filtering ($i = 0; $i < count($columns); $i++) { if (isset(jrequest::getvar('bsearchable_' . $i)) && jrequest::getvar('bsearchable_' . $i) == "true" && jrequest::getvar('ssearch_' . $i) != '') { if ($swhere == "") { $swhere = "where "; } else { $swhere .= " , "; } $swhere .= "`" . $columns[$i] . "` ? " . $i . " "; } } // sql queries data display $squery = "select sql_calc_found_rows `" . str_replace(" , ", " ", implode("`, `", $columns)) . "` `" . $table . "` " . $swhere . " " . $sorder . " " . $slimit; $statement = $this->_db->prepare($squery); // bind parameters if (isset(jrequest::getvar('ssearch')) && jrequest::getvar('ssearch') != "") { $statement->bind_param('s', $like); } ($i = 0; $i < count($columns); $i++) { if (isset(jrequest::getvar('bsearchable_' . $i)) && jrequest::getvar('bsearchable_' . $i) == "true" && jrequest::getvar('ssearch_' . $i) != '') { $statement->bind_param('s' . $i, '%' . $_get['ssearch_' . $i] . '%'); } } $db->setquery($squery); $res = $db->loadobjectlist(); $rresult = array(); foreach ($res $row) { $rresult[] = $row; } $ifilteredtotal = current($db->setquery('select found_rows()')->loadresultarray()); // total number of rows in table $squery = "select count(`" . $index_column . "`) `" . $table . "`"; $itotal = current($db->setquery($squery)); // output $output = array( "secho" => intval($_get['secho']), "itotalrecords" => $itotal, "itotaldisplayrecords" => $ifilteredtotal, "aadata" => array() ); // return array of values foreach ($rresult $arow) { $row = array(); array_push($row, '<input type="checkbox" id="somecheckbox" name="somecheckbox" />'); ($i = 0; $i < count($columns); $i++) { //var_dump($arow->$columns[$i]); if ($columns[$i] != '') { $row[] = $arow->$columns[$i]; } } array_push($row, ' <div class="btn-group" id="status"> <input type="button" class="btn b1" value="on"> <input type="button" class="btn b0 btn-danger" value="off"> </div> '); array_push($row, ' <div class="clearfix"> <a href =""><div class="label label-important" style="padding:6px 9px; margin-right:5px"><span class="icon-trash"></span></div></a> <a href="index.php?option=com_tieraerzte&task=tieraerzt.edit&layout=edit&id=' . $arow->id . '"><div class="label label-success" style="padding:6px 9px"><span class="icon-cog"></span></div></a> </div> '); $output['aadata'][] = $row; } echo json_encode($output); }
make sure $model inside controller not null. if it's not null, problem somewhere in model's method called.
if $model null, somehow model calling not loaded. temporary try include file
require_once jpath_component . '/models/datatable.php'
Comments
Post a Comment