+ Antworten
Ergebnis 1 bis 5 von 5

Thema: JHTML::_ grid.sort -> Bring es nicht zum laufen...

  1. #1
    Neu an Board
    Registriert seit
    08.03.2011
    Ort
    Reichenbach
    Beiträge
    74
    Bedankte sich
    3
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard JHTML::_ grid.sort -> Bring es nicht zum laufen...

    Hey Leute,

    habe ein Problem mit meiner Komponente. Ich bekomm die Funktion einfach nicht zum laufen. Ich würde gerne im Adminbereich in meiner komponente die Felder Sortieren die ich bereits eingetragen habe. Leider habe ich keine Ahnung wie und wo ich was einfügen muss, bis auf in der view->tmpl->default.php

    PHP-Code:
    <th  class="title" width="100"><?php echo JHTML::_('grid.sort',   'Mannschaft''mannschaft', @$this->lists['order_Dir'], @$this->lists['order'] ); ?></th>
    In der view.html.php der Umfragenkomponente ist dazu eine Menge Code. Ich sehe da aber absolut nicht durch. Habe diesen auch schon in meine view.html.php Kopiert und angepasst. Geht leider alles nicht.


    Wie muss ich vorgehen? Wäre schön wenn mir jemand helfen könnte.

  2. #2
    Neu an Board
    Registriert seit
    08.03.2011
    Ort
    Reichenbach
    Beiträge
    74
    Bedankte sich
    3
    Erhielt 4 Danksagungen
    in 4 Beiträgen

    Standard

    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 != ? (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
    Angehängte Grafiken

  3. #3
    Verbringt hier viel Zeit
    Registriert seit
    09.08.2008
    Ort
    /dev/null
    Beiträge
    552
    Bedankte sich
    17
    Erhielt 63 Danksagungen
    in 62 Beiträgen

    Standard

    An dem gleichen Problem hänge ich jetzt auch seit fast 4 Tagen, ich habe es inzwischen aufgegeben, die Joomla-Interne Funktion zu nutzen und mache es über eine eigene JS-Klamotte, da brauche ich dann nur 1 Query für alles, kann die Anzeige der Datensätze limitieren und ist 1000 mal einfacher, als über 1000 Klassen + Methoden und sonstwas zu gehen

    Linux (und Joomla) ist wie guter xes, man kann es beschreiben oder darüber reden,
    mann weiß erst was es bedeutet, wenn man es erlebt hat :-)


  4. #4
    War schon öfter hier
    Registriert seit
    23.09.2009
    Beiträge
    235
    Bedankte sich
    0
    Erhielt 62 Danksagungen
    in 59 Beiträgen

    Standard

    Auf Dauer mit einem Query alle (1000) Datensätze holen um sie anschließend mit JS zu sortieren oder filtern klingt wenig performant. Die übertriebene Problembeschreibung lässt eher darauf schließen, dass du Zusammenhänge nicht verstanden hast. Wo liegt das Problem?
    Tell 'em what they want to hear. That will keep them coming back for more. I 've got some for everyone.

  5. Erhielt Danksagungen von:


  6. #5
    Verbringt hier viel Zeit
    Registriert seit
    09.08.2008
    Ort
    /dev/null
    Beiträge
    552
    Bedankte sich
    17
    Erhielt 63 Danksagungen
    in 62 Beiträgen

    Cool

    Zitat Zitat von Barnum Beitrag anzeigen
    Auf Dauer mit einem Query alle (1000) Datensätze holen um sie anschließend mit JS zu sortieren oder filtern klingt wenig performant. Die übertriebene Problembeschreibung lässt eher darauf schließen, dass du Zusammenhänge nicht verstanden hast. Wo liegt das Problem?
    Mysql macht die zusätztlichen 500 Datensätze recht wenig aus, das einzige, was mehr wird, ist der Ram-Verbrauch, meine Methode hat den vorteil, das ich über JS die Seiten im Bruchteil einer Sekunde weiter schalten kann, statt jedesmal eine neue Query zu nutzen.
    Das Thema hier hat sich aber inzwischen erledigt, weil ich gerade alles auf J! 2.5.3 umstelle und noch nicht weiss, wie es da abläuft

    Linux (und Joomla) ist wie guter xes, man kann es beschreiben oder darüber reden,
    mann weiß erst was es bedeutet, wenn man es erlebt hat :-)


+ Antworten

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein