Posted by razzel-gdo on December 27, 2008 at 8:19pm
Så här ser mitt problem ut.
Med Views har jag skapat en liten lista som sorterar de 10 senaste artiklarna i datumordning. Eftersom listan består av länkar till artiklar har jag angett formateringen av länkarna i style.css
Varje artikel har ju en titel och titelnamnet är i sig klickbart, dvs det är en länk och får då samma formatering som länkarna i länklistan.
Hur undviker jag det? Jag vill alltså singla ut artikeltiteln och formatera den för sig.
Jag har snokat runt i alla de css-filer som man hittar i en Drupalinstallation, men misslyckats finna den heliga graalen. Inte heller Firebug har gett mig någon vägledning.
Gott nytt år, förresten!
Razzel
Comments
Unikt ID för
I Views standardmall brukar det läggas till ett unikt "id"-attribut och/eller "class" attribut för varje Views. Genom att används det så kan du med hjälp av CSS faktiskt formatera just alla länkarna i en viss View, med något i stil med:
div#view-id-34 table tr td a {color: green;
}
alternativt
div.view-class-5 table tr td a {color: green;
}
...men det förutsätter att du kan hitta det med Firebug, vilket är lite skumt om du inte har.
Det var mina 5-cent - lycka till,
Jens
Med "Views standardmall"
Med "Views standardmall" menar du views.css?
Där finns inget som går att använda.
Med "Views standardmall"
Nope, med mall menar jag (engelskans) "template", dvs. *.tpl.php-fil alternativt en theme-funktion. Mer information om hur themes fungerar kan läsas i theme-dokumentationen.
Den CSS 'selector' som jag och frjo talar om är ingen som nödvändigtvis kommer med modulen Views. Även om den så skulle existera så är det bättre om du ändrar hur länkarna kommer att se ut i det tema/theme som du använder. Det gör du genom att lägga in något i stil med frjo:s CSS-snutt i temats style.css (eller vad den nu heter).
På så sätt så kan du enkelt uppgradera modulen Views utan att manuellt behöva ändra på exempelvis 'views.css' varje gång. I själva verket är det vanligtvis så themes fungerar; först bestämmer Drupal core hur saker och ting ska se ut, därefter modulerna och tema:t har sista ordet i frågan.
Jens
Tack för alla fina tips,
Tack för alla fina tips, inklusive det om Firebug-guiden, men jag börjar tvivla på att det är genomförbart. Jag har eller åtminstone inbillar mig ha identifierat den klass som styr utseendet på viewen (views-field views-field-), men den svarar inte på den formatering som jag anger i style.css. Det tyder på att någon annan cssdeklaration har företräde och jag inbillar mig att det är den som styr hur länkar skall färgas.
Åjo, görbart ska det vara!
Åjo, görbart ska det vara! :-) Om du klickar på länken som du vill formatera i Firebug och trycker på fliken "Style" långt till höger så kan du se exakt vilka CSS-egenskaper länken/HTML-elementet har. Där kan du också se, inom parentes, namnet på den CSS-filen som har givit upphov till varje formatering.
En annan sak, har du caching påsatt eller ej? Jag rekommenderar dig att ha det avstängt när du utvecklar. Annars kan du stöta på liknande fel som du upplever...
Jag kan se egenskaperna. Det
Jag kan se egenskaperna. Det fungerar också att ändra i css-mallen, men resultatet blir inte som jag hade tänkt mig. Så här kan det se ut:
TITEL PUBLICERAD
Drupal är kul 2008-12-28
Titeln är en länk till artikeln "Drupal är kul", publiceringsdatum är det inte. När jag ändrar i CSS-mallen på det sätt som ni och andra har föreslagit påverkar det endast Publicerad, dvs. den del av "textraden" som inte är länk. Den ändrar alltså färg i enlighet med det som jag angett i style.css.
Titel däremot som ju är länk formateras däremot av CSS-deklarationen a{} och ändrar alltså inte färg. Det är mitt dilemma i ett nötskal.
Caching är icke påslaget.
Rätt klasser
För att få ordning på formateringen behöver du hitta rätt CSS-klasser att ange utseende för.
Jag vet inte exakt hur din tabell ser ut, men Firebug bör kunna hjälpa dig med att ge rätt information.
Jag testade lite på den Views-demo jag postade innan jul, och lyckades bra med att formatera endast de länkar som ligger inne i Views-tabellen (och alltså inte rubrikerna i tabellhuvudet). En skärmdump är bifogad - även om den inte stämmer exakt med vad du vill göra borde den kunna visa hur du kan smala ner CSS-klasserna för att bara påverka de element du vill. Kolla in bilden i ett nytt fönster för att inte missa CSS-kodningen längst till höger.
Lycka till.
//Johan Falk, Solna
Views använder class och
Views använder class och inte id så exempel 2 ovan bör fungera.
Har du kollat in Itangalos fina guide om Firebug? http://groups.drupal.org/node/16575
Ett alternativ för att göra CSS:en mer läsbar är att använda den class som node title fält automatiskt får.
.view-[name_of_your_view] view-field-node-title a {color: green;
}
Koden blir då i det närmaste självförklarande när du eller någon annan ska hoppa in och ändra något i framtiden.