PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unterforum farbig absetzen



jhon
27.10.2004, 12:52
Als Newbie suche ich eine Möglichkeit, in der Ansicht des Haupforums den Titel eines bestimmten Unterforums farbig abzusetzen, entweder den ganzen Hintergrund oder zumindest die Schrift.
Das ich dem ganzen Unterforum einen eigenen Style zuweisen kann weiß ich, der wird aber erst nach dem Öffnen des Forums aktiv, ich möchte den Eintrag aber schon bei der Ansicht des übergeordneten Forums farbig absetzen können.

Ich denke, dass müsste an Hand der ForumsID in den Templates zu machen sein, aber dazu fehlt mir noch das nötige Know-How und hier im Board habe ich bisher auch nichts gefunden.

Wäre super, wenn jemand weiterhelfen könnte. ;)

Gruß

Jochen

pogo
27.10.2004, 15:54
Deine Idee ist schon ganz richtig. :)
Das ist relativ leicht über Templatebedingungen zu regeln.

Öffne das Template forumhome_forumbit_level2_post.

Ändere jedes Vorkommen von

class="altX"
X könnte dabei 1, 2, 1Active oder 2Active sein.
in

class="<if condition="$forum['forumid']==Y">altfY2<else />alt2</if>"
Insgesamt sind das 6 Änderungen!
Y ist die Forum-ID des Forums, das anders dargestellt werden soll.

Öffne jetzt die CSS-Einstellungen deines Styles. Ganz unten auf der Seite siehst du 2 Kästen unter Zusätzliche CSS-Definitionen. Füg in das untere Kästchen das ein

.altfY1, .altfY1Active
{
background-color: #00F5FF;
color: #FF0000;
}
.altfY2, .altfY2Active
{
background-color: #00E4F2;
color: #FF0000;
}
Die Farbwerte passt du natürlich deinen Vorstellungen an.

jhon
28.10.2004, 12:09
Irgendwas mache ich wohl noch falsch.
Ich habe alle Änderungen vorgenommen, sieht aber alles noch genau gleich aus, keine Änderung zu sehen, wenn ich auf den entsprechenden Style schalte :(


<tr align="center">
<td class="<if condition="$forum['forumid']==30">altfY2<else />alt2</if>"><img src="$stylevar[imgdir_statusicon]/forum_$forum[statusicon].gif" alt="" border="0" /></td>
<td class="<if condition="$forum['forumid']==30">altfY1Active<else />alt1Active</if>" align="$stylevar[left]" id="f$forum[forumid]">
<div>
<a href="forumdisplay.php?$session[sessionurl]f=$forum[forumid]"><strong>$forum[title]</strong></a>
<if condition="$show['browsers']"><span class="smallfont">(<phrase 1="$forum[browsers]">$vbphrase[x_viewing]</phrase>)</span></if>
</div>
<if condition="$show['forumdescription']"><div class="smallfont">$forum[description]</div></if>
<if condition="$show['forumsubscription']"><div class="smallfont"><strong><a href="subscription.php?$session[sessionurl]do=removesubscription&amp;f=$forum[forumid]">$vbphrase[unsubscribe_from_this_forum]</a></strong></div></if>
<if condition="$show['subforums']"><div class="smallfont" style="margin-top:$stylevar[cellpadding]px"><strong>$vbphrase[subforums]</strong>: $forum[subforums]</div></if>
</td>
<td class="<if condition="$forum['forumid']==30">altfY2<else />alt2</if>" nowrap="nowrap">$forum[lastpostinfo]</td>
<td class="<if condition="$forum['forumid']==30">altfY1<else />alt1</if>">$forum[threadcount]</td>
<td class="<if condition="$forum['forumid']==30">altfY2<else />alt2</if>">$forum[replycount]</td>
<if condition="$vboptions['showmoderatorcolumn']">
<td class="<if condition="$forum['forumid']==30">altfY1<else />alt1</if>"><div class="smallfont">$forum[moderators]&nbsp;</div></td>
</if>
</tr>
$childforumbits


.altfY1, .altfY1Active {
background-color: #FF0000;
color: #000000;
}
.altfY2, .altfY2Active
{
background-color: #FF0000;
color: #000000;
}


Noch jemand ne Idee :confused:

Gruß

Jochen

pogo
28.10.2004, 12:56
Ok, ich bin davon ausgegangen, dass du die Ansicht eines Forums und nicht einer Kategorie ändern möchtest. :)

Du müsstest also eine ähnliche Änderung im Template forumhome_forumbit_level1_nopost vornehmen.

jhon
01.11.2004, 09:09
Da muss ich wohl noch einiges lernen.... :cool:

Ich finde dort als Class nur class="tcat" und class="smallfont", damit kriege ich es aber nicht hin - muss ich wohl noch ein bißchen probieren.....

Trotzdem Danke für den Input.

Gruß

Jochen

pogo
01.11.2004, 14:48
Die Bedingung könnte diese sein

class="<if condition="$forum['forumid']==Y">tcatfY<else />tcat</if>"
Als zusätzlicher CSS Code wäre Folgendes hinzuzufügen:

.tcatfY
{
background: #869BBF url(images/gradients/gradient_tcat.gif) repeat-x top left;
color: #FFFFFF;
font: bold 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
}
.tcatfY a:link
{
color: #ffffff;
text-decoration: none;
}
.tcatfY a:visited
{
color: #ffffff;
text-decoration: none;
}
.tcatfY a:hover, .tcatfY a:active
{
color: #FFFF66;
text-decoration: underline;
}
Anstelle des Y solltest du übrigens überall die Forum-ID des betreffenden Forums einfügen.

jhon
01.11.2004, 19:11
Also: Erst mal danke für die ausdauernde Hilfe für einen Newbie ;) , ich weiß das zu schätzen:

Zum Thema: Das Ergebnis wird besser, aber irgendwo finde ich eetwas noch nicht.

Ich habe mal 2 Grafiken angehängt. Auf der einen sieht man den "Originalzustand", auf der anderen den mit eingebauter Änderung (ist zwar ein anderer Style, die sind aber quasi identisch, bis auf die Farbwerte)

Wie man sieht, wird nur der untere Teil des Titels der Kategorie richtig eingefärbt. Wenn man die Ansicht aktualisiert, dann wird es einmal kurz korrekt dargestellt, dann wird der obere Teil aber durch wieder überlagert.
Ich glaube, dass das gradient_thead.gif ist, finde das aber nicht in den ccs-sheets.

Nun bin ich kurz vorm Ziel und schaffe es immer noch nicht allein :(

Gruß

Jochen

jhon
01.11.2004, 19:35
Zumindest bin ich insofern schon mal weiter, das die o.a. Änderung nur die Farbe bei der Beschreibung der Kategorie ändert, nicht aber den Titel.

pogo
01.11.2004, 22:20
Wenn du diesen Teil aus dem CSS Code löschst, ist auch die Gradient Grafik weg:

url(images/gradients/gradient_tcat.gif) repeat-x top left

jhon
01.11.2004, 22:25
Super, das wars :D Vielen Dank, darauf hätte ich natürlich auch selber kommen sollen :rolleyes:

Gruß

Jochen

jhon
02.11.2004, 12:02
Wie geschrieben hat das jetzt wunderbar bei der fraglichen Kategorie funktioniert - und schon wird man größenwahnsinnig :D Ich dachte jetzt, dass ich einfach mit Hilfe einer ODER-Verknüpfung in der Art
<td class="<if ((condition="$forum['forumid']==30") || (condition="$forum['forumid']==70"))>tcatfY<else />tcat</if>" auch noch eine 2. Kategorie einfärben könnte. Aber - Pustekuchen: Parserfehler :(

Irgendwie verstehe ich diese Syntax einfach noch nicht....

Gruß

Jochen

pogo
02.11.2004, 15:09
<td class="<if condition="$forum['forumid']==30 OR $forum['forumid']==70">tcatfY<else />tcat</if>"
So sollte es klappen.

jhon
02.11.2004, 17:48
Danke, klappt bestens. War wohl ein bißchen viel des Guten mit Klammern, Anführungszeichen und Conditions bei mir :rolleyes:

Gruß

jhon