L'override è la tecnica che permette la personalizzazione del codice generato dai moduli e dai componenti.
Con questa tecnica è possibile personalizzare la visualizzazione degli articoli, spostare la data, l'autore, ecc. o inserire il titolo in un box con gli angoli arrotondati, come ad esempio il mio.
Partendo dalla cartella principale di joomla, apriamo la cartella “components”, poi cartella “com_content” e poi la cartella “views” notando che contiene 5 cartelle che rispecchiano la tipologia di vista che possiamo impostare per la visualizzazione degli articoli. Non con tutti i file possiamo usare la tecnica dell'override, ma solo quelli contenuti nella cartella “tmpl” che si trova a sua volta in ogni cartella.
In questo articolo vi mostrerò come individuare e successivamente spostare i vari output della vista blog della prima pagina.
Per prima cosa dobbiamo creare nella cartella del template che utilizziamo una cartella chiamata “html”, all'interno di questa cartella ne dobbiamo creare un'altra con il nome “com_content”, perché questo componente gestisce la visualizzazione degli articoli, poi ne creiamo un'altra con il nome della tipologia di vista che vogliamo personalizzare, nel nostro caso “frontpage”. Qui incolleremo il file da personalizzare nel nostro esempio “default_item.php” che copieremo dalla cartella “views/frontpage/tmpl” sopra menzionata.
Apriamo il file ed iniziamo l'individuazione degli output
Partendo dalla linea 13 vediamo che dopo il tag <?php c'è la dichiarazione “if”, dobbiamo sapere che ogni dichiarazione “if” deve sempre essere chiusa da “endif” altrimenti potremmo riscontrare un comportamento anomalo nella visualizzazione, quindi se vogliamo spostare il titolo dell'articolo, dobbiamo spostare tutto il contenuto presente dalla riga 13 alla riga 22 come mostrato in figura.

Come si può notare dalla figura, il titolo, come anche gli altri elementi che vedremo successivamente, vengono "stampati" fra i tag “<td></td>”. Ricordo che questi tag creano una cella nella tabella e che devono essere inclusi fra i tag “<tr></tr> che creano una riga , che a loro volta devono essere inclusi fra i tag “<table></table>”
Scendendo più giù troviamo comprese tra le righe 25 e 46 le icone del pdf, di stampa, dell'e-mail e dell'edit, anche essi rinchiusi fra i tag “<td></td>”.

Come potete notare nell'ultima riga della figura sopra, riga 49, c'è ”endif” che corrisponde all' “if” della riga 10 e quindi non deve essere tolto.
Se vorremmo spostare invece la visualizzazione della sezione e della categoria basta tagliare dalla riga 54 alla riga 84.
Per inserire qualcos'altro a fianco della categoria, e quindi inserire un'altra cella all'interno della stessa riga, dobbiamo tagliare l'”endif” della riga 84 e lo dobbiamo incollare dopo il tag “</td>” della riga 82.Se invece togliamo la visualizzazione della sezione e della categoria, dalle opzioni della visualizzazione, l'elemento aggiunto successivamente non verrà visualizzato.

Quasi tutti gli output hanno la propria classe CSS, tranne la sezione e la categoria. Se volete inserirla basta inserire nel tag “<td>” della riga 56 “class="NOME CLASSE"” definita nel vostro foglio CSS. Il tag “<td>” risulterà cosi:

Dalla riga 86 inizia la riga della visualizzazione dell'autore e finisce alla riga 95.

Dalla riga 97 inizia la visualizzazione della data di creazione e termina alla riga 103.

Dalla riga 114 inizia il testo dell'articolo che termina alla riga 121

La data dell'ultimo aggiornamento inizia dalla riga 123 e termina alla riga 129

Il leggi tutto... inizia dalla riga 131 e termina alla riga 144

Adesso che avete individuato i vari output potete personalizzarli come volete, come se state agendo sulle righe o celle di una normale tabella HTML. |
Commenti
Ciao, grazie per i complimenti e per il commento.
Per quanto riguarda il tuo problema ho fatto alcune prove; ho pubblicato una voce principale "vista sezione" e una sottovoce "vista categoria" all'inizio anche a me, se cliccavo sulla sottovoce del menu mi visualizzava la categoria formato griglia con la data, mentre se cliccavo sul link, nella visualizzazione della sezione, la data non veniva mostrata e viniva mostrata la classica tabella con titolo, autore e visite.
Siccome io avevo pubblicato una voce di menù con aspetto categoria blog, togliendola dalla pubblicazione le visualizzazioni si sono uniformate. Forse anche tu hai la stessa categoria pubblicata in modi differenti.
Prova e fammi sapere
Io ho un'altro problema. creo voci di menù di tipo "vista sezione" creo poi delle voci di sottomenu con tipologia "vista categoria" per vedere una griglia con lista di articoli e la data di creazione.
Il problema è che se accedo direttamente alla categoria la vedo esattamente come dico, quindi con le date, mentre se accedo alla voce di menu principale vedo giustamente l' elenco delle categorie ma cliccandoci la visualizzazione degli articoli è sempre in griglia ma non mostra la data, che per è molto importante per me.
Come posso fare per uniformare le 2 visualizzazionei?
Grazie anticipatamente
Ciao, grazie per il commento.
Per risolvere il tuo problema hai due strade:
La prima è quella di fare l'override del file default.php contenuto nella cartella "components/com_content/views/section/tmpl" come spiegato sopra, aggiungendo alla riga 28 "echo '&layout=bl og';" dopo "echo $category->link ;";
La seconda è quella di modificare il tipo di "layout" specificato nella riga 96 del file view.ht ml.php contenuto nella cartella "components/com_content/views/section" da "default" a "blog"
ho un problema che non riesco a risolvere e mi domando se questo metodo può aiutarmi:
creo voci di menù di tipo "vista sezione" creo poi delle voci di sottomenu con tipologia "vista categoria/blog" per vedere appunto i testi introduttivi degli articoli di una data categoria appartente alla sezione citata nella voce di menu.
Il problema è che se accedo direttamente alla categoria la vedo esattamente come dico, quindi con l' elenco testi introduttivi, mentre se accedo alla voce di menu principale vedo giustamente l' elenco delle categorie ma cliccandoci la visualizzazione articoli non più tipo blog ma una griglia con lista dei titoli.
In effetti gli indirizzi ottenuti tra i due metodi di accesso son ben diversi.
Posso uniformare la vista?
Grazie dell' eventuale risposta.
Grazie per il commento
Per visualizzare la data su più righe ho unsato un plugin chiamato "calendar Icon" scaricabile da qui
RSS feed dei commenti di questo post.