Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 12. August 2014 09:47
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Background ändern, wenn Text lang
Hallo mal wieder.
Ich suche nach einer Smarty-Variable, die erkennt, wenn ein Text länger wird.
Ein geliefertes Design hat im Content ein einzelnes, festes Background-Image mit fester Größe (zB 1000px x 700px). Dementsprechend hat auch das DIV diese Größe. Bei einigen Seiten wird der Text aber länger, so dass ein Rapport nötig ist, der sich der Höhe anpasst.
BTW: ich hatte keinen Einfluss auf das Konzept.;)
Damit ich nicht über die Toolbox jede einzelne Seite, bei der das vorkommt, abgreifen muss, suche ich nach einer Automatisierung.
Am liebsten wäre mir natürlich sowas wie
{if $div(height) > 700px}
<div id="rapport">asdasd</div>
{else}
<div id="einzelbackground">asdasd</div>
Da aber die flexible Höhe keinen ermittelbaren Wert hat, wird das wohl nicht funktionieren, oder? (Von der Syntax mal abgesehen:))
Ein andere, aber nicht perfekte Lösung wäre die Zeichenmenge. Nicht perfekt, weil ein Text mit vielen Absätzen oder Listen natürlich trotz geringer Zeichenzahl höher sein kann als ein Text mit viel Fließtext und ohne Ansätze.
Ich steh da noch auf dem Schlauch. Vielleicht noch jemand ein bessere Idee.
Beitrag geändert von antibart (12. August 2014 09:51)
Offline
#2 12. August 2014 10:10
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Background ändern, wenn Text lang
Ich suche nach einer Smarty-Variable, die erkennt, wenn ein Text länger wird.
Das wird aus folgendem Grund nicht funktionieren: Smarty ist PHP. PHP ist ein Server-Script. Und als solches hat PHP keine Ahnung davon, wie dein HTML-Code am Ende im Browser Deines Webseitenbesuchers aussieht. Denn das HTML rendert der Browser. Der macht das DIV dann so und so groß etc.
HTML wird von PHP (und somit auch von Smarty) komplett ignoriert. PHP weiß a) nicht was ein <DIV> überhaupt ist und b) weiß es noch weniger wie groß das Ding am Ende auf dem Display Deines Webseitenbesuchers sein wird.
Das ginge bestenfalls mit Javascript. Denn das wird beim Webseitenbesucher im Browser ausgeführt. Damit kannst Du die Höhe eines HTML-Elementes im Browser Deines Webseitenbesuchers ermitteln. und ihm ggfs. eine bestimmte Klasse geben.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 12. August 2014 10:26
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: Background ändern, wenn Text lang
Danke.
Ich werde wohl einfach mit zwei Templates arbeiten.
Offline
#4 12. August 2014 10:35
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Background ändern, wenn Text lang
Warum einfach, wenn es kompliziert geht ...
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#5 12. August 2014 10:53
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: Background ändern, wenn Text lang
... ich hab mich zugegeben ziemlich an flexible Templates gewöhnt. Auch weil es für den Bearbeiter eine Fehlerquelle weniger ist.
Da vergess ich manchmal völlig, dass es vom System ja eigentlich ganz anders vorgesehen ist.
Beitrag geändert von antibart (12. August 2014 10:53)
Offline
#6 12. August 2014 11:01
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Background ändern, wenn Text lang
Ich meine, das hier im Template könnte doch schon die Lösung sein (jQuery vorrausgesetzt):
<div id="special_div">
...
</div>
<script type="text/javascript">
$(document).ready(function(){
var $special_div = $('#special_div');
if($special_div.height() <= 700)
$special_div.addClass('einzelbackground');
});
</script>
D.h. das Hintergrundbild wird nur dann auf das <div> angewendet, wenn es maximal 700px hoch ist.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#7 12. August 2014 11:22
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: Background ändern, wenn Text lang
Danke. Ich probiere das mal aus ...
Offline
#8 24. Oktober 2014 09:52
- Isabellla
- hat von CMS/ms gehört
- Registriert: 23. Oktober 2014
- Beiträge: 3
Re: Background ändern, wenn Text lang
Antibart, wie sieht es aus? Ich probiere mich gerade auch aus, würde mich über einen Austausch freuen
Offline
#9 24. Oktober 2014 12:01
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: Background ändern, wenn Text lang
Willkommen Isabella,
sei mir nicht böse: Aber wenn Du unzählige ältere Thread ausgräbst und mit relativ nichtssagenden Einzeilern pushst, denn geht das in der Übersicht auf Kosten wirklich aktueller Themen.
Wenn du dich austauschen willst, beschreibe doch einfach dein konkretes Anliegen.
Beitrag geändert von antibart (24. Oktober 2014 12:09)
Offline
Seiten: 1