[RISOLTO]Modificare colore tag in fondo alla pagina

13 contenuti / 0 new
Ultimo contenuto
[RISOLTO]Modificare colore tag in fondo alla pagina
AllegatoDimensione
Package icon $terms_referring.zip160.25 KB

Avrei un piccolo problemino con la singola pagina del contenuto (articolo) .
In fondo appaiono i nomi della tassonomia (categorie) che ereditano la classe:
class="terms"
class="link inline"
.node ul.links a
Assicurazioni

Qui e solo qui posso cambiare il colore di questi link...

Ma ovviamente sono parecchi i riferimenti alla classe ".node ul.links a" e se vado a fare una modifica
la stessa viene appicata a tutti.

Ho ravanato un poco in node.tpl.php, ma c'è solo il riferimento alla classe principale "terms" e quella "links"
è riferita al bottone " Aggiungi commento".

Non riesco a trovare una soluzione ...mi date una mano ?

A proposito ...cos'è rel="tag" ?

Grazie a tutti

Se non hai un mare di termini una soluzione è quella di elencare le classi della tassonomia in questo modo:

li.taxonomy_term_1 a,li.taxonomy_term_2 a, eccetera{color:#quelchetipar;}

krima wrote:
Se non hai un mare di termini una soluzione è quella di elencare le classi della tassonomia in questo modo:
li.taxonomy_term_1 a,li.taxonomy_term_2 a, eccetera{color:#quelchetipar;}

Ciao Krima , grazie innanzitutto per l'intervento.
Mah..di termini ne avrò al massimo una 50ina..ma c'è qualcosa che non mi convince ..nel css non c'è
li.taxonomy_term_1, etc, ma stanno tutti sotto il riferimento css .node ul.links a {etc}
Il riferimento .node ul.links li {} ( che sta sopra gerarchicamente a .node ul.links a {} fa parte di quasi tutti i "li" del Padre .node.Quindi quasi a tutti ...tanto per darti un'idea anche il "aggiungi un commento" ha come riferimento css .node ul.links a {}. Non riesco ad intercettare la "a" di "taxonomy_term" e dirgli di essere diversa dall'altra....grrrrrr....

Non riesco a capire dove sia , in quale .tpl cioè, la possibilità di individuare l'esclusivo riferimento alla classe "taxonomy_term"...

Se hai qualche altra idea grazie ...:-)

La classe è taxonomy_term_... la trovi nel codice html non nel css. Devi riportarla nel CSS, li è il tag lista, a l'anchor.

drupal offre di base alcuni tag preimpostati nel suo codice HTML che solitamente risultano ben impostati e di numero sufficente per gestire in tutta autonomia il proprio CSS, ma come sempre accade qualche piccolo accorgimento ci semplifica il lavoro.

Per "particolarizzare" i tuoi TAG Css non ti serve necessariamente modificare il il tag dell'elemento ma ri basta inserirne uno "personalizzato" al contentore che lo "contiene".... appunto.

quindi prova ad inserire una qualche classe "particolare" al contenitore in cui sono posizionati gli elementi che intendi Stilare, a questo punto come consigliato da "krima" inserici a "cascata" le classi ed ID in modo tale da identificare solo l'elemento a te interessato...

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

Ragazzi , grazie del vs aiuto , ma non riesco ad uscirne fuori. Tenete conto che questo è un tema
preso da una società americana, quindi probabilmente è stato impostato diversamente dallo standard (credo...è una ipotesi)

ho due css fondamentali che agiscono sul template:
deepblue.css (specifico di alcune personalizzazioni)
nagara_style.css ( tutto il sito)

Se in entrambi (indifferentemente) vado ad inserire la classe :

.taxonomy_term_11 first last,
a:link,
a:visited {
color: #1E1A1A;
}

funziona, ( e funziona solo così; se ometto i riferimenti a "a" non funziona) ma ovviamente eredita anche "a:link, a:visited " quindi mi trovo punto e a capo.

Ho cercato di capire "dove" posso inserire una classe diversa da quella standard, ma andando ad agire sui due file identici ma posizionati uno nel core l 'altro nel tema "node.tpl.php" , gli unici riferimenti alle classi dei link sono :

<?php if ($terms): ?>
    <div class="terms">
      <?php print $terms; ?>
    </div>
    <?php endif;?>
<?php if ($links): ?>
    <div class="links">
      <?php print $links; ?>
    </div>
    <?php endif; ?>
  </div>

Non c'è nessun riferimento ad altre classi "personalizzabili"

Accidenti, sono riuscito a customizzare tutto il sito, personalizzare ogni singolo blocco, aggiungere sidebar e contenuto personalizzato , e adesso sono bloccato da tre giorni su questa cosa.

O sono troppo stanco o veramente non capisco dovo posso indicare una classe diversa per " li. taxonomy_term_x, a " , chiamandola che so "category_tag" e stilizzarla.

Mi rimetto al vs buon cuore..mi spiegate meglio ?

Buona giornata

Ma hai provato a copiare ed incollare il codice che ti ho messo sopra? Prima di scriverelo qui lo avevo provato ed è funzionante.

Ciao Krima

avevamo ragione entrambi. Il programmatore ha impostato una classe che raggruppa tutti i links :

/* Links for nodes (taxonomy, commenting, read more, etc) */
.node div.links {
  margin: 10px 0;
  width: 100%;
  float: left;
  clear: both;
  font-size: 100%;
}
.terms {
  font-size: 100%;
}
.node ul.links {
  float: left;
  font-size: 100%;
}
.node ul.links li {
}
.node ul.links a {
}

quindi andando a creare una classe

.taxonomy_term_11  {
font-family: fantasy;
color: #2565B1;
}

mi modificava il solo font-family. Anche aggiungendo l'anchor "a" nulla cambiava.

Poi ho avuto un'idea : se quando modifico lo stile di un .block devo sempre cambiare il riferimento della classe .block) con quello del blocco nuovo ( ad esempio: .myredblock) non è che se inserisco prima la classe .terms.......

Detto fatto:

.terms .taxonomy_term_11 a {
font-family: fantasy;
color: #2565B1;
}

Adesso colore e famiglia del font sono diversi da tutti gli altri link presenti nella pagina :-)

Grazie Krima, se tu non avessi insistito e io non mi fossi chiesto come mai a te funzionava, avrei probabilmente accantonato la cosa.

Rimane che non capisco come mai a te funziona " as is " ...magari dal codice che ti ho postato tu capisci l'inghippo.

Buona giornata

Tu hai in più la classe terms che nel mio tema non c'è, probabilmente è qualcosa impostato nel phptemplate.

Il tag li che io ho aggiunto probabilmente non serve nemmeno a me, ma è quello che ho buttato giù velocemente e visto che funzionava.

Hai provato a mettere solo .terms a {ecc..? Ad occhio dovrebbe funzionare su tutti i termini senza necessità di inserire la classe di ognuno.

In questo caso sarebbe interessante scoprire il codice (probabilmente nel phptemplate) che rende possibile ciò.

Ottima intuizione!!
Anche perchè questo mi eviterebbe di dover specificare 50 e più classi....

Avevo fatto una prova con .terms {ecc..ma non avendo visto nessun risultato avevo abbandonato quella strada. Adesso che tu l'hai riportato alla ribalta riprovo.
.terms a {ecc.....nothing ...poi rifaccio il ragionamento di prima, c'è una classe sopra "a" ed è "li" ..allora :

.terms li a {
font-family: fantasy;
color: #2565B1;
}
Magia! :-))) Bravo Krima

Adesso ti ricambio il favore e ti posto (credo che occorra tornare a modificare il post originale per allegare i file) il mio file "template.php. Non essendoci nulla di riferito a $terms in quello, ti allego un file zip con cartelle_path_referred e file interni che contengono i riferimenti a questa variabile.
Vedi se riesci a capirci qualcosa; sappimi dire poi !
Se non lo trovi li , ma ti interessa indagare, chiedi pure.

Buona serata

Fatto!!

Ps. Il file phptemplate non contiene nulla , se non il riferimento a "template.php".

PPS. Se non ho capito male , da quel poco che ho avuto tempo di leggerci dentro, sembra quasi che la classe "$terms" sia intrinseca
nei parametri presenti nel modulo taxonomy_terms.

Credo che il programmatore non abbia fatto altro che richiamarla poi in un div:

e assegnargli sotto tutti i tag " ul, li, a" per la stilizzazione.

Sinceramente però, se dovessi farlo ex-novo, non saprei come farlo; quindi se tu riesci a scoprirne il meccanismo faresti anche a me
una cortesia. Dovesse capitarmi un template senza questa classe potrei implementarla.

Dunque... non è niente in template.php ma è una normalissima funzione di Drupal presente in node.tpl.php che ho modificato un sacco di volte e questa volta mi è proprio sfuggita.
Anzi, non me lo ricordavo proprio...

In node.tpl.php c'è:

<?php if ($taxonomy): ?>
      <div class="terms"><?php print $terms ?></div>
    <?php endif;?>

Ed ecco risolto "l'arcano"...