S_FIRST_UNREAD

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

Moderatorer: Supportgrupp, Moderatorgrupp

S_FIRST_UNREAD

Inläggav Holger » 2011-05-17 14:08

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 :: gillar phpBB2, ingen vän av phpBB3.
Ingen support via PM!

Automatiserad backup av din databas med MYSQLdumper! Nu med helsvenskt gränssnitt.
Nytt: http://www.mysqldumper.se!
Användarvisningsbild
Holger
Hedersmedlem
Hedersmedlem
 
Inlägg: 6058
Blev medlem: 2004-06-09 08:32
Ort: Hannover/Tyskland

Re: S_FIRST_UNREAD

Inläggav Marcus » 2011-05-17 16:54

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ändarvisningsbild
Marcus
Administratör
Administratör
 
Inlägg: 4288
Blev medlem: 2004-01-07 22:12
Ort: Skövde

Re: S_FIRST_UNREAD

Inläggav Holger » 2011-05-17 19:03

Tack Marcus, jag ska prova!
Holger Gremminger :: gillar phpBB2, ingen vän av phpBB3.
Ingen support via PM!

Automatiserad backup av din databas med MYSQLdumper! Nu med helsvenskt gränssnitt.
Nytt: http://www.mysqldumper.se!
Användarvisningsbild
Holger
Hedersmedlem
Hedersmedlem
 
Inlägg: 6058
Blev medlem: 2004-06-09 08:32
Ort: Hannover/Tyskland

Re: S_FIRST_UNREAD

Inläggav Holger » 2011-05-23 13:33

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 :: gillar phpBB2, ingen vän av phpBB3.
Ingen support via PM!

Automatiserad backup av din databas med MYSQLdumper! Nu med helsvenskt gränssnitt.
Nytt: http://www.mysqldumper.se!
Användarvisningsbild
Holger
Hedersmedlem
Hedersmedlem
 
Inlägg: 6058
Blev medlem: 2004-06-09 08:32
Ort: Hannover/Tyskland

Re: S_FIRST_UNREAD

Inläggav Marcus » 2011-05-23 14:28

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ändarvisningsbild
Marcus
Administratör
Administratör
 
Inlägg: 4288
Blev medlem: 2004-01-07 22:12
Ort: Skövde

Re: S_FIRST_UNREAD

Inläggav Marcus » 2011-05-23 14:30

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ändarvisningsbild
Marcus
Administratör
Administratör
 
Inlägg: 4288
Blev medlem: 2004-01-07 22:12
Ort: Skövde

Re: S_FIRST_UNREAD

Inläggav Holger » 2011-05-23 14:31

Öh, och vad gör den? Är det den jag behöver?
Holger Gremminger :: gillar phpBB2, ingen vän av phpBB3.
Ingen support via PM!

Automatiserad backup av din databas med MYSQLdumper! Nu med helsvenskt gränssnitt.
Nytt: http://www.mysqldumper.se!
Användarvisningsbild
Holger
Hedersmedlem
Hedersmedlem
 
Inlägg: 6058
Blev medlem: 2004-06-09 08:32
Ort: Hannover/Tyskland

Re: S_FIRST_UNREAD

Inläggav Sinom » 2011-05-23 19:00

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:
Användarvisningsbild
Sinom
Support - Ledare
Support - Ledare
 
Inlägg: 941
Blev medlem: 2010-11-04 21:24

Re: S_FIRST_UNREAD

Inläggav Marcus » 2011-05-23 20:26

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ändarvisningsbild
Marcus
Administratör
Administratör
 
Inlägg: 4288
Blev medlem: 2004-01-07 22:12
Ort: Skövde

Re: S_FIRST_UNREAD

Inläggav Sinom » 2011-05-23 20:57

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:
Användarvisningsbild
Sinom
Support - Ledare
Support - Ledare
 
Inlägg: 941
Blev medlem: 2010-11-04 21:24

Re: S_FIRST_UNREAD

Inläggav Holger » 2011-05-24 09:10

Tack till er bägge! Båda är bra lösningar! :D
Holger Gremminger :: gillar phpBB2, ingen vän av phpBB3.
Ingen support via PM!

Automatiserad backup av din databas med MYSQLdumper! Nu med helsvenskt gränssnitt.
Nytt: http://www.mysqldumper.se!
Användarvisningsbild
Holger
Hedersmedlem
Hedersmedlem
 
Inlägg: 6058
Blev medlem: 2004-06-09 08:32
Ort: Hannover/Tyskland


Återgå till phpBB 3 - Teman & Design

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst