Seite 2 von 2

Re: If Bedingungen in Templates

Verfasst: 03.07.2012 21:35
von WileCoyote
Ich kann mir im Moment nicht vorstellen, warum gerade nur bei ungelesenen Beiträgen ein Script ausgeführt werden sollte. Das tut aber auch nichts zur Sache. Man müßte eine eventuelle Lösung an die Funktion für ungelesene Beiträge knüpfen. Einen Link zum Einlesen kann ich dir dafür nicht anbieten. Du müßtest die Funktion schon analysieren. Wenn du von Programmieren keine Ahnung hast, würde ich an deiner Stelle aber die Finger davon lassen.

Re: If Bedingungen in Templates

Verfasst: 03.07.2012 21:47
von timotheus
Ne das Script soll bei ungelesenen Beiträgen nicht ausgeführt werden. Aber gut bisher ist erstmal alle gut. Ich würde aber auch sagen, dass ich nicht gänzlich unerfahren bin und anfangen mit was auch immer musste und muss jeder ;)


Schönen Abend euch noch.

EDIT:
Einen hab ich noch ;)

Code: Alles auswählen

<!-- IF not S_UNREAD_POST -->
funktioniert auch nicht obwohl es doch müsste oder?

Kann ich nicht auch irgendwie mit der Variable arbeiten

Code: Alles auswählen

U_VIEW_UNREAD_POST
gefunden hier - Danke Miriam :)

Edit2:

Einen Vergleichsoperator "enthält" gibts ja, so wie ich gelesen habe nicht. Ich müsste ja nur daraufhin überprüfen, ob der aufgerufenen URL viewtopic.php ein #unread anhängt, das wärs ja schon?!

Re: If Bedingungen in Templates

Verfasst: 03.07.2012 23:22
von WileCoyote
timotheus hat geschrieben:EDIT:
Einen hab ich noch ;)

Code: Alles auswählen

<!-- IF not S_UNREAD_POST -->
funktioniert auch nicht obwohl es doch müsste oder?
Bei dieser Bedingung wird das Script ausgeführt, wenn S_UNREAD_POST auf der Seite, auf der du dich gerade befindest, nicht vorhanden ist.

Code: Alles auswählen

<!-- IF S_UNREAD_POST -->
Könnte eventuell funktionieren, weil die Variable beim Aufruf der viewtopic.php vorhanden ist und die Variable prüft, ob ein ungelesener Beitrag vorhanden ist. Ganz überzeugt bin ich davon aber nicht

Versuche also folgende Abfrage:

Code: Alles auswählen

<!-- IF $_SERVER['SCRIPT_NAME'] == '/index.php' or $_SERVER['SCRIPT_NAME'] == '/neueSeite.php' or S_UNREAD_POST -->
timotheus hat geschrieben:Kann ich nicht auch irgendwie mit der Variable arbeiten

Code: Alles auswählen

U_VIEW_UNREAD_POST
gefunden hier - Danke Miriam :)
Bei dieser Abfrage

Code: Alles auswählen

<!-- IF U_VIEW_UNREAD_POST -->
wird überprüft, ob beim Seitenaufruf der viewtopic.php U_VIEW_UNREAD_POST vorhanden ist. Das würde nicht zum gewünschten erfolg führen, weil U_VIEW_UNREAD_POST verschiedene Werte/Zustände haben kann.

Bei dieser Abfrage

Code: Alles auswählen

<!-- IF not U_VIEW_UNREAD_POST -->
wird das Script nicht ausgeführt, weil die Bedingung beim Aufruf der viewtopic.php nicht erfüllt ist (U_VIEW_UNREAD_POST ist vorhanden!)
Beides führt also nicht zum gewünschten Erfolg.

Re: If Bedingungen in Templates

Verfasst: 04.07.2012 11:18
von timotheus
WileCoyote hat geschrieben:
timotheus hat geschrieben:EDIT:
Einen hab ich noch ;)

Code: Alles auswählen

<!-- IF not S_UNREAD_POST -->
funktioniert auch nicht obwohl es doch müsste oder?
Bei dieser Bedingung wird das Script ausgeführt, wenn S_UNREAD_POST auf der Seite, auf der du dich gerade befindest, nicht vorhanden ist.
Genauso soll es ja. Also ausführen wenn in der URL viewtopic.php nicht "#unread" angefügt ist. Wenn "#unread" angefügt dann nicht ausführen. Leider funktioniert das so aber nicht :(.

Re: If Bedingungen in Templates

Verfasst: 04.07.2012 18:07
von Miriam
Es klappt deshalb nicht, weil Du es wahrscheinlich an der falschen Stelle eingefügt hast.

Was soll eigentlich passieren, wenn Du auf eine Seite mit ungelesenen Nachrichten kommst? Aber ohne den Link mit dem unread-Anker zu benutzen?

Re: If Bedingungen in Templates

Verfasst: 04.07.2012 21:41
von timotheus
Hi Miriam,

es soll gar nix passieren. Der Grund ist das die URLs auf den Seiten wo das Script greifen soll weiterverwendet werden sollen aber eben keine URL's die #unread angehangen haben, daher wollte ich das Script auf diesen Seiten gar nicht erst ausführen lassen.

Code: Alles auswählen

<!-- IF not S_IS_BOT -->
<!-- IF not S_UNREAD_POST -->
<!-- IF ($_SERVER['SCRIPT_NAME'] == '/index.php' or $_SERVER['SCRIPT_NAME'] == '/viewtopic.php' ) -->
<script type="text/javascript">
blablabla
</script>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
So hab ich es gemacht und es geht nicht.

Re: If Bedingungen in Templates

Verfasst: 04.07.2012 23:09
von Miriam
finde in der viewtopic.php
  • Code: Alles auswählen

        'S_ENABLE_FEEDS_TOPIC'    => ($config['feed_topic'] && !phpbb_optionget(FORUM_OPTION_FEED_EXCLUDE, $topic_data['forum_options'])) ? true : false, 
danach füge ein:
  • Code: Alles auswählen

        'S_SHOW_SCRIPT'            => (request_var('view', '') !== 'unread') ? true : false, 
dann in deiner overall_footer, dort, wo Du es haben möchtest:
  • Code: Alles auswählen

    <!-- IF S_SHOW_SCRIPT -->
        <Dein Script Code>
    <!-- ENDIF --> 
Lies auch: KB:tippstyles

Re: If Bedingungen in Templates

Verfasst: 09.07.2012 11:56
von timotheus
Hi Miriam,

danke für deine Hilfe. Werde es mal zu Testzwecken später ausprobieren.

Da die URL's nun um das "#unread" gekürzt werden, ist alles gut. :)

Re: If Bedingungen in Templates

Verfasst: 09.07.2012 18:49
von Miriam
Sie werden nicht gekürzt, aber es wird auch per GET der Parameter view mit dem Wert unread übergeben.