Leggi argomento - [MT] Elenco post per blogger

Vuoi partecipare? RegistratiRegistrati al forum!

[MT] Elenco post per blogger

 
Nuovo argomento   Rispondi    Indice del forum -> Servizi e piattaforme
Precedente :: Successivo  
Autore Messaggio
fradefra
Utente


Registrato: 08/07/06 16:32
Messaggi: 55
Residenza: Lonigo (VI)

MessaggioInviato: Lun Lug 10, 2006 6:05 am    Oggetto: [MT] Elenco post per blogger Rispondi citando

Posto qui la richiesta, perché credo possa essere utile a molti.
Mi interessa creare un elenco dei post pubblicati da un certo autore/blogger. Weppos in chat mi diceva che esiste la possibilità.

Eccomi a fare la richiesta.... come?
_________________
YoYo - Formazione rotolante
22 e 23 gennaio, Corso strategia di avvio di un ecommerce, a Verona
Top
Profilo Invia messaggio privato Invia e-mail HomePage MSN
weppos
Amministratore


Registrato: 20/05/06 17:34
Messaggi: 296

MessaggioInviato: Lun Lug 10, 2006 8:07 am    Oggetto: Rispondi citando

Ci sono due modi per poter procedere.

Il primo consiste nell'installare il plugin Custom Fields, uno dei migliori plugin che io abbia mai visto per Movable Type in grado di potenziare la piattaforma fornendo un framework per creare illimitati campi personalizzati.

Ad esempio è possibile creare nuovi campi testo, nuovi campi URL associati sia alle categorie sia ai singoli post.

In modo automatico Custom Fields offre anche un nuovo tipo di archivio.
Come è disponibile di default l'archivio per data e per categoria, Custom Fields implementa l'archivio per autore con tutta una serie di tag correlati.

Codice:
Tags: <MTAuthors>, <MTAuthorData>, <$MTAuthorID$>, <$MTAuthorName$>, <$MTAuthorNickname$>, <$MTAuthorEmail$>, <$MTAuthorURL$>, <$MTAuthorLink$>, <$MTAuthorPublicKey$>, <$MTAuthorBlogCount$>, <$MTAuthorEntryCount$>, <$MTAuthorDataFieldName$>, <$MTAuthorDataFieldDescription$>, <$MTAuthorDataFieldValue$>, <$MTAuthorDataIfFieldValue$>


La seconda opzione consiste nello sfruttare un linguaggio di programmazione lato server.
Nel mio caso, uso spesso PHP con Movable Type poiché MT integra una serie di filtri apposta per questo linguaggio.

E' quindi possibile creare un template che crei in automatico un array PHP di post per autore, poi includerlo nei template ed usarlo per stampare la lista degli ultimi utenti. Smile

La stessa cosa vale per molti altri comandi.
Io ad esempio adotto questa tecnica per stampate le ultime pubblicazioni nella homepage di RSS World.
Top
Profilo Invia messaggio privato
fradefra
Utente


Registrato: 08/07/06 16:32
Messaggi: 55
Residenza: Lonigo (VI)

MessaggioInviato: Lun Lug 10, 2006 8:29 am    Oggetto: Rispondi citando

Grazie.
Penso che metterò su il plugin. Si tratta di una cosa incasinata? Onestamente i plugin non mi sono mai molto piaciuti. Ho sempre la sensazione che un giorno chi l'ha fatto si stanca e tu ti ritrovi con un pezzo di software di cui non sai più che fare. Inoltre, passando alla nuova versione di MT, il plugin funzionerà ancora?

Mi piacerebbe anche l'idea del php. é grosso il pezzo di codice da inserire?
_________________
YoYo - Formazione rotolante
22 e 23 gennaio, Corso strategia di avvio di un ecommerce, a Verona
Top
Profilo Invia messaggio privato Invia e-mail HomePage MSN
weppos
Amministratore


Registrato: 20/05/06 17:34
Messaggi: 296

MessaggioInviato: Mar Lug 11, 2006 11:32 am    Oggetto: Rispondi citando

fradefra ha scritto:
Grazie.
Penso che metterò su il plugin. Si tratta di una cosa incasinata? Onestamente i plugin non mi sono mai molto piaciuti. Ho sempre la sensazione che un giorno chi l'ha fatto si stanca e tu ti ritrovi con un pezzo di software di cui non sai più che fare. Inoltre, passando alla nuova versione di MT, il plugin funzionerà ancora?

Mi piacerebbe anche l'idea del php. é grosso il pezzo di codice da inserire?


Il plugin non è complicato, ma ha l'inconveniente della compatibilità nel caso di nuove versioni.

Per il PHP io ho creato un template così

Codice:
<?php

$posts = array();
<MTEntries lastn="9999">
$posts[] = array(
      'EntryID' => '<$MTEntryID$>',
      'EntryTitle' => "<$MTEntryTitle encode_php="qq"$>",
      'EntryExcerpt' => "<$MTEntryExcerpt encode_php="qq"$>",
      'EntryPermalink' => '<$MTEntryPermalink$>',
      'EntryDate' => '<$MTEntryDate$>',
      'EntryModifiedDate' => '<$MTEntryModifiedDate$>',
      'EntryAuthor' => '<$MTEntryAuthorDisplayName encode_php="q"$>'
   );
</MTEntries>
?>


E poi nelle pagine richiami semplicemente il contenuto completo dell'array se vuoi tutto oppure solo un numero di indici stabilito.

Puoi raggruppare l'array per quello che preferisci, oppure stampare solo le entries per autore.
Top
Profilo Invia messaggio privato
fradefra
Utente


Registrato: 08/07/06 16:32
Messaggi: 55
Residenza: Lonigo (VI)

MessaggioInviato: Mar Lug 11, 2006 12:06 pm    Oggetto: Rispondi citando

Grazie Smile
A questo punto, uso il tuo codice che mi pare più indicato per quello che serve a me.
_________________
YoYo - Formazione rotolante
22 e 23 gennaio, Corso strategia di avvio di un ecommerce, a Verona
Top
Profilo Invia messaggio privato Invia e-mail HomePage MSN
fradefra
Utente


Registrato: 08/07/06 16:32
Messaggi: 55
Residenza: Lonigo (VI)

MessaggioInviato: Gio Lug 13, 2006 7:07 am    Oggetto: Rispondi citando

Ho fatto una modifica al codice suggerito da weppos:

Codice:

<!-- elenco post dell'autore -->
<?php $Autore = "copertina75";  ?>
<div id="post-autore">
  <div id="titolo">Ultimi Post scritti da <?php echo $Autore ?>
          </div><br>
  <?php
    <MTEntries lastn="1000">
      If (<$MTEntryAuthorDisplayName encode_php="q"$>
           == $Autore ) {
        echo "<p><a href=\"<$MTEntryPermalink$>\">
              <$MTEntryTitle encode_php="qq"$></a>
               - scritto il <$MTEntryDate format=\"%x\"$><br>";
        echo "<$MTEntryExcerpt  encode_php="qq" $><br>";
        echo "<div id=\"more\"><a href=\"
                <$MTEntryPermalink$>#more\">
                (segue...)</a></div></p>";
      }
    </MTEntries>
  ?>
</div>


Credo che ci siano i seguenti vantaggi:
- non dovendo ordinare nulla, non carico una tabella
- visualizzo solo i post dell'autore che mi interessa
- carico solo le variabili che mi interessano

Mi resta solo un dubbio. Se mettessi una variabile di controllo per stampare, diciamo solo i primi cento, come salto fuori dal ciclo?
_________________
YoYo - Formazione rotolante
22 e 23 gennaio, Corso strategia di avvio di un ecommerce, a Verona
Top
Profilo Invia messaggio privato Invia e-mail HomePage MSN
weppos
Amministratore


Registrato: 20/05/06 17:34
Messaggi: 296

MessaggioInviato: Gio Lug 13, 2006 8:06 am    Oggetto: Rispondi citando

Scritto in questo modo non puoi poiché non sei in un ciclo PHP, ma in quello dei tag di MT.
Questo è uno dei motivi per i quali consigliavo di precaricare un array.

Ad ogni modo, il tag MTEntries ha un filtro interno.
Potresti modificare in

Codice:
<!-- elenco post dell'autore -->
<?php
$Autore = "copertina75"; 
?>
<div id="post-autore">
  <div id="titolo">Ultimi Post scritti da <?php echo $Autore ?></div><br />
  <?php
    <MTEntries author="copertina75" lastn="100">
        echo "<p><a href=\"<$MTEntryPermalink$>\">
              <$MTEntryTitle encode_php="qq"$></a>
               - scritto il <$MTEntryDate format=\"%x\"$><br>";
        echo "<$MTEntryExcerpt  encode_php="qq" $><br>";
        echo "<div id=\"more\"><a href=\"
                <$MTEntryPermalink$>#more\">
                (segue...)</a></div></p>";
    </MTEntries>
  ?>
</div>


In teoria in questo modo potresti fare anche a meno di PHP.
PErò dovrai creare le pagine attraverso un template INDEX di Movable Type oppure i tag MT non verranno interpretati.
Top
Profilo Invia messaggio privato
fradefra
Utente


Registrato: 08/07/06 16:32
Messaggi: 55
Residenza: Lonigo (VI)

MessaggioInviato: Gio Lug 13, 2006 8:48 am    Oggetto: Rispondi citando

Fatto, funziona tutto perfettamente Smile
_________________
YoYo - Formazione rotolante
22 e 23 gennaio, Corso strategia di avvio di un ecommerce, a Verona
Top
Profilo Invia messaggio privato Invia e-mail HomePage MSN
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Servizi e piattaforme Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi