Joomla.it Forum

Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => : marcellov 25 Oct 2009, 12:59:43

: Dare un class a singoli articoli RISOLTO
: marcellov 25 Oct 2009, 12:59:43
Ciao a tutti,
come da titolo, mi chiedevo se è possibile assegnare un "class" ai singoli articoli, oltre che a pagine, sezioni, etc...

Grazie mille :D
: Re:Dare un class a singoli articoli
: tonicopi 25 Oct 2009, 13:11:22
Secondo me no perchè, pur avendo ciascun articolo un proprio ID univoco, questo viene urtilizzato da Joomla! per selezionare l'articolo da prendere dal database ma poi lo stampa nella pagina senza alcuna classe particolare che lo distingua uno dall'altro. Quindi non c'è modo di personalizzarne l'aspetto se non agendo sull'editor o assegnando ciascun articolo ad una voce di menù.
: Re:Dare un class a singoli articoli
: marcellov 25 Oct 2009, 14:08:16
Ciao tonicopi,
grazie per la risposta.

Purtroppo non posso dare ad ogni articolo una voce di menu altrimenti avrei decine di menu :D, però ho pensato ad una soluzione e spero tu possa darmi una mano (sono un grafico, non un programmatore :)).

Guarda questo pezzetto di codice:

:
<div class="leading<?php echo $this->escape($this->params->get('pageclass_sfx'));?>">
Questo fa sì che il div contenitore di ogni articolo abbia class="leading" (seguito eventualmente dal suffisso della pagina).

Mi interesserebbe sapere se è possibile avere come risultato non class="leading" ma class="leading alias">. Mi interessa cioè usare l'alias dell'articolo come classe. Questo permetterebbe di avere una classe automatica e univoca per ogni articolo.
Cosa ne pensi? Si può ricavare l'alias di un articolo in modo da scriverlo nel codice attraverso un echo?

Grazie mille!

Secondo me no perchè, pur avendo ciascun articolo un proprio ID univoco, questo viene urtilizzato da Joomla! per selezionare l'articolo da prendere dal database ma poi lo stampa nella pagina senza alcuna classe particolare che lo distingua uno dall'altro. Quindi non c'è modo di personalizzarne l'aspetto se non agendo sull'editor o assegnando ciascun articolo ad una voce di menù.
: Re:Dare un class a singoli articoli
: tonicopi 25 Oct 2009, 16:22:20
A parte che si possono associare a mio avviso le voci di menù agli articoli e non pubblicarle o pubblicare il modulo in una posizione inesistente in modo da dare un suffisso alla pagina....
Ma venendo alla tua segnalazione della classe leading (mai vista nel frontend) a mio avviso è una classe interna al core di joomla che poi restituisce l'articolo con l'aggiunta dell'eventuale suffisso pagina. Prendi la cosa con le pinze perchè neppure io sono un programmatore. Però mettendo mano al codice credo sia possibile ottenere quello che desideri, ovviamente. Ma ha senso voler personalizzare il layout di OGNI articolo?
Hai indagato se esistono eventualmente estensioni in grado di fare questo? Perhè magari stai cercando di fare la ruota, ma ci ha già pensato qualcun altro  :D
: Re:Dare un class a singoli articoli
: marcellov 25 Oct 2009, 18:59:00
[RISOLTO]

Fatto! Mi rendo conto che si tratta di un caso abbastanza raro, ma nel mio caso ti assicuro che una classe per ogni articolo è molto utile (appena avrò qualcosa online posterò il link, è più facile da vedere che da spiegare :D)

Dunque, il pezzo di codice che ho copiato prima si trova in diversi file, io personalmente dovevo modificare il codice per il layout blog, quindi ho modificato il file blog.php che si trova nella cartella com_content > category.

Il codice originale è il seguente:
:
<div class="leading<?php echo $this->escape($this->params->get('pageclass_sfx')?>">
<?php $this->item =& $this->getItem($i$this->params);
echo $this->loadTemplate('item'); ?>

</div>

E va sostituito con questo:
:
<?php $this->item =& $this->getItem($i$this->params); ?>
<div class="leading<?php echo $this->escape($this->params->get('pageclass_sfx').' '.$this->item->alias); ?>">
<?php echo $this->loadTemplate('item'); ?>
</div>

In questo modo ogni div contenitore di articolo avrà (nel layout blog categoria) avrà class="leading alias_articolo" assegnato AUTOMATICAMENTE.

Spero possa essere utile :D


A parte che si possono associare a mio avviso le voci di menù agli articoli e non pubblicarle o pubblicare il modulo in una posizione inesistente in modo da dare un suffisso alla pagina....
Ma venendo alla tua segnalazione della classe leading (mai vista nel frontend) a mio avviso è una classe interna al core di joomla che poi restituisce l'articolo con l'aggiunta dell'eventuale suffisso pagina. Prendi la cosa con le pinze perchè neppure io sono un programmatore. Però mettendo mano al codice credo sia possibile ottenere quello che desideri, ovviamente. Ma ha senso voler personalizzare il layout di OGNI articolo?
Hai indagato se esistono eventualmente estensioni in grado di fare questo? Perhè magari stai cercando di fare la ruota, ma ci ha già pensato qualcun altro  :D
: Re:Dare un class a singoli articoli
: tonicopi 25 Oct 2009, 20:49:27
Si ricordati di postare il link perchè sono molto curioso di capire a cosa ti è servita e come utilizzerai quella classe  :)
: Re:Dare un class a singoli articoli RISOLTO
: marcellov 22 Nov 2009, 20:50:25
Ciao, finalmente ho qualcosa online:
http://echivisivi.it/staff.html

In questa pagina, grazie alle modifiche di cui abbiamo parlato nel thread, ho potuto dare uno sfondo personalizzato ad ogni articolo senza necessità di markup non semantico o di stili inline :D
: Re:Dare un class a singoli articoli RISOLTO
: 56francesco 22 Nov 2009, 21:00:40
scusa, a me sembrano tutti uguali..
firefox sotto ubuntu..
: Re:Dare un class a singoli articoli RISOLTO
: tonicopi 22 Nov 2009, 21:08:40
Pure io li vedo uguali :o
: Re:Dare un class a singoli articoli RISOLTO
: marcellov 23 Nov 2009, 21:07:33
Mi riferisco alla foto di ogni persona, è un background aggiunto proprio grazie a quelle classi.

(Anche io sono su FF/Ubuntu).