Back to top

Autore Topic: [Risolto] J2.5 restituire tutti i record senza paginazione  (Letto 3542 volte)

Offline skyline81

  • Appassionato
  • ***
  • Post: 310
    • Mostra profilo
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!
« Ultima modifica: 19 Gen 2013, 16:05:35 da skyline81 »
tutti siamo utili e nessuno indispensabile... tranne il defined( '_JEXEC') or die

mau_develop

  • Visitatore
Re:J2.5 restituire tutti i record senza paginazione
« Risposta #1 il: 19 Gen 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.

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:J2.5 restituire tutti i record senza paginazione
« Risposta #2 il: 19 Gen 2013, 15:55:37 »
devi fare l'override della funzione nel tuo model della funzione contenuta nella classe JModel

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

        return $result;
}

con

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

        return $result;
}
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline skyline81

  • Appassionato
  • ***
  • Post: 310
    • Mostra profilo
Re:J2.5 restituire tutti i record senza paginazione
« Risposta #3 il: 19 Gen 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


Codice: [Seleziona]
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


Codice: [Seleziona]

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...
tutti siamo utili e nessuno indispensabile... tranne il defined( '_JEXEC') or die

Offline skyline81

  • Appassionato
  • ***
  • Post: 310
    • Mostra profilo
Re:J2.5 restituire tutti i record senza paginazione
« Risposta #4 il: 19 Gen 2013, 16:04:19 »
grazie Simone per la dritta... messa in campo e funziona alla grande!


 :)
tutti siamo utili e nessuno indispensabile... tranne il defined( '_JEXEC') or die

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:J2.5 restituire tutti i record senza paginazione
« Risposta #5 il: 19 Gen 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
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline skyline81

  • Appassionato
  • ***
  • Post: 310
    • Mostra profilo
Re:[Risolto] J2.5 restituire tutti i record senza paginazione
« Risposta #6 il: 19 Gen 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 ;)
tutti siamo utili e nessuno indispensabile... tranne il defined( '_JEXEC') or die

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:[Risolto] J2.5 restituire tutti i record senza paginazione
« Risposta #7 il: 19 Gen 2013, 16:19:38 »
La prima serve per ottenere il totale per creare la paginazione la seconda per ottenere i record da mostrare
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

mau_develop

  • Visitatore
Re:J2.5 restituire tutti i record senza paginazione
« Risposta #8 il: 19 Gen 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 :)
« Ultima modifica: 19 Gen 2013, 17:17:29 da mau_develop »

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:[Risolto] J2.5 restituire tutti i record senza paginazione
« Risposta #9 il: 19 Gen 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
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

mau_develop

  • Visitatore
Re:[Risolto] J2.5 restituire tutti i record senza paginazione
« Risposta #10 il: 19 Gen 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

Offline skyline81

  • Appassionato
  • ***
  • Post: 310
    • Mostra profilo
Re:J2.5 restituire tutti i record senza paginazione
« Risposta #11 il: 20 Gen 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
tutti siamo utili e nessuno indispensabile... tranne il defined( '_JEXEC') or die

Offline skyline81

  • Appassionato
  • ***
  • Post: 310
    • Mostra profilo
Re:[Risolto] J2.5 restituire tutti i record senza paginazione
« Risposta #12 il: 20 Gen 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...

tutti siamo utili e nessuno indispensabile... tranne il defined( '_JEXEC') or die

 



Web Design Bolzano Kreatif