Back to top

Autore Topic: Override template - parte 3.1 - file per modificare "Categorie" Blog  (Letto 15402 volte)

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
Ciao amicisssimi, son tornato dopo un bel pò di tempo, per parlare di Override!!!!! ;D
Questa volta affrontiamo il discorso "Categorie", o meglio, la visualizzazione degli articoli secondo la modalità Blog!

Fatemi sapere cosa non va assolutamente/funziona/vi garba/detestate/trovate inappropriato!!!
Link articolo:http://www.joomla.it/articoli-community-16-e-17-tab/6986-override-template-parte-31-file-per-modificare-qcategorieq-blog.html
« Ultima modifica: 13 Gen 2013, 17:45:29 da MasterTheBest »
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline ele_

  • Appassionato
  • ***
  • Post: 388
  • Sesso: Femmina
    • Mostra profilo
Ciao, volevo farti una domanda ho letto il tuo articolo e i trovo a dover fare un override nel file
category ->blog.php


Avrei bisogno di visualizzare la descrizione della categoria solamente nella prima pagina e non in tutte,  quindi ho bisogno di una semplice if, il problema è qual'è la variabile?


Allora ho visto che
Codice: [Seleziona]
$this->pagination->getPagesCounter();
mi restituisce Pagina 1 di 2, a me in realtà serve solo mostra questo solo se la pagina è la 1.
So che c'è una variabile pagesCurrent ma non so come usarla...

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
Mi metto all'opera ed al più presto troverò una risposta. Puoi darmi un paio di giorni?
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline ele_

  • Appassionato
  • ***
  • Post: 388
  • Sesso: Femmina
    • Mostra profilo
Ho risolto così,
Codice: [Seleziona]
<?php $pagina=$this->pagination->get('pagesCurrent'); ?>
<?php if ($pagina==1) : ?>


Non so se sia il modo corretto....

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
Con questo foreach
Codice: [Seleziona]
<?php foreach ($this->pagination as $k => $x)
    echo 
$k."__".$x."_<br>";    
?>
Puoi vedere tutto ciò che ti serve. Nel tuo caso specifico, ti basterà cercare questa riga
Codice: [Seleziona]
<?php if ($this->params->get('show_description'1) || $this->params->def('show_description_image'1)) : ?>ed aggiungere il controllo per la pagina 1
Codice: [Seleziona]
<?php if (($this->params->get('show_description'1) || $this->params->def('show_description_image'1))&&($this->pagination->get('pages.current')==1)) : ?>Questo è il risultato finale
Codice: [Seleziona]
<?php if (($this->params->get('show_description'1) || $this->params->def('show_description_image'1))&&($this->pagination->get('pages.current')==1)) : ?>Cosi, visualizzi la descrizione e l'immagine, solamente nella prima pagina.
Sono sempre qui, per qualunque altro dubbio =)
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline danyb82

  • Nuovo arrivato
  • *
  • Post: 16
  • Sesso: Maschio
    • Mostra profilo
Ciao MasterTheBest !


Veramente un bel articolo!


Volevo sapere come si comporta joomla con le sotto categorie.


Mi spiego meglio:


Apro dal menu la pagina con layout blog da me realizzato.
Per ogni articolo ho mantenuto la visualizzazione della categoria principale (anche se una) e delle sottocategorie. Cliccando sul link "sottocategoria" viene aperta la pagina con un impaginazione di default (?). Come posso utilizzare lo stesso layout anche per le sottocategorie?


Grazie

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
Ciao Danyb82 e grazie mille per i compliments! 8)


Per il tuo problema, joomla (dalla 1.6 in poi, quindi 2.5 inclusa) non fa alcuna differenza tra categorie e sottocategorie. :)
Per caso, ogni sottocategoria è accessibile attraverso il menù? :o Se così fosse, ti basta volare nella voce del menù relativa alla categoria e controllare lo stile impostato (alla voce Stile Template; puoi usare ctrl+f con il tuo browser per cercare più facilmente ;D ).


Invece, se non hai associato categorie a link dal menù (di tipo, Link Categorie), allora devi volare in Categorie==>Opzioni e selezionare da Layout il tuo override.


Ti chiedo scusa fin da subito se qualcosa non dovesse funzionare :-[  perchè ho sempre associato ogni categoria ad una voce menù (per motivi miei personali, più che altro :-\ ); quindi ho sempre seguito il primo modo.




Fammi sapere e scrivi pure  ;)
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline danyb82

  • Nuovo arrivato
  • *
  • Post: 16
  • Sesso: Maschio
    • Mostra profilo
Ciao,


solo la categoria principale è linkata dal menu principale, si accede alla visualizzazione degli articoli di una specifica sottocategoria solo dal dettaglio della stessa notizia.


es della struttura


News
   |- sotto categoria 1
   |- sotto categoria 2
   |- sotto categoria N


Sicuramente per le sottocategorie prende in considerazione "layout alternativo" nelle opzioni della "Gestione categoria", ma come si fa a caricare un layout per poter esser scelto?  ???

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
Non lo so proprio, devo testare in locale. Ti faccio sapere nei prossimi giorni  :-\  dovrai pazientare (o testare da solo).
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline lucantropo

  • Appassionato
  • ***
  • Post: 708
  • Sesso: Maschio
    • Mostra profilo
Ciao, dopo aver aperto un post a riguardo son capitato sul tuo articolo, molto valido e ben spiegato!

Detto questo ho un enorme problema che mi sta facendo venire il mal di testa.

Sto tentanto di fare un ovverrida di un sito in joomla 3.2.1, robetta semplice, mettere i titoli in maiscuolo e spostare la disposizione della data di creazione.

Bene modificando comeho sempre fatto il file blog.php per esempio dando una classe specifica all' "h2" trasformandolo per esempio h2 class="title" non riesco assolutamente a far cambiare niente.

La cosa strana è che facendo invece l'override sul singolo articolo invece riesco perfettamente.

Stesso problema per la home page!

non so più come risolvere...

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
Grazieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeee ;D
Ma veniamo al tuo problema >:(
Io controllerei subito se
  • l'html è cambiato?
  • c'è il link al file css?
D'altro canto, mi pare strano che funzioni da una parte e non dall'altra. Controlla i nomi e pulisci un pò di cache. Forse il problema è a livello html e non dell'override.

NB Ora, tu parli di joomla 3.X, ma attenzione: l'override cambia un pò (dalla gestione template, puoi creare i file pronti per essere visti); prova a creare il file per il tuo override, utilizzando il tool della 3.x e poi modificalo come sai fare.

Son contorto, ma rimango qui per qualunque aiuto  :)
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline lucantropo

  • Appassionato
  • ***
  • Post: 708
  • Sesso: Maschio
    • Mostra profilo
Grazie per la risposta, ti dico cosa ho fatto propro adesso:
Ho fatto l'override dal pannello di controllo scegliendo appunto la cartella category, ho aperto il fila blog.php e nel titolo ho dato una classe specifica ad h2, scrivendo il tag:" <h2 class=title">.

Quando poi vado a vedere il codice che viene generato non varia niente e h2 continua ad essere h2 come è impostato in origne. quindo l'html non cambia.

Io sono giunto a queste due possibili conclusioni:
1) siccome sto facendo io il template da zero posso aver commesso qualche errore, rimane da capire quale perchè in pratica il template al momento non ha niente poichè sono solo all'inizio della costruzione;
2) qualcosa nell'installazione di joomla non è andato a buon fine.

In teoria ho un'altra idea ma non so se sia corretta, io per semplificarmi la vita in funzione di gente che "ruba allegramente" i codici, ho utilizzato un file css all'interno del quale ho degli import di altri file css che sono quelli che gestiscono il template. Che possa essere questo accorgimento che non sia gradito a joomla?

P.s. Ho testato la mia ultima considerazione indicando tutti i file css che uso senza usare l'import e tutto rimane uguale!
« Ultima modifica: 29 Gen 2014, 17:08:29 da lucantropo »

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
In teoria ho un'altra idea ma non so se sia corretta, io per semplificarmi la vita in funzione di gente che "ruba allegramente" i codici, ho utilizzato un file css all'interno del quale ho degli import di altri file css che sono quelli che gestiscono il template. Che possa essere questo accorgimento che non sia gradito a joomla?
Assolutamente no, perchè  se funziona su una pagina html pura, DEVE funzionare anche per una pagina php o asp.net. Quindi, togliamo la questione "codice corretto HTML/css".


Nella versione 3 la gestione dell'override cambia: prova con il template protostar a generare un file da sovvacrivere (overraidare, che brutta parola :-\ ). Sai come si fa?

admin-->template manager-->scegli il template che stai modificando-->create Overrides-->scegli il file.

Prova così a creare il file su cui stai lavorando e poi, attua le modifiche del caso.
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline lucantropo

  • Appassionato
  • ***
  • Post: 708
  • Sesso: Maschio
    • Mostra profilo
Ho già fatto anche quella operazione, ora mi è sorto un dubbio che riguarda l'installazione di joomla, quando installai, decisi di inserire i dati di esempio, ma non furono installati.
Sul momento non ci feci caso, ma ora il dubbio che qualcosa sia andato storto mi è venuto.
Per cui al momento sto installando una versione 3.1.5 per vedere se cambia qualcosa,



Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
AH :o
...qua, la scienza non si pronuncia, ma tace e si ferma...
Davvero, qua non saprei cosa fare. Prova a reinstallare  :-[
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline lucantropo

  • Appassionato
  • ***
  • Post: 708
  • Sesso: Maschio
    • Mostra profilo
Da non crederci, ho reinstallato in una cartella di test la 3.1.5 upppato alla 3.2, installato il template, fatto l'override dal pannello e..... FUNZIONA!!!!!!!!!!

sono allibito!!!

sarà meglio riscaricare il file della 3.2.1 da joomla.it

Grazie ancora per le rispste!!!

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
 ;D yeeeeeee ;D
Il software è bello anche per queste cose: esci, rientri e tutto funziona magicamente!

Piacere di averti aiutato  8)
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline Nuvola6

  • Appassionato
  • ***
  • Post: 718
  • Sesso: Femmina
    • Mostra profilo
Grazie per l'articolo, non l'ho letto tutto ma lo farò.. perchè molto interessante.


Volevo chiedere....
Se volessi modificare il layout della categoria blog solo per le due colonne? Cioè solo se imposto "due colonne" per la disposizione degli articoli?


Si può?

Offline MasterTheBest

  • Appassionato
  • ***
  • Post: 338
  • Sesso: Maschio
  • Web is not only a browser's geek things.
    • Mostra profilo
Premesso che per fare qualcosa, si può fare sempre tutto.


Immagino che tu voglia disporre le anteprime dei tuoi articoli su due colonne, è corretto?


Se si, ti consiglio di gestire alcuni aspetti:
  • Se hai  un numero complessivo di articoli dispari, ti conviene pensare al primo, oppure all'ultimo, articolo con un layout apposito. Pensando a bootstrap, gli darei tutte e 12 le colonne; ma nulla ti vieta di fare altro (sfogo alla fantasia) 8)
  • Altezza anteprima: tra il titolo, eventuale immagine anteprima e descrizione, ti conviene gestire bene gli spazi. Con un pò di javascript, potresti dare ad una riga (quindi ad una coppia di anteprima articoli), la medesima altezza, che è pari all'altezza dell'articolo più lungo.
    Oppure, puoi trovare altri modi, molto più congeniali alla tua situazione
  • Gestisci bene gli spazi, per ottenere l'effetto "giustificato" degli articoli. A me capitava di ritrovarmi articoli della seconda colonna, un pò disordinati e non bene allineati verticalmente.
Mi ripeto, puoi fare tutto quello che vuoi, l'importante è aver bene presente che cosa il framework joomla mette a disposizione.


Sono qui per altre domande  ;D


[Re-Edit]
Codice: [Seleziona]
<?php if (!empty($this->intro_items)) : ?>
<?php foreach ($this->intro_items as $key => &$item) : ?>
<?php $rowcount = ((int) $key % (int) $this->columns) + 1?>
<?php if ($rowcount == 1) : ?>
<?php $row $counter $this->columns?>
<div class="items-row cols-<?php echo (int) $this->columns?> <?php echo 'row-' $row?> row-fluid clearfix">
<?php endif; ?>
<div class="span<?php echo round((12 $this->columns)); ?>">
<div class="item column-<?php echo $rowcount?><?php echo $item->state == ' system-unpublished' null?>"
itemprop="blogPost" itemscope itemtype="http://schema.org/BlogPosting">
<?php
$this->item = & $item;
echo $this->loadTemplate('item');
?>

<>
<!-- end item -->
<?php $counter++; ?>
<><!-- end span -->
<?php if (($rowcount == $this->columns) or ($counter == $introcount)) : ?>
<><!-- end row -->
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
Alla riga 74 del file blog.php dovresti trovare qualcosa di simile. E qui c'è tutta la gestione colonne per un qualsiasi numero. Sarà lo stesso joomla a disporre gli articoli.
« Ultima modifica: 10 Mag 2014, 11:27:26 da MasterTheBest »
RAD • JUG Brescia
Se urgente, ti obbligo a contattarmi su twitter@RedsAnDev linkando la tua risposta su questo forum.
Joomla! è aiutarsi, insieme!

Offline Nuvola6

  • Appassionato
  • ***
  • Post: 718
  • Sesso: Femmina
    • Mostra profilo
Grazie per l'attenzione e la risposta.


In realtà io vorrei fare questo:


1) alcune categorie sul mio sito hanno l'impostazione "categoria blog" colonne 2 e altri colonne 3.
2) vorrei cambiare il css solo degli articoli che hanno l'impostazione 2 colonne
3) dopo che ho posto la domanda in questo topic, ho provato ad usare allora la classe .cols-2 e funziona!
4) unico neo è che se cambio la "posizione del titolo", poi me la ritrovo cambiata anche nell'impostazione a tre colonne. Ma non fa niente.


Grazie ancora per l'articolo e la tua disponibilità!

 



Web Design Bolzano Kreatif