Ankündigung

Einklappen
Keine Ankündigung bisher.

CSS-Datei übergeben und beibehalten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CSS-Datei übergeben und beibehalten

    Hallo zusammen!

    Ich bin gerade an einem TYPO3-Projekt und dort muss ich eine Schriftvergrößerung einfügen - über Sinn und Unsinn müssen wir hier nun nicht reden... ^^"
    Ich habe 4 Schriftmöglichkeiten, die je durch einen eigenen Link aufgerufen werden sollen.

    Ich habe bisher Javascript benutzt, um meinem Body je nach Schriftgröße eine Klasse zu geben. Dann wird in einer, im Head eingebundenen CSS-Datei, die Schriftgröße geändert.
    Beispiel:
    Code:
    /* Normales CSS */
    body { font-size:13px; }
    Code:
    /* +1 CSS */
    body.basis14 { font-size:14px; }
    Ich fürchte, dass das nicht ideal ist...

    Allerdings muss sich die Schrift natürlich sofort bei Klick auf den Link ändern, aber auch beim folgenden Durchklicken durch die Seite die gewählte Größe behalten (das tut es zur Zeit noch nicht )

    Nun steh ich auf dem Schlauch, wie ich das ganze nun am saubersten umsetzen kann... Wahrscheinlich dass durch Klick auf den Link die Seite neu geladen wird und damit eine Variable übergeben wird und wenn es denundden Variablenwert hat, wird dieunddie CSS-Datei eingebunden, oder?

    Ich hoffe nun, dass ihr mir einige Hinweise geben könnt

    Danke schon einmal!

    Grüße
    Nicole


  • #2
    Deine bisherige Umsetzung ist doch in Ordnung, jedoch würde ich auf JavaScript verzichten und lieber deine zweite, beschriebene Variante umsetzen, indem ein Cookie (für dauerhafte Änderung) oder eine Session (für eine Änderung in der Sitzung) beschreiben wird. Diesen Wert wertest du am Anfang jeder Seite aus.
    Damit der Link für die Änderung nicht die Dynamik stört würde ich einen "Referrer" übergeben und lediglich durch den Link die Session / den Cookie setzen und zu der aktuellen Seite zurückkehren...

    Kommentar


    • #3
      Hallo Sirke!

      Ich hab den Beitrag nun 17 Mal gelesen und kann immer noch nur verhalten nicken... *lol*
      Das Prinzip, was du beschreibst verstehe ich zu 75%, aber wie setz ich das denn im Code um? Kannst du mir da noch eine Hilfestellung geben??

      Danke schön!

      Grüße
      Nicole

      Kommentar


      • #4
        Oder du änderst die Klasse und schickst gleichzeitig einen AJAX-Request an ein Script, der dann den Wert in der Session speichert.
        Signatur:
        PHP-Code:
        $s '0048656c6c6f20576f726c64';
        while(
        $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

        Kommentar


        • #5
          Ich würde es auch mit einem Ajax-Request lösen, dann brauchst du keine Parameter mitzuschicken und kannst dann immer überprüfen ob die Schriftgröße bereits geändert wurde.
          "My software never has bugs, it just develops random features."
          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

          Kommentar


          • #6
            Ajax bedeutet,

            - dass die Funktionalität Javascript-abhängig ist - sicher nicht die erste Wahl für so ein (Usability)Feature
            - dass die Anwendung einen entsprechenden Ajax-Handler mitbringt. Keine Ahnung, ob das so problemlos in Typo3 einzubauen geht.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Ich würde auch auf JavaScript verzichten, weil man diese Ladezeit sicherlich verkraften kann. Dann würde ich ein PHP Dokument schreiben welches nur für das Ändern der Schriftgröße zuständig ist und diese z.B. mit "changefontsize.php?action=plus&referrer=aktuelleSe ite.php" aufrufen. Darin befindet sich dann folgender Pseudocode:
              Code:
              - Ermittele aktuelle Schriftgröße (Session/Cookie)
                  - d.h. wenn nicht ermittelbar, dann Standardgröße
              - Werte "action" aus:
                  - "plus": Erhöhe Schriftgröße
                      - bei erreichen des Maximums z.B. auf Standard setzen oder nicht weiter erhöhen
                  - "minus": Verringere Schriftgröße
                      - bei erreichen des Minimums z.B. auf Standard setzen oder nicht weiter verringern
              - Schreibe veränderte Schriftgröße (Session/Cookie)
              - Werte "referrer" aus:
                  - Validiere ob güliges Ziel
                  - Leite per header() dorthin -> Sprung zur letzten Seite
              - Leite per header() zur Hauptseite -> Sprung zur Hauptseite
              Die ganze Referrergeschichte ist natürlich optional und würde nur die Benutzbarkeit erhöhen! Der gesamte Pseudocode ist so natürlich auch per AJAX umsetzbar, aber setzt dann JavaScript voraus...

              Kommentar


              • #8
                Ich würde das gar nicht so kompliziert machen. Vor allem den Pseudo-Referrer in der URL finde ich arg häßlich. Viel einfacher wäre ein Bootstrap-Script, das alle Seiten ausliefert. Wenn das dan den GET-Parameter (meinestwegen) lfsize kennt und auswertet, kannst Du den Wert sowohl gleich benutzen, als auch in Sessions oder wasauchimmer schreiben.
                - Werte "action" aus:
                - "plus": Erhöhe Schriftgröße
                - bei erreichen des Maximums z.B. auf Standard setzen oder nicht weiter erhöhen
                - "minus": Verringere Schriftgröße
                - bei erreichen des Minimums z.B. auf Standard setzen oder nicht weiter verringern
                Kann ich nur von abraten. Klassischerweise erhöht nämlich auch ein Seiten-Reload dann die Schriftgröße.

                Was spricht gegen:
                Code:
                ?lfsize=2
                PHP-Code:
                $layoutFontSize = isset($_GET['lfsize']) ? (int) $_GET['lfsize'] : $_SESSION['lfs'];
                if (
                == $layoutFontSize) {
                  
                $layoutFontSize MY_DEFAULT_FONT_SIZE;
                }
                $_SESSION['lfs'] = $layoutFontSize
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  Hallo!

                  Ihr seht mich erschlagen und mit vielen Fragezeichen überm Kopf unter dem Tisch hervorkrabbeln...

                  Ich hab leider recht wenig Ahnung von JavaScript und PHP und AJAX etc kenn ich überhaupt nicht... Und einige Begrifft sind für mich auch ziemlich kryptisch.

                  Ich möchte natürlich jede Art von URL-Fizzelei vermeiden. Außerdem habe ich nicht zwei Links zur Regulierung der Schriftgröße, sondern 4 ganz feste:
                  <a title="normal">A</a>
                  <a title="+1">A</a>
                  <a title="+2">A</a>
                  <a title="+3">A</a>
                  Damit ist die Sache ja um einiges vereinfacht oder? Da ist keine Begerenzung der ERhöhung/Verminderung nötig, da es eben nur 4 Möglichkeiten gibt.

                  Es ist eben wichtig, dass das ganze schnell und ohne Zusatzinstallationen von statten geht, da ich eben auch für ältere Leute/Browser optimieren muss..

                  Ich bitte hiermit um Entschuldigung für mein Unwissen, aber kann mir jemand vielleicht noch einmal zusammenfassen, welches "System" ich nun am schlausten nutze und wie das dann von statten geht (z.B. "Erstelle php-datei, schreibe da eine get-funktion, ...") - Vielen lieben Dank!

                  Und natürlich auch ein riesen Dankeschön an die hilfreichen Helfer!

                  Gruß
                  Nicole

                  Kommentar


                  • #10
                    Es ist eben wichtig, dass das ganze schnell und ohne Zusatzinstallationen von statten geht, da ich eben auch für ältere Leute/Browser optimieren muss..
                    Dieser Satz mach keinen Sinn.

                    Und überhaupt - was willst Du jetzt hören? Wenn Du das umsetzen willst, brauchst DU eben Ahnung von der Materie. Wenn Du die nicht hast, kannst Du eben nur fertige Typo3-Module benuzten, die Frage als Job ausschreiben oder ähnliches. Wir haben hier ja schon sinnvolle Ansätze gegeben. Wenn Du Dich erschlagen siehst, werden wir vermutlich vergeblich auf erste Implementierungsversuche von Dir warten. Und Du auf unsere, weil es
                    1. Deine Aufgabe ist und wir nur ein Hilfe-Forum
                    2. Typo3 ein spezieller Kontext
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      nikosch, du musst mich nun nicht so anfeinden!

                      Der Satz macht Sinn. Ältere Internetnutzer haben sicher kein Arsenal an Zusatzfeatures installiert und es ist schlecht, wenn die auf meine Seite kommen, etwas machen wollen und erstmal eine Fehlermeldung dass das und das nicht installiert ist bekommen. Deshalb sind von der alten Seite schon viele abgesprungen. Hat also was mit Usability zutun.

                      Und mein Problem ist, dass ich nicht so ober-duper-sicher bin, wie mancher hier! Ich habe mal ein bisschen an PHP schnuppern dürfen, aber das ist schon ewig her und wie schon im letzten Beitrag geschrieben: Ich verstehe die Hilfen nicht. Darum muss ich wohl um Verzeihng bitten, wenn hier nur Halb-Cracks von Cracks geholfen wird und keinen Anfängern. Den Eindruck vermittelst du mir nämlich gerade.

                      Mal mein Verständnisprotokoll:
                      1. N: Ich brauche Hilfe
                      2. S: Das ist doch okay; mach kein JavaScript; ???? Wert am Anfang auswerten ???? dann zur aktuellen Seite
                      3. N: Verstehe nicht...
                      4. BS: oder du änderst Klasse und schickst- ????
                      5. PS: Ja Ajax
                      6. n: keine Ajax weil JavaScript; schlecht in TYPO3
                      7. S: kein Ajax; mit PHP; ???? auch nicht optimal wegen Code
                      8. n: nicht so kompliziert; ?????
                      9. N: hab davon keine Ahnung...
                      10. n: du sollst es alleine machen!

                      Die Sachen, die mir der Threat nun an die Hand gegeben hat sind, dass ich kein JavaScript nutzen soll, was auch "Ajax" ausschließt (was ich eh nicht kann). Und PHP ist auch Mist, weil das URL-Kruus macht.
                      So, und was nun?

                      Habe hier nun leider noch keine klare Antwort bekommen und selbst kann ich es nicht entscheiden, weil ich dafür nicht genug PHP kann. Darum kann ich mir die Lösung auch nicht selbst erschaffen, weil der Mist hier in 2 Wochen fertig sein muss und ich schon seit 6 suche. Ich weiß nicht wie die Funktionen aussehen könnten und auch nicht was weiter die Möglichkeiten sind. Ich kann nicht abwägen, welche Idee die besser ist, weil ich sie beide nicht begreife.

                      Also: Tut mir leid Jungs, dass hier so ne Doofpflaume ist..

                      Grüße
                      Nicole

                      Kommentar


                      • #12
                        nikosch, du musst mich nun nicht so anfeinden!
                        Muhaha, wo hast DU das denn rausgelesen. Sorry, aber langsam wirds komisch…

                        Wenn ich
                        Es ist eben wichtig, dass das ganze schnell und ohne Zusatzinstallationen von statten geht, da ich eben auch für ältere Leute/Browser optimieren muss..
                        lese, dann ist mein erster Gedanke: Ich denke, Du optimierst die Seite. Dann musst Du eben dafür sorgenb, dass es in allen Browsern funktioniert. Zusatzinstallationen habe ich jetzt logischerweise auf Typo3 bezogen interpretiert.

                        Mal mein Verständnisprotokoll:
                        Hmm, na
                        7. S: kein Ajax; mit PHP; ???? auch nicht optimal wegen Code
                        8. n: nicht so kompliziert; ?????
                        solltest Du Dir noch mal angucken. Wenn Du die Aufgabe umsetzen willst, solltest Du die Vorschläge halbwegs verstehen und zumindest rudimentär umsetzen können. Wenn nicht,
                        weil ich dafür nicht genug PHP kann. Darum kann ich mir die Lösung auch nicht selbst erschaffen, weil der Mist hier in 2 Wochen fertig sein muss und ich schon seit 6 suche
                        würde ich dir die Scriptbörse bzw. die Jobangebote empfehlen.

                        Es ist nicht tragisch, wenn jemand kein PHP kann, das muss man sich dann aber auch eingestehen. Der schnelle Weg ist dann, es jemand anders machen zu lassen, der lange Weg, selbst die Sprache zu lernen. Es jemand anders machen zu lassen und so zu tun, dass man es selbst machen will und sich noch alles haarklein erklären zu lassen, sehe ich nicht als dritte Option in diesem Board.
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar


                        • #13
                          Okay, also ich mag nun hier auch nicht mehr weiterlesen... Wirklich geholfen hats mir hier nun nicht und mich hier noch die ganze Zeit so komisch anquatschen zu lassen hab ich auch nicht nötig.

                          Ein Forum ist zum helfen und austauschen da. Da ich das eine nicht in einer für mich verständlichen Version bekomme - sondern nur so, dass ich die unwichtige Hälfte der Beiträge verstehe - und das andere auf mich noch nicht zutrifft, macht es keinen Sinn, hier weiter zu schreiben.

                          Finds ziemlich schade, dass ich hier - "Problemlösungen für Spracheinsteiger" - keine Einsteigerhilfe bekomme, die mehr als zwei Minuten in Anspruch nimmt.

                          Gruß
                          Nicole

                          Kommentar


                          • #14
                            Zitat von Nicole Beitrag anzeigen
                            Ein Forum ist zum helfen und austauschen da. Da ich das eine nicht in einer für mich verständlichen Version bekomme - sondern nur so, dass ich die unwichtige Hälfte der Beiträge verstehe - und das andere auf mich noch nicht zutrifft, macht es keinen Sinn, hier weiter zu schreiben.

                            Finds ziemlich schade, dass ich hier - "Problemlösungen für Spracheinsteiger" - keine Einsteigerhilfe bekomme, die mehr als zwei Minuten in Anspruch nimmt.

                            Gruß
                            Nicole
                            Du wirfst den Leute hier vor, daß du die angebotenen Lösungsansätze nicht verstehst

                            Dieses Forum ist als "Hilfe zur Selbsthilfe" gedacht... quasi für Bastler. Du kannst auch nicht mit dem Auto in einer Bastlerwerkstatt vorfahren und dann verlangen, das dir erstmal einer die Funktionsweise eines Motors haarklein erläutert, damit du das Quietschen selber beseitigen kannst - so läuft das nicht. Und wenn dann doch einer kommt und es dir erklärt, bist du eingeschnappt, weil er es nicht in 2 Minuten kann (oder du es nicht in 2 Minuten kapierst)...

                            Hier werden dir keine Basics beigebracht (siehe auch Forenregeln), diese gibts tausendfach im Netz.

                            Kurz: Deine Erwartungshaltung an dieses Forum ist falsch.
                            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                            Kommentar


                            • #15
                              Zitat von Nicole Beitrag anzeigen
                              Finds ziemlich schade, dass ich hier - "Problemlösungen für Spracheinsteiger" - keine Einsteigerhilfe bekomme, die mehr als zwei Minuten in Anspruch nimmt.
                              Willst du jetzt, dass wir uns mehr als zwei Minuten Zeit für dein Problem nehmen - oder willst du eine Antwort, mit der du dann nicht mehr mehr als zwei Minuten aufwenden musst, um sie (per Copy&Paste) zu übernehmen ...?

                              Falls du letzteres gemeint hast, dann bist du hier definitiv falsch.
                              Wir wollen, dass die Leute hier etwas dazu lernen - und das geht in einem solch komplexen Themenbereich nicht in zwei Minuten.

                              Kommentar

                              Lädt...
                              X