Ich hab jetzt mal noch ein wenig probiert. Habe es auch soweit hin bekommen das man die Spalten sortieren kann. Nur ein Problem besteht dabei noch. Wenn ich mich in den Admin Bereich einlogge und die Komponente auswähle, erscheinen nicht die Einträge, sondern eine Fehlermeldung .
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\myjoomla\libraries\joomla\database \database\mysql.php on line 344
Wenn ich dann anschließend auf eine der Spalten Klicke, erhalte ich die Ergebnisse/Einträge so sortiert wie ich es wollte.
Folgenden Code habe ich dafür in meinem Model eingefügt.
PHP-Code:
var $_total = null;
var $_pagination = null;
var $_data;
function __construct()
{
parent::__construct();
global $mainframe, $option;
$filter_order = $mainframe->getUserStateFromRequest( $option.'filter_order', 'filter_order', 'default_column_name', 'cmd' );
$filter_order_Dir = $mainframe->getUserStateFromRequest( $option.'filter_order_Dir', 'filter_order_Dir', 'asc', 'word' );
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = JRequest::getVar('limitstart', 0, '', 'int');
$limitstart = ($limit != 0 ? (floor($limitstart / $limit) * $limit) : 0);
$this->setState('filter_order', $filter_order);
$this->setState('filter_order_Dir', $filter_order_Dir);
$this->setState('limit', $limit);
$this->setState('limitstart', $limitstart);
}
Und dann noch
PHP-Code:
function _buildContentOrderBy()
{
global $mainframe, $option;
$orderby = '';
$filter_order = $this->getState('filter_order');
$filter_order_Dir = $this->getState('filter_order_Dir');
/* Error handling is never a bad thing*/
if(!empty($filter_order) && !empty($filter_order_Dir) ){
$orderby = ' ORDER BY '.$filter_order.' '.$filter_order_Dir;
}
return $orderby;
}
function _buildQuery()
{
$query = ' SELECT * '
. ' FROM #__fbf_match' . $this->_buildContentOrderBy();
return $query;
}
Wobei ich vermute das hier der Fehler liegt...
PHP-Code:
$query = ' SELECT * '
. ' FROM #__fbf_match' . $this->_buildContentOrderBy();
Danke
Lesezeichen