S_FIRST_UNREAD

Frågor kring forumdesign (teman/themes) för phpBB 3 (3.0.0 eller senare).

Moderatorer: Moderatorgrupp, Supportgrupp

Skriv svar
Användarens profilbild
Holger
Support - Ledare
Support - Ledare
Inlägg: 6554
Blev medlem: 2004-06-09 08:32
Svar: 1
Ort: Hannover/Tyskland
Kontakt:

S_FIRST_UNREAD

Inlägg av Holger »

Hejsan,

jag har en switch som heter S_FIRST_UNREAD i min viewtopic_body.html.
Den pekar på det första olästa inlägget i en tråd.
Finns det ngn switch som helt enkelt heter S_UNREAD (finns ej) eller liknande?
Jag vill alltså markera olästa inlägg med en viss färg (eftersom jag tycker att den lilla ikonen är för liten) och det vill jag göra med en switch.

Ungefär så här:

Kod: Markera allt

<td align="center" valign="middle"<!-- IF postrow.S_FIRST_UNREAD --> style="background-color: #7cbb73"<!-- ENDIF -->>
men då med UNREAD och inte FIRST_UNREAD
Holger Gremminger
Ingen support via PM!
Användarens profilbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0
Ort: Skövde

Re: S_FIRST_UNREAD

Inlägg av Marcus »

Det är alltså i filen /styles/subsilver2/template/viewtopic_body.html som vi tittar (eller i motsvarande fil för ett subSilver2-baserat tema).

postrow.S_FIRST_UNREAD till för att sätta ut ett ankare för var man hamnar om man lägger till #unread i URL:ens slut. Den har alltså inte något annat syfte. Så här ser koden ut:

Kod: Markera allt

<!-- IF postrow.S_FIRST_UNREAD --><a name="unread"></a><!-- ENDIF -->
Det är istället helt enkelt vad postrow.MINI_POST_IMG tilldelas för vart och ett av inläggen som styr utseendet på ikonen på raden. (se nedan)

Kod: Markera allt

<!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF -->
Med andra ord finns det inget i själva temat (utan modifieringar) för att kolla om inlägget är oläst (bortsett från första olästa).

Ex. kan man i samband med tilldelningen av postrow.MINI_POST_IMG också skapa en egen variabel (t.ex. den du föreslog S_UNREAD). Sätt den till 1 för alla som får en bild för oläst meddelande. Sedan kan du i samband med:

Kod: Markera allt

<!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
Ändra till:

Kod: Markera allt

<tr class="<!-- IF postrow.S_ROW_COUNT is even -->row1<!-- ELSE -->row2<!-- ENDIF --><!-- IF postrow.S_UNREAD--> unread<!-- ENDIF -->">
Hoppas jag fick till det rätt med alla < - ! " och >. :-)

/marcus
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
Användarens profilbild
Holger
Support - Ledare
Support - Ledare
Inlägg: 6554
Blev medlem: 2004-06-09 08:32
Svar: 1
Ort: Hannover/Tyskland
Kontakt:

Re: S_FIRST_UNREAD

Inlägg av Holger »

Tack Marcus, jag ska prova!
Holger Gremminger
Ingen support via PM!
Användarens profilbild
Holger
Support - Ledare
Support - Ledare
Inlägg: 6554
Blev medlem: 2004-06-09 08:32
Svar: 1
Ort: Hannover/Tyskland
Kontakt:

Re: S_FIRST_UNREAD

Inlägg av Holger »

Marcus skrev:Ex. kan man i samband med tilldelningen av postrow.MINI_POST_IMG också skapa en egen variabel (t.ex. den du föreslog S_UNREAD). Sätt den till 1 för alla som får en bild för oläst meddelande. Sedan kan du i samband med: ...
Ok, det där får jag inte ihop ... hur gör jag detta? :oops:
Holger Gremminger
Ingen support via PM!
Användarens profilbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0
Ort: Skövde

Re: S_FIRST_UNREAD

Inlägg av Marcus »

I filen /viewtopic.php på rad 1516 hittar du:

Kod: Markera allt

'MINI_POST_IMG'			=> ($post_unread) ? $user->img('icon_post_target_unread', 'UNREAD_POST') : $user->img('icon_post_target', 'POST'),
Direkt efter den kan du ju komplettera med:

Kod: Markera allt

'S_UNREAD' => $post_unread),
Sedan kan du i filen /styles/subsilver2/template/viewtopic_body.html ändra enligt tidigare förslag:

Kod: Markera allt

<tr class="<!-- IF postrow.S_ROW_COUNT is even -->row1<!-- ELSE -->row2<!-- ENDIF --><!-- IF postrow.S_UNREAD--> unread<!-- ENDIF -->">
/marcus
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
Användarens profilbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0
Ort: Skövde

Re: S_FIRST_UNREAD

Inlägg av Marcus »

Vänta nu... det finns ju redan en som heter S_UNREAD_POST... :oops:
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
Användarens profilbild
Holger
Support - Ledare
Support - Ledare
Inlägg: 6554
Blev medlem: 2004-06-09 08:32
Svar: 1
Ort: Hannover/Tyskland
Kontakt:

Re: S_FIRST_UNREAD

Inlägg av Holger »

Öh, och vad gör den? Är det den jag behöver?
Holger Gremminger
Ingen support via PM!
Användarens profilbild
Sinom
Verified
Administratör
Administratör
Inlägg: 1506
Blev medlem: 2010-11-04 21:24
Svar: 13

Re: S_FIRST_UNREAD

Inlägg av Sinom »

Hej Holger!

Är int helt hundra på vad du är ute efter, såg jag gör ett test.

Gå till styles/subsilver2/template/ och öppna viewforum_body.html

Hitta (rad 38):

Kod: Markera allt

             <td class="row1" width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td>
             <!-- IF S_TOPIC_ICONS -->
                <td class="row1" width="25" align="center"><!-- IF topicrow.TOPIC_ICON_IMG --><img src="{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}" width="{topicrow.TOPIC_ICON_IMG_WIDTH}" height="{topicrow.TOPIC_ICON_IMG_HEIGHT}" alt="" title="" /><!-- ENDIF --></td>
             <!-- ENDIF -->
             <td class="row1">
Ersätt med:

Kod: Markera allt

             <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->" width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td>
             <!-- IF S_TOPIC_ICONS -->
                <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->" width="25" align="center"><!-- IF topicrow.TOPIC_ICON_IMG --><img src="{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}" width="{topicrow.TOPIC_ICON_IMG_WIDTH}" height="{topicrow.TOPIC_ICON_IMG_HEIGHT}" alt="" title="" /><!-- ENDIF --></td>
             <!-- ENDIF -->
             <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->">
Hitta (rad 55):

Kod: Markera allt

             <td class="row2" width="130" align="center"><p class="topicauthor">{topicrow.TOPIC_AUTHOR_FULL}</p></td>
             <td class="row1" width="50" align="center"><p class="topicdetails">{topicrow.REPLIES}</p></td>
             <td class="row2" width="50" align="center"><p class="topicdetails">{topicrow.VIEWS}</p></td>
             <td class="row1" width="140" align="center">
Ersätt med:

Kod: Markera allt

             <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row3<!-- ELSE -->row2<!-- ENDIF -->" width="130" align="center"><p class="topicauthor">{topicrow.TOPIC_AUTHOR_FULL}</p></td>
             <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->" width="50" align="center"><p class="topicdetails">{topicrow.REPLIES}</p></td>
             <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row3<!-- ELSE -->row2<!-- ENDIF -->" width="50" align="center"><p class="topicdetails">{topicrow.VIEWS}</p></td>
             <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->" width="140" align="center">
Hitta (rad 189):

Kod: Markera allt

                <td class="row1" width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td>
                <!-- IF S_TOPIC_ICONS -->
                   <td class="row1" width="25" align="center"><!-- IF topicrow.TOPIC_ICON_IMG --><img src="{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}" width="{topicrow.TOPIC_ICON_IMG_WIDTH}" height="{topicrow.TOPIC_ICON_IMG_HEIGHT}" alt="" title="" /><!-- ENDIF --></td>
                <!-- ENDIF -->
                <td class="row1">
Ersätt med:

Kod: Markera allt

                <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->" width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td>
                <!-- IF S_TOPIC_ICONS -->
                   <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->" width="25" align="center"><!-- IF topicrow.TOPIC_ICON_IMG --><img src="{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}" width="{topicrow.TOPIC_ICON_IMG_WIDTH}" height="{topicrow.TOPIC_ICON_IMG_HEIGHT}" alt="" title="" /><!-- ENDIF --></td>
                <!-- ENDIF -->
                <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->">
Hitta (rad 206):

Kod: Markera allt

                <td class="row2" width="130" align="center"><p class="topicauthor">{topicrow.TOPIC_AUTHOR_FULL}</p></td>
                <td class="row1" width="50" align="center"><p class="topicdetails">{topicrow.REPLIES}</p></td>
                <td class="row2" width="50" align="center"><p class="topicdetails">{topicrow.VIEWS}</p></td>
                <td class="row1" width="140" align="center">
Ersätt med:

Kod: Markera allt

                <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row3<!-- ELSE -->row2<!-- ENDIF -->" width="130" align="center"><p class="topicauthor">{topicrow.TOPIC_AUTHOR_FULL}</p></td>
                <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->" width="50" align="center"><p class="topicdetails">{topicrow.REPLIES}</p></td>
                <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row3<!-- ELSE -->row2<!-- ENDIF -->" width="50" align="center"><p class="topicdetails">{topicrow.VIEWS}</p></td>
                <td class="<!-- IF topicrow.S_UNREAD_TOPIC -->row2<!-- ELSE -->row1<!-- ENDIF -->" width="140" align="center">
Detta skall då se ut som följande:

Bild

Lycka till!

Hugs :ugeek:
Bild
Användarens profilbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0
Ort: Skövde

Re: S_FIRST_UNREAD

Inlägg av Marcus »

Nu var det ju inte S_UNREAD_TOPIC som var på tapeten, då den styr vad som är "unread" i viewforum_body.html (om jag inte är helt ute och cyklar).

Vidare tycker jag att in lösning att sätta en extra klass på <tr> var bättre, det är ju bara att ange i CSS-koden att:

Kod: Markera allt

tr.unread td {
   ... /* vad vill du händer? */
}
/marcus

PS!
Ja, det är S_UNREAD_POST du ska använda. Den är TRUE för oläst och FALSE för läst.
DS!
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
Användarens profilbild
Sinom
Verified
Administratör
Administratör
Inlägg: 1506
Blev medlem: 2010-11-04 21:24
Svar: 13

Re: S_FIRST_UNREAD

Inlägg av Sinom »

Ah, sant. Jag må ha varit lite snabb med att svara.

Är det ungefär samma lösning Holger vill ha fast till viewforum?

Hugs :ugeek:
Bild
Användarens profilbild
Holger
Support - Ledare
Support - Ledare
Inlägg: 6554
Blev medlem: 2004-06-09 08:32
Svar: 1
Ort: Hannover/Tyskland
Kontakt:

Re: S_FIRST_UNREAD

Inlägg av Holger »

Tack till er bägge! Båda är bra lösningar! :D
Holger Gremminger
Ingen support via PM!
Skriv svar

Vilka är online

Användare som besöker denna kategori: 1 och 0 gäst