Textbausteine für verschiedene Viewports?

Hallo zusammen,

ich habe gerade an meinem Footer ein paar Anpassungen vorgenommen. 

Hat lange gedauert, bis ich verstanden habe, dass die Viewport Breakpoints der Reihenfolge nach in der LESS stehen müssen, da sonst z.B. Tablet immer Desktop überschreibt  Sticking-out-tongue

Nun möchte ich ganz gerne den Textbaustein " sFooterServiceHotline" einmal für (ab) Tablet und einmal für (ab) Desktop Auflösung unterschiedlich füllen.

Kann ich dazu im eigenen Theme eine frontend/index/footer-navigation.tpl mit dem Baustein " sFooterServiceHotlineTablet" anlegen, oder verschwindet dann alles in einem schwarzen Loch  Grin? Bzw. was wäre der einfachste und sicherste Weg das zu bewerkstelligen?

Danke euch vielmals!

Hallo, 

Du hast die Möglichkeit es über verschiedene Textbausteine zu realisieren, wie du auch schon geschrieben hast. 

sFooterServiceHotline{TargetDeviceName}

Du müsstest nur über smarty oder javascript das currentDevice herausfinden und dann den dazugehörigen Textbaustein verwenden. 

Viele Grüße,
Brian

Über smarty kann er nicht das Device herausfinden, da das Template nicht “nach device” ausliefert.
Eigentlich sollten alle Textbausteine ausgegeben werden, und via CSS/LESS je nach Viewport der zugehörige Container ein/ausgeblendet werden.
Dazu brauch man kein Smarty oder JS  Wink

@sonic, das mit Smarty war nur eine Vermutung damit die Breakpoints auch in SMarty verfügbar sind, er will ja den Content nach Device setzen, was auch hin und wieder sinn macht. Also brauch er ein JS Plugin dafür. 

 

Die Breakpoints kommen über das CSS und media queries (oder wie das geschrieben wird  Wearing-Sunglasses)
Wo liegt das Problem, mehrere Textbausteine einzubinden, und nur das passende über CSS anzuzeigen? Macht Shopware z.B. auch so für Kategorietexte.
Sonst müsste man ja sogar Texte über JS nachladen, wenn man das Tablet oder Smartphone auch nur „dreht“

Der Nachteil über Viewports wäre hier allerdings, dass der Content trotzdem bspw 4 mal ( für jeden Viewports der Textbaustein ) ausgeeben wird im Quelltext, was entsprechend in einigen Fällen nicht rosig wäre für Google.

Umgehen könnte man das, wenn man sich entsprechend an den State Manager hängt und dann über jQuery die jeweiligen Textbausteine wechselt.

Naja, das Thema ist ja schon mehrfach hier diskutiert worden, und die Ansichten gehen weit auseinander. Da dürfte man auch die Frage stellen, ob ich den Footer auf allen Seiten mit Endlostexten auffüllen muss - kommt bei Google auch nicht so gut an - egal ob 1x oder 4x  Wink

Für mein Geschmack ist Shopware eh schon ein aufgeblähtes JS-Monster, da muss man nicht für jeden Kleinkram weiteres JS dazuballern - mit den Folgen, das wieder dieverse Fehler per E-Mail eintrudeln, weil wieder ein abgestürztes Script alles blockiert und die Token spinnen.

Auch google weiss sehr wohl zu unterscheiden, ob z.B. für den Desktop ein Text relevant ist, oder nicht - eben genau wegen der Viewports bzw. Medie Queries
Aber jeder wie er mag  Wearing-Sunglasses

Wobei nachgeladene Textbausteine ja nun auch wieder von Shopware separat ausgeliefert werden müssten. Gibt es dafür einen fertigen Controler???

Bei SEO gehen die Meinungen natürlich immer auseinander, dass stimmt.

Allerdings machen 5 Zeilen Javascript den Braten auch nicht mehr fett. Und Folgen bzw. Fehler gibt es in der Regel nicht, sofern man es sauber umsetzt.

Und ob Google das weiß ist auch nur eine Theorie, denn das weiß nur Google selbst wie eigentlich alles was SEO angeht  Sticking-out-tongue

Und woher kommen nun die Textbausteine, die per JS nachgeladen werden?
Ernstgemeinte Frage  Smile

Jetzt bin ich etwas confused  Smile

Wäre es denn eine gute Lösung einfach einen neuen Textbaustein für Tablets anzulegen?

Das bekomme ich vermutlich gerade noch hin, alles weitere was mit JS und Co. zu tun hat, überfordert mich offen gesagt  Grin

Ob es eine gute Lösung ist, musst Du für Dich selber wissen - siehe oben und Thema SEO - hängt auch davon ab, wieviel Infos Du damit zusätzlich auf jeder Seite unterbringen möchtest.

Ohne JS und Co. - also immer drinne:
Du erweiterst den entsprechenden Block im Theme um einen neuen DIV- oder P- Container und bindest in diesen Deinen neuen Textbaustein ein.

{s namespace="frontend/index/footer" name='MeinNeuerTextbaustein'}Mein neuer Text{/s}

Den kannst Du dann später auch in den Textbausteinen im Pfad “frontend/index/footer” ändern - nachdem das Theme einmalig aufgerufen wurde.
“meine-class” musst Du dann mit den Breakpoints auf sichtbar/unsichtbar setzen. Wie das mit den Breakpoints und CSS/LESS geht =>oben über “Developers” die Doku zu SW 5 studieren.

Das wäre die einfachste Art ohne JS etc. - aber eben auch mit immer vorhandenen Inhalt, der eben nur nicht immer angezeigt wird.

1 Like