Joomla.it Forum

Non solo Joomla... => Sviluppo => : skyline81 19 Jan 2013, 15:02:06

: [Risolto] J2.5 restituire tutti i record senza paginazione
: skyline81 19 Jan 2013, 15:02:06
sembra una banalità ma sto impazzendo... sicuramente mi sfugge qualcosa!


ad ogni modo... qualcuno saprebbe indicarmi come restituire tutti i dati di una query senza l'utilizzo della paginazione standard?


nel model richiamato dalla vista setto la query ma questa quando va in esecuzione gli viene aggiunta di base la paginazione standard di Joomla!
: Re:J2.5 restituire tutti i record senza paginazione
: mau_develop 19 Jan 2013, 15:43:44
 gli viene aggiunta di base la paginazione standard di Joomla!
----------------------------------------------------------
no, gli viene aggiunta se gliel'hai aggiunta... o se hai copiato un componente senza sapere cosa stavi facendo e quindi hai copiato ciò che riguarda la paginazione.
: Re:J2.5 restituire tutti i record senza paginazione
: simone83 19 Jan 2013, 15:55:37
devi fare l'override della funzione nel tuo model della funzione contenuta nella classe JModel

:
protected function _getList($query, $limitstart = 0, $limit = 0)
{
        $this->_db->setQuery($query, $limitstart, $limit);
        $result = $this->_db->loadObjectList();

        return $result;
}

con

:
protected function _getList($query, $limitstart = 0, $limit = 0)
{
        $this->_db->setQuery($query);
        $result = $this->_db->loadObjectList();

        return $result;
}
: Re:J2.5 restituire tutti i record senza paginazione
: skyline81 19 Jan 2013, 15:58:57
ciao mau...


ti risparmio il codice relativo all'entry point del componente e al controller in quanto non credo c'entrino molto...


l'entry point instanzia la classe del componente mentre il controller ne setta come view di default una che ho chiamato summary...


la summaryView richiama il suo model models/summary.php che contiene il seguente codice


:
class ComponentXModelSummary extends JModelList {
   protected function getListQuery() {
      $db = JFactory::getDBO();
      $query = $db->getQuery( true );
      $query->select( 'Campo1, count(Campo2) as numCampo2');
      $query->from( '#__mytable' );
      $query->group( 'campo1' );
      $query->order( 'numCampo2 DESC');
      return $query;
   }
}


nel view.html.php della summaryView invece


:

class ComponentXViewSummary extends JView {
   function display( $tpl = null ) {


      $items = $this->get( 'Items' );     
      $this->items = $items;
     
      $this->addToolBar();


      parent::display( $tpl );
   }


e il metodo addToolBar come puoi intuire aggiunge titolo ed alcuni pulsanti...
: Re:J2.5 restituire tutti i record senza paginazione
: skyline81 19 Jan 2013, 16:04:19
grazie Simone per la dritta... messa in campo e funziona alla grande!


 :)
: Re:J2.5 restituire tutti i record senza paginazione
: simone83 19 Jan 2013, 16:06:13
Comunque quello che mau vi incoraggia a fare è quello di guardare il codice che utilizzate per sforzarvi a capire cosa usate, è chiaro che la paginazione sta in una funzione contenuta nelle classi padre, ci vuole poco ad arrivarci e guardare
: Re:[Risolto] J2.5 restituire tutti i record senza paginazione
: skyline81 19 Jan 2013, 16:12:58
Ma difatti avevo capito mau cosa volesse intendere...   ;)


Il mio problema stava nel fatto che volevo provare ad inserire nella view.html.php una variabile che andasse a settare il list.limit al numero totale di record che avevo ricavato con il metodo $this->get( 'Total' )


mentre la soluzione era eseguire l'override come hai suggerito.


PS: una domanda... avevo abilitato il debug per capire cosa stava succedendo sotto e notavo due query passate al db: la prima era quella contenuta nel model mentre la seconda era quella a cui J! aveva aggiunto il LIMIT.


Ora ho sempre due query... entrambi uguali... normale secondo voi?


PS: grazie ancora ;)
: Re:[Risolto] J2.5 restituire tutti i record senza paginazione
: simone83 19 Jan 2013, 16:19:38
La prima serve per ottenere il totale per creare la paginazione la seconda per ottenere i record da mostrare
: Re:J2.5 restituire tutti i record senza paginazione
: mau_develop 19 Jan 2013, 17:15:50
Comunque quello che mau vi incoraggia a fare è quello di guardare il codice che utilizzate per sforzarvi a capire cosa usate, è chiaro che la paginazione sta in una funzione contenuta nelle classi padre, ci vuole poco ad arrivarci e guardare

yess! ... mi fa piacere che qualcuno se ne accorga anche se sono sempre users abbastanza evoluti a farlo, gli altri si limitano a definirla superbia, arroganza, supponenza etc....

Ora ho sempre due query... entrambi uguali... normale secondo voi?
--------------------------------------------------------------------------------------
...un trucco per rimanere calmi è non guardare mai quante query fa joomla :)
: Re:[Risolto] J2.5 restituire tutti i record senza paginazione
: simone83 19 Jan 2013, 17:38:45
mi dai dell'evouluto mi lusinghi  ;D
penso che sia palese il ragionamento che fai tu e penso che sia piu che giusto x problemi di questo tipo che si risolvono solo guardando un po in giro. Forse sbaglio xche a me piace dare la soluzione se ci vogliono poche righe per darla. Comunque mi rendo conto che solo con i miseri tutorial che ci sono in giro non è facile sviluppare qualcosa e ci vuole tantissimo tempo per raggiungere un livello decente
: Re:[Risolto] J2.5 restituire tutti i record senza paginazione
: mau_develop 19 Jan 2013, 18:14:01
beh dai, sviluppi e non mi sembra pasticciando...

...sì infatti, ... il problema è che si incaxano subito e non hai tempo di portare nessuno a ragionare ma non è che lo avrei mollato lì con quella risposta...
Spesso fornire un pezzetto di codice è "pericoloso" proprio perchè funziona.... il problema è che tu sai come... lui no quindi potrebbe usarlo male
: Re:J2.5 restituire tutti i record senza paginazione
: skyline81 20 Jan 2013, 10:06:46
...un trucco per rimanere calmi è non guardare mai quante query fa joomla :)

------------------------------------------------------------------------------------------------------


lo terrò a mente  ;)
comunque grazie mille a entrambi per il supporto
: Re:[Risolto] J2.5 restituire tutti i record senza paginazione
: skyline81 20 Jan 2013, 10:14:34
Comunque mi rendo conto che solo con i miseri tutorial che ci sono in giro non è facile sviluppare qualcosa e ci vuole tantissimo tempo per raggiungere un livello decente


Ahimé quanto è vera questa cosa...