If abfrage nach gewähltem Style

  • Affected Version
    WoltLab Suite 3.1

    Hi,
    ich hasse es für solche Kleinigkeiten einen neuen Thread anfangen zu müssen aber naja...

    Also ich wurde heute in das wunderbare land der "if abfragen" eingeführt und nun da ich weiß, dass sowas geht fallen mir mehr und mehr stellen ein, wo ich diese einsetzen könnte.

    So zum Problem: Ich habe ein Bild welches ich wechseln möchte wen ein anderer Style genutzt wird.

    Also spricht sowas wie: If Style=xy -> then Bild1, if style=yz -> then Bild2, if style=xz -> then Bild3

    Danke schon mal im vorraus!
    Moony

  • Ist Dir schon aufgefallen, dass zu jedem Stil ein Bilderpfad existiert? Hier kannst Du jeweils zum Stil passende Bilder ablegen, die dann je nach gewähltem Stil aufgerufen werden. Du legst also unterschiedliche Bilder unter demselben Namen in den jeweiligen Bilderordnern ab und der Rest funktioniert vollautomatisch.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Ah verdammt an sowas hab ich nicht gedacht.

    Wie dem auch sei könnte ich eine solche abfrage auch sehr gut für andere dinge gebrauchen (zum beispiel Text eines Buttons der sich Anhand des Styles ändert).

  • Die Änderung einer Buttonbeschriftung erscheint mir wenig sinnvoll. Warum sollte ein Button in verschiedenen Stilen unterschiedliche Funktionen haben?





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Das ist ja das schöne an der Kunst, wofür die einen keine Verwendung sehen haben andere schon ein Kunstwerk im blick. (Ja ich hasse mich selber für diesen Satz)

    Okay, vielleicht nicht ein Button aber ich hätte hier zum Beipiel ein iFrame dessen Inhalt eine Schriftfarbe hat, die mit einem Style nicht funktioniert. Daher möchte ich je nach Style ein anderes iFrame nutzen.

  • Wer sagt, dass ich keine Verwendung für so etwas sehe? Im ersten Fall gibt es eine vorgesehene Alternative in Form des stilspezifischen Bildordners, auf den ich Dich aufmerksam gemacht habe, im zweiten Fall erschien mir eine stilspezifische Änderung von Buttonbezeichnungen nicht sinnvoll und ich fragte nach dem Grund für den Wunsch. Wo derartige Änderungen sinnvoll erscheinen, bin ich der letzte, der nicht den passenden Weg aufzeigt. Siehe z. B. Thema erstellen Button Text ändern.


    Zu Deiner Iframe-Frage: Bist du sicher, dass Du den Text innerhalb des Iframes nicht via CSS anpassen kannst? Das wäre für mich die Methode der ersten Wahl, wenn sie denn funktioniert.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Iwie habe ich das Gefühl das du da heute was neues, für dich, gelernt hast und es nun überall einsetzen willst? Nur weil man es kann muss es nicht überall rein xD wobei if anfragen einiges tolles können ;)

  • Nur weil man es kann muss es nicht überall rein


    Hust, und das ausgerechnet von Dir? Nachdem ich Dir so einige Abfragen erklärt hatte, war Dein Tatendrang kaum noch zu bremsen.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Dann habe ich dich etwas falsch Verstand. ;) Sorry für das Missverständnis!

    ich könnte das sicherlich, aber diese Änderung wäre ja dann in allen styles sichtbar.
    Einer meiner Styles ist sehr hell mit weißen Hintergrund und der sehr dunkel mit fast schwarzen Hintergrund. Was ich da also wähle würde bei einem Style gut aussehen und bei dem anderen eher fehl am platz.
    Wenn du mir jetzt natürlich sagst, dass ich einfach die Farben vom Style abgreifen kann und diese dann in den iFrame einfügen kann wäre das natürlich das einfachste...aber auch da wüsste ich nicht wie.


    Iwie habe ich das Gefühl das du da heute was neues, für dich, gelernt hast und es nun überall einsetzen willst? Nur weil man es kann muss es nicht überall rein xD wobei if anfragen einiges tolles können ;)


    Könnte man meinen und is bei mir sicherlich auch keine falsche Annahme. In dem fall ist mir das Problem aber tatsächlich erst aufgefallen ist und erst später die mögliche Lösung.

  • ich könnte das sicherlich, aber diese Änderung wäre ja dann in allen styles sichtbar.


    Warum das denn? Dafür gibst Du einfach beim jeweiligen Stil die gewünschte Änderung an und fertig.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Ich habe es für ein projekt genutzt If Abfragen an sich kannte ich bereits vorher von programmieren bei knuddels xD

  • Lass mich mal erklären, was ich hier hab.

    Im iframe hab ich ein Formular welches ich mit jqueryform.com gebastelt habe. Ich bin mir darin noch nicht mal ganz sicher wo die Schriftfarbe angegeben wird.

  • Das ist jetzt tatsächlich eine gute Frage. Aber ich glaube das würde jetzt den Rahmen dieses Themas sprengen (will heißen ich muss mich damit jetzt denk ich erstmal auseinandersetzten, da ich mir das alles etwas einfacher vorgestellt hatte :P)

    Also um das jetzt mal abzuschließen
    Lass uns mal davon ausgehen ich würde eine sinnvolle Anwendungsmöglichkeit für eine if Abfrage nach dem Style finden (Auch wenn die einzige sinnvolle Anwendung ist, dass ich die Anwendung verstehe!) wie wäre die dann?

    (Kenne mich halt mit dieser Skript Sprache nicht aus (weiß noch nicht einmal welche das ist) deshalb versuch ich jedes bisschen Info aufzunehmen das ich verwerten kann)

  • im Template Code vom styleChooser befindet sich folgender Template Code:


    Dort ist bereits eine IF-Abfrage enthalten welche wie folgt lautet: {if $style->styleID == $__wcf->getStyleHandler()->getStyle()->styleID}

    Ergo sollte (nicht überprüft) deine IF-Abfrage wie folgt heißen:

    Code
    {if $style->styleID == XX}WAS PASSIEREN SOLL{/if}

    wobei XX mit der ID deines Stils übereinstimmen sollte.


    Wenn du mehrer Stile abfragen willst, kann das auch wie folt aussehen:

    Code
    {if $style->styleID == XX || $style->styleID == XY}WAS PASSIEREN SOLL{/if}

    Eine weitere Übersicht bestimmter IF-Abfragen findest du unter: https://www.smarty.net/docsv2/de/language.function.if.tpl



    =========================================

    PS: Warum müssen andere Ideen und Fragen vom TE immer Hinterfragen: es mag euch vlt. nicht sinnvoll erscheinen. Aber gebt doch zumindest einen Denkanstoß oder die Lösung zum Problem. Wie man es besser machen kann, kann man im Nachgang noch klären.


    Auch ich habe Spaß dabei, neu erlerntes einfach mal auszuprobieren und um zu setzen. Mir im ersten Moment egal, ob es anders besser geht. Das kann man sich im Nachinein noch aneignen :)

  • Danke für die Hilfe (an allen).

    Und TheSoulrester: Ja das sehe ich auch so. Ich bin äußerst dankbar für jegliche Hilfe und kann es auch sehr gut verstehen, dass man jemanden in eine andere, "richtigere" Richtung lenken will.

    Ich denke mir aber auch immer wenn jemand in zwei Jahren mal auf diesen Thread stößt weil er eine sinnvoll Anwendung gefunden hat, wäre der sicherlich sehr genervt, wenn die Lösung nicht hier stände. ;)

  • Ergo sollte (nicht überprüft) deine IF-Abfrage wie folgt heißen:

    Code
    {if $style->styleID == XX}WAS PASSIEREN SOLL{/if}

    Ich hab es jetzt nicht getestet, aber ich würde eher folgendes versuchen:

    Code
    {if $__wcf->getStyleHandler()->getStyle()->styleID == XX}WAS PASSIEREN SOLL{/if}


    Denn das $style in deiner if Abfrage stammt ja aus der foreach Schleife deines oben gezeigten Codes. In dem von dir gezeigten Code Abschnitt wird für jeden vorhanden Stil geprüft, ob dessen ID mit $__wcf->getStyleHandler()->getStyle()->styleID, also der ID des vom User genutzten Stils, übereinstimmt.

    Edited 2 times, last by ReeN ().

  • Ich denke mir aber auch immer wenn jemand in zwei Jahren mal auf diesen Thread stößt weil er eine sinnvoll Anwendung gefunden hat, wäre der sicherlich sehr genervt, wenn die Lösung nicht hier stände. ;)

    Andererseits kann es aber nicht sein, das JEDER Anwendungsfall im kleinsten Detail hier erklärt werden muss. Die grobe Richtung hast du nun von allen möglichen erfahren. ;)

    WoltNet - Wir haben die aktuellen Nachrichten der WoltLab-Szene!

  • Es ging hier doch gar nicht darum jeden Anwendungsfall im kleinsten Detail zu erklären, sondern nur darum, wie eine if Abfrage generell aussehen muss, um Dinge abhängig vom Stil anzuzeigen. So hatte ich es zumindest verstanden.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!