• Super User

    [Risolto] Paginare Feed RSS

    ciao, sto ultimando un sito che usa dei Feed RSS di Ebay per prendere le mie aste di diversi account e riunirle in un unico feed.
    Mi funziona tutto benone, solo che il feed è molto lungo e il modulo che ho usato non fa la paginazione...(non posso dire che modulo è qui su, è un modulo commerciale criptato e l'ho decriptato facendo un sacco di modifiche, al massimo ve lo dico in pvt)

    vorrei sapere dai più esperti se c'è qualcosa di "pronto" in Joomla che permetta la paginazione dei contenuti,che però nel mio caso sono un feed RSS visualizzato in un modulo...


  • Super User

    non ho capito molto la tua richiesta, ma se intendi l'intero contenuto di un feed dentro un modulo, non mi sembra una buona scelta, perchè verrebbe troppo lungo e sgradevole a livello grafico.

    Se non ho capito, prova a riformulare la richiesta, magari con qualche esempio 😉


  • Super User

    infatti...
    il mio problema è che il feed è troppo lungo (mi pesca le aste ebay e spesso sono centinaia)
    lo devo per forza paginare ma il modulo che uso non lo permette...

    (vabbè, il link al sito è www. librivendolo.com è tutto molto provvisorio ma insomma la strutura è quella
    ...


  • Super User

    Sicuro di non aver toccato codice da qualche parte ?
    perchè è strano che ti faccia fare la scelta numerica di visualizzazione, e non visualizzi la paginazione...:?

    Fai una cosa, giusto per provare, inserisci il modulo in un contenuto, e vediamo come reagisce...


  • Super User

    il codice del modulo l'ho modificato di brutto. quella scelta numerica di cui parli è una "search bar" del modulo in questione...
    il modulo lo visualizzo in "user1"...
    come faccio a mettere il contenuto del modulo in un contenuto???


  • Super User

    Amministrazione>sito>gestione template>posizione blocchi modulo

    qui crea una nuova posizione, la chiami ebay, e salvi.

    Poi vai nei moduli del sito, accedi al modulo che stai usando, e gli assegni la posizione appena creata "ebay", salvi e chiudi.

    ora crea un nuovo contenuto da visualizzare in home page, al suo interno inserisci questa stringa:

    {mosloadposition ebay}
    

    salva e chiudi.

    controlla come reagisce.


  • Super User

    ok proviamo!!!;)

    Globo, grazie come sempre per l'help e il tempo che mi/ci dedichi!!!


  • Super User

    OK, fatto, è già meglio nel senso che il selettore (combobox) con il numero di libri da visualizzare funziona...
    ma non compaiono i pulantini per lo scorrimento a pagine successive....
    mi sa a sto punto che mi devo inventare qualcosa nel modulo...


  • Super User

    mi dovresti creare un account da superadmin e posso controllare, se vuoi...
    se decidi di si, i dati inviali con un PM !


  • Super User

    sì certo, grazie mille!

    i dati sono:
    User: xxx
    Pas: xxxx

    😉
    dai te li mando in PVT. grazie!


  • Super User

    Nada, c'è da mettere mano al codice per riuscire a fare qualcosa...

    ma possibile che vendono dei componenti, senza nemmeno fornire un minimo di supporto online ? 😞


  • Super User

    immaginavo...proverò a smanettare il codice...

    in effetti il supporto di questo componente è quasi nullo...
    il produttore mi aveva detto che supportava multi account ebay (non è vero) e nelle specifiche spiegava che si poteva impostare qualsiasi lingua (purchè supportata da un sito ebay. Questo era parizalmente vero, ma il codice del modulo pescava sempre il feed da ebay.com e quindi visualizzava solo i prezzi in US$, e cliccando sull'asta si veniva sempre inviati su ebay.com anzichè sul .it

    inoltre, la maggior parte del codice era criptato, sono riuscito a decriptarlo in un paio di passaggi e ad averlo in chiaro, almeno me lo posso modificare da solo...

    PS: le password che avevo messo qui su erano finte...;)

    PS2: grazie ancora!


  • Super User

    😄
    credo di avercela fatta!!!
    :vaiii:


  • Super User

    Bene, se ne hai voglia, puoi postare qui la soluzione, in modo da poter essere di aiuto a coloro che useranno il tuo stesso componente in futuro .
    Grazie 😉

    PS: comunque, ti consiglio di riusare la modalità del modulo nel contenuto, che si vedeva molto meglio come struttura 😉


  • Super User

    ciao Globo,

    per quanto riguarda il componente usato, peferisco non rivelarlo (ma tu lo sai...;)) e non postare qui il codice...si tratta di un componente commerciale, che conteneva del codice criptato, con un po' di fatica sono riuscito a decriptarlo e ad avere il codice "in chiaro" per poterlo modificare...ma questo è ovviamente contro qualsiasi licenza :nonono: perciò non lo renderò pubblico...

    per quanto riguarda il metodo di paginazione sono partito da [URL=http://www.guidoz.it/forum/viewtopic.php?p=4694&sid=a527daac6c9f390d5e6e3ce84ff384f4]Questo Esempiodi script ideato da tale utente "span"...

    Prima costruisce una variabile contanente HTML, dove ad ogni "news" aggiunge un "||"

     <h3>News</h3> 
    // Assegna il codice delle news ad una variabile 
    $code = "<h4>13-12-04: E' morto il mio gatto</h4> 
    <p>Dopo 15 anni di coccole, fusa e cacche qua e la per l'appartamento  il mio gatto ha lasciato la vita terrena per andare a fare i suoi bisognini nel condominio di Dio</p> 
    ||  
    <h4>29-09-2004- Guido love Saibal</h4> 
    <p>Guido ama veramente Saibal, o è solo un po' lecchino??</p> 
    || 
    Altre news...."
    

    poi lo script di paginazione vero e proprio:

    
    
    <? 
    // crea un array con le news 
    $code = explode("||", $code); 
    // conte il numero di news 
    $nnews = count($code); 
    // News per pagina 
    $newsperpag = 6; 
    // Ricava la pagina 
    $getpag = $_GET['pag']; 
    if(!isset($getpag)){ 
                         $getpag = 1; 
    } 
    // La prima news legata alla pagina 
    $ni = ($getpag -1) * $newsperpag; 
    // L'ultima news legata alla pagina 
    $nf = $getpag * $newsperpag -1; 
    // stampa le N news legate alla gagina 
    for($i=$ni;$i<=$nf;$i++){ 
                          echo $code*; 
    } 
    // Conta il numero di pagine 
    $npag = ceil($nnews/$newsperpag); 
    // Stampa il link alle pagine 
    echo "<p>-"; 
    for($i=1;$i<=$npag;$i++){ 
                              if($i != $getpag){ 
                                                  echo " <a href=\"?pag=$i\">$i</a> -"; 
                              }else{ 
                                      echo " <strong>$i</strong> -"; 
                              } 
    } 
    echo "</p>"; 
    ?> 
    
    
    

    io non partivo da codice HTML ma da un FEED RSS...ma ho usato la stessa logica...

    Riassumo:

    1. Il componente Joomla che ho usato legge i Feed RSS da Ebay.
    2. ho modificato il componente in modo che ad ogni elemento <item> </item> dell' XML estratto venissero aggiunti i separatori "||"
    3. a questo punto lo script carica ogni <item> del XML in un array, e la variabile $newsperpag stabilisce quanti <item> devono essere visualizzati in ogni pagina...

    questo metodo si può applicare a qualsiasi feed RSS o frammento di XML con opportune modifiche...

    se avete dubbi o volete lumi scrivetemi in pvt. ciao!


  • Super User

    Ottimo, grazie per la collaborazione 😉


  • Super User

    grazie a te per l'aiuto e i suggerimenti.

    ah, magari metti [risolto] nel titolo...
    :ciauz: