Plugin cssMarquee [Testversion]
Plugin cssMarquee [Testversion]
Hallo Community,
nachdem ja Marquees wieder modern sind , habe ich gedacht ich versuche/mache mal ein kleines simples Plugin.
Tja und wie das so ist, eins kam zum anderen und am Ende kam das heraus. Nicht mehr ganz so simpel aber immer noch beherrschbar.
Schaut es euch mal an, spielt damit. Ich habe auch 5 eigene Bilder („CC0 by lck“) mit reingepackt um es gleich damit testen zu können (so wie in der Demo). In der Demo findet ihr auch alles Wissenswerte und auch ein paar Beispiele zum Spielen.
Viel Spaß!
nachdem ja Marquees wieder modern sind , habe ich gedacht ich versuche/mache mal ein kleines simples Plugin.
Tja und wie das so ist, eins kam zum anderen und am Ende kam das heraus. Nicht mehr ganz so simpel aber immer noch beherrschbar.
Schaut es euch mal an, spielt damit. Ich habe auch 5 eigene Bilder („CC0 by lck“) mit reingepackt um es gleich damit testen zu können (so wie in der Demo). In der Demo findet ihr auch alles Wissenswerte und auch ein paar Beispiele zum Spielen.
Viel Spaß!
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Plugin cssMarquee [Testversion]
na endlich, darauf habe ich ja schon seit Jahren gewartet ...
Sehr beruhigend, deine Demo-Site
Aber gut, wir haben ja kürzlich erst erfahren, dass der eine oder andere das doch noch einsetzen möchte.
Ich vermute daher entstammt die Idee dazu.
Ich habe es jetzt nicht selber getestet. Der Beschreibung nach muss man aber die Inhalte im Backend angeben.
So ist also derzeit nur eine inhaltliche Variante möglich. Das solltest du noch erweitern.
Entweder so, dass man Inhalte auch beim Aufruf mitgeben kann, was sicher schnell unübersichtlich wird,
oder i.e. du legst im Backend mehrere Variablen an und rufst es dann mit:
Code: Select all
{{{showCssMarquee('var_1', 'vertical');}}}
Code: Select all
{{{showCssMarquee('var_2', 'vertical');}}}
Mit AJAX könnte man die Anzahl der Varianten im Backend noch variabel gestalten.
Gruß Olaf, Plugins for CMSimple_XH
Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.
Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.
Re: Plugin cssMarquee [Testversion]
Ich auch!
Im Ernst:
Ich finde es großartig, dass es nun auch diese Möglichkeit gibt, bequem per Plugin.
Jede zusätzliche Gestaltungs-Option bringt CMSimple_XH weiter voran!
(Das klingt zwar etwas „ideologisch verbrämt“, stimmt aber trotzdem.)
Olafs Vorschlag, unterschiedliche Inhalte in unterschiedlichen Marquees, wäre schön.
Nebenbei:
Früher war alles einfacher!
Man schaue sich nur das CSS an. Flex, CSS-Variablen, …
Aber für den Anwender bringt es auf jeden Fall Vorteile.
Gute Arbeit, Ludwig!
Re: Plugin cssMarquee [Testversion]
Na siehste, alles wird gut.
So spart man Kaffee. Ihr sollt ja hier nicht schlafen, sondern hellwach und kreativ sein!
( Ich sollte mal eine Kaffeekasse einrichten.)
So was hatte ich schon drin. Hab's aber wieder rausgenommen weil es ja was einfaches werden sollte. Aber damit habe ich schon gerechnet, dass da einer oder zwei kommen und das gerne hätten. Ich schreibe es mal auf die Agenda unter "nice to have".
Ja, einfach is nix mehr. Das ist mit "Knoff-Hoff" (die älteren unter uns können sich evtl. noch daran erinnern) und Trick 17 realisiert.
BTW: Respekt an euch Plugin-Entwickler! Das ist echt tricky.
Nebenher:
Jetzt hatte ich doch glatt mehr als 5 Smilies in diesem Beitrag und das mag das Forum gar nicht. Wusste ich bisher nicht, dass die begrenzt sind und ich bin jetzt schon fast 12 Jahre dabei.
Forum wrote:Dein Beitrag enthält zu viele Smilies. Die maximal erlaubte Anzahl von Smilies ist 5.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Plugin cssMarquee [Testversion]
Kannst du mir dazu ein Beispiel geben für den Funktionsaufruf und zur Abfrage?olape wrote: ↑Fri Jan 13, 2023 8:34 amSo ist also derzeit nur eine inhaltliche Variante möglich. Das solltest du noch erweitern.
Entweder so, dass man Inhalte auch beim Aufruf mitgeben kann, was sicher schnell unübersichtlich wird,
oder i.e. du legst im Backend mehrere Variablen an und rufst es dann mit:
Mein Versuch klappt soweit mit zwei verschiedenen Inhalten aber die vertikale Ausgabe wird ignoriert.
Code: Select all
function showCssMarquee($message='', $vertical='') {
//...
if (!empty($message) and $message == 'message') {
$message = $plugin_tx['css_marquee']['marquee_message'];
$output = '<div class="lck_cssMarquee" style="' . $marquee_style . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
if (!empty($message) and $message == 'message_second') {
$message = $plugin_tx['css_marquee']['marquee_message_second'];
$output = '<div class="lck_cssMarquee" style="' . $marquee_style . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
// Vertical > Text ausgabe ok. Problem: die Ausgabe wird ignoriert. Sattdessen wird das horizontale Marquee angezeigt
if (!empty($message) and $message == 'message' and $vertical == 'vertical') {
$message = $plugin_tx['css_marquee']['marquee_message'];
$output = '<div class="lck_cssMarquee vertical" style="' . $marquee_style . $marquee_vertical . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
if (!empty($message) and $message == 'message_second' and $vertical == 'vertical') {
$message = $plugin_tx['css_marquee']['marquee_message_second'];
$output = '<div class="lck_cssMarquee vertical" style="' . $marquee_style . $marquee_vertical . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Plugin cssMarquee [Testversion]
Bitte warte, bis ein Fachmann antwortet!
Meine Laienantwort wäre, dass die Bedingungen nicht ganz richtig sind (Klammern).
Besser wäre wohl:
Und wahrscheinlich müsste wohl „&&“ statt „and“ verwendet werden (Operator-Rangfolge).
Also so:
Meine Laienantwort wäre, dass die Bedingungen nicht ganz richtig sind (Klammern).
Besser wäre wohl:
Code: Select all
if (!empty($message) and $message == 'message') and ($vertical == 'vertical') {
Also so:
Code: Select all
if (!empty($message) and $message == 'message') && ($vertical == 'vertical') {
Re: Plugin cssMarquee [Testversion]
Das kommt mir sehr verkompliziert vor.
Schicke mir mal den ganzen Entwurf, dann schau ich mir das morgen mal an (hoffe ich).
Ich verstehe i.e. nicht, warum du diese Variable mit einem fest definierten String vergleichst.
Diese Variable sollte doch in diesem Fall auch wirklich variabel sein.
Es wäre doch eigentlich, ganz vereinfacht erst mal nur zu prüfen, ob zwei Parameter angegeben sind,
dass $message nicht leer ist,
und zusätzlich, ob die Ausrichtung vertical oder horizontal entspricht.
Später könnte man noch darüber nachdenken, ob man bei dein Parametern noch gezielt auf Böswilligkeiten filtert, wobei es ja hier um Eingaben durch den Admin geht und nicht durch Besucher, also nicht wirklich unbedingt notwendig.
Schicke mir mal den ganzen Entwurf, dann schau ich mir das morgen mal an (hoffe ich).
Ich verstehe i.e. nicht, warum du diese Variable mit einem fest definierten String vergleichst.
Code: Select all
$message == 'message'
Es wäre doch eigentlich, ganz vereinfacht erst mal nur zu prüfen, ob zwei Parameter angegeben sind,
dass $message nicht leer ist,
und zusätzlich, ob die Ausrichtung vertical oder horizontal entspricht.
Später könnte man noch darüber nachdenken, ob man bei dein Parametern noch gezielt auf Böswilligkeiten filtert, wobei es ja hier um Eingaben durch den Admin geht und nicht durch Besucher, also nicht wirklich unbedingt notwendig.
Gruß Olaf, Plugins for CMSimple_XH
Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.
Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.
Re: Plugin cssMarquee [Testversion]
Na ja, das ist möglich, könnte aber für Nutzer dann doch recht seltsam sein, insbesondere, wenn der Inhalt umfangreich ist. Und die Eingabe von Markup dürfte für User kaum handhabbar sein; da spielen die WYSIWYG-Editor nicht wirklich mit.
Ludwigs Idee hier ist, dass man mehrere Sprachvariablen hat, und eine bestimmte davon nutzen kann. Ich denke, das kann man ganz einfach umsetzen:
Code: Select all
function showCssMarquee($message='', $vertical='') {
// …
$message = $plugin_tx['css_marquee']["marquee_message$message"];
// …
}
Code: Select all
{{{showCssMarquee("")}}}
{{{showCssMarquee("_second")}}}
Aber ich bin eigentlich der Meinung, dass Sprachtexte kein HTML enthalten sollten; das hebelt nämlich die Möglichkeit aus, diese automatisch zu escapen (XH_hsc()), wenn sie in einem HTML-Kontext ausgegeben werden. Und es ist auch eher nur was für fortgeschrittene Anwender (da sie eben Sonderzeichen wie & manuell escapen müssen).
Alternativ könnte man auch die Möglichkeit bieten, dass User den gewünschten Inhalt auf einer News-Seite eingeben, und diesen anzeigen. Etwa:
Code: Select all
function showCssMarquee($vertical='', $newspage='') {
// …
if ($newspage === '') {
$message = $plugin_tx['css_marquee']["marquee_message"];
} else {
$message = newsbox($newspage);
}
// …
}
Das waren noch Zeiten! Heutzutage gibt's so nützliches wie das Dschungel-Camp.
Christoph M. Becker – Plugins for CMSimple_XH
Re: Plugin cssMarquee [Testversion]
Hallo Jungs.
Besten Dank für eure Antworten! Leider gerade erst gelesen , wo ich euch mitteilen wollte, das ich jetzt eine Lösung gefunden habe und es soweit funktioniert.
index.php
Die Lösung lag in dieser Abfrage
ohne das wurde immer das horizontale Marquee angezeigt.
Was meint ihr Profis, kann man das so machen?
Eure Vorschläge werde ich auf alle Fälle auch noch anschauen.
Besten Dank für eure Antworten! Leider gerade erst gelesen , wo ich euch mitteilen wollte, das ich jetzt eine Lösung gefunden habe und es soweit funktioniert.
index.php
Code: Select all
function showCssMarquee($message='', $vertical='') {
//...
// Horizontal marquee
if (!empty($message) && $vertical !== 'vertical') {
if ($message == 'message') {
$message = $plugin_tx['css_marquee']['marquee_message'];
$output = '<div class="lck_cssMarquee" style="' . $marquee_style . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
if ($message == 'message_2') {
$message = $plugin_tx['css_marquee']['marquee_message_2'];
$output = '<div class="lck_cssMarquee" style="' . $marquee_style . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
}
// Vertical marquee
if (!empty($message) && $vertical == 'vertical') {
if ($message == 'message') {
$message = $plugin_tx['css_marquee']['marquee_message'];
$output = '<div class="lck_cssMarquee vertical" style="' . $marquee_style . $marquee_vertical . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
if ($message == 'message_2') {
$message = $plugin_tx['css_marquee']['marquee_message_2'];
$output = '<div class="lck_cssMarquee vertical" style="' . $marquee_style . $marquee_vertical . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
}
Code: Select all
if (!empty($message) && $vertical !== 'vertical') {
Was meint ihr Profis, kann man das so machen?
Eure Vorschläge werde ich auf alle Fälle auch noch anschauen.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“ Ludwig's XH-Templates for MultiPage & OnePage
Re: Plugin cssMarquee [Testversion]
Das sieht unnötig kompliziert aus, da die Zuweisung von $message unabhängig von der Ausrichtung (vertikal oder horizontal) immer gleich ist. Sollte auch so gehen:
Code: Select all
function showCssMarquee($message='', $vertical='') {
//...
if ($message == 'message') {
$message = $plugin_tx['css_marquee']['marquee_message'];
} elseif ($message == 'message_2') {
$message = $plugin_tx['css_marquee']['marquee_message_2'];
}
// Horizontal marquee
if ($vertical !== 'vertical') {
$output = '<div class="lck_cssMarquee" style="' . $marquee_style . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
// Vertical marquee
if ($vertical == 'vertical') {
$output = '<div class="lck_cssMarquee vertical" style="' . $marquee_style . $marquee_vertical . '"><div class="marqueeContent" style="' . $marqueeContent_style . '">' . $message . '</div></div>';
return $output;
}
}#
Aber siehe auch meinen vorigen Post.
Christoph M. Becker – Plugins for CMSimple_XH