Ticker Erweiterung Html Code
Da ich mich bei der Erstellung von neuen Versionen nicht auskenne schicke ich den Code an den Entwickler mit der Bitte ihn ins Repository als neue Version aufzunehmen.
Ich habe den Tickermodul erweitert, damit auch HTML - Code eingegeben werden kann
z.B. <strong>fetter Text</strong> ...
Damit lässt sich der Tickertext noch besser gestalten.
Meine Änderungen
1) Feldbeschreibung in tl_ticker erweitert
'tickertext' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_ticker']['tickertext'],
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => array('allowHtml'=>true,'mandatory'=>true, 'maxlength'=>255)
),
allowHtml läßt Html Eingabe zu
2) Datei dhtml_ticker.js erweitert damit die html-tags als ein Zeichen gewertet werden
Sie sieht nunb so aus
/*
Titel: DHTML Ticker
Autor: Christoph Bergmann
email: cb@acc.de
Copyright (c) Milch und Zucker - c. Bergmann und j. Gamperl, 1998.
All rights reserved. Alle Rechte vorbehalten. URL: http://dhtml.seite.net
Dieser Code darf für nicht-kommerzielle sowie kommerzielle Zwecke frei
genutzt und angepaßt werden, solange dies unentgeltlich erfolgt und
dieser Vermerk bestehen bleibt.
Anpassungen TYPOlight-Extension by Softleister <info@softleister.de>
Titel: Erweiterung um HTML Code
Author: Peter Broghammer
email: pb-tester@gmx.de
*/
function start_ticker( id )
{
do_ticker( self['msg'+id][0], self['jumpto'+id][0], 1, 1, id );
}
function do_ticker( text, jumpurl, pos, dir, id )
{
var out = text.substring( 0, pos );
var tickername = 'ticker'+id;
// erweiterung >>>>>>>>>>>>>>>>>>>>
var c = text.substring(pos,pos+1);
if (c == '<' && dir ==1) {
var rest = text.substring( pos, 99999 );
var n = rest.indexOf(">");
if (n!=-1) {
//var re = text.substring( pos, pos+n+1 );
//alert('gefunden pos ' + pos + ' n ' + (pos+n+1));
pos = pos+n+1;
out = text.substring( 0, pos );
}
else {
pos += dir;
}
} else if (c == '>' && dir == -1) {
var n = out.lastIndexOf("<");
if (n!=-1) {
//alert ('text ' + text + ' out ' + out + ' pos ' + pos + ' n ' + n);
pos=n-1;
} else {
pos += dir;
}
} else {
pos += dir;
}
// erweiterung <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
if( jumpurl.length > 0 ) {
if( jumpurl.charAt(0) == '+' )
document.getElementById( tickername ).innerHTML = '<a href="'+jumpurl.substring(1,255)+'" onclick="window.open(this.href); return false;">'+out+'</a>';
else
document.getElementById( tickername ).innerHTML = '<a href="'+jumpurl+'">'+out+'</a>';
}
else
document.getElementById( tickername ).innerHTML = out;
if( pos > text.length )
setTimeout( 'do_ticker("'+text+'","'+jumpurl+'",'+pos+','+(-dir)+',"'+id+'")', self['wartezeit'+id] );
else {
if( pos <= 1 ) {
if( ++self['nextm'+id] >= self['msg'+id].length ) self['nextm'+id] = 0;
text = self['msg'+id][self['nextm'+id]];
jumpurl = self['jumpto'+id][self['nextm'+id]];
dir = -dir;
}
setTimeout( 'do_ticker("'+text+'","'+jumpurl+'",'+pos+','+dir+ ',"'+id+'")', self['delay'+id] );
}
}
Frauen wollen immer..mehr
Hallo,
erstmal vielen dank für die schöne Erweiterung.
Ich bin leider nicht sehr versiert :o und möchte eine alte 2.9 er Contao in eine 3.4.5 umwandeln.
Nun würde ich gern einen Ticker laufen lassen, der sich immer den aktuellen kalendereintrag nimmt, ohne dass ich das jedesmal von Hand wechsle.
Nicht genug;
Es ist toll, dass man die Uhrzeit einstellen kann. Aaaaber ... natürlich brauche ich eine Extrawurst: Kann man das nicht auch an bestimmten Wochentagen fixieren (Wiederholungen in gewissem Abstand)?
Hintergrund ist die Anzeige von wechelnden Wochenenddiensten. Das soll aber, um Verwirrungen vorzubeugen auch nur an den Wochenenden laufen.
Obendrein kommt noch dazu, dass ich die Personen mit Rufnummern in einer Tabelle in den Events habe. Bevor ich die nun fürs ganze Jahr einpflege: Sollte ich die Art der Angaben ändern, um sie dann im Ticker evtl
nach der nächsten Aktualisierung verwenden zu können. ;)
Hoffnungsvolle Grüße
newbiene
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo newbiene,
das ist schon etwas speziell!
Ich habe einen Lösungsvorschlag:
Du installierst Dir die Erweiterung InsertTags, mit der kannst Du tagesspezifische Texte erstellen.
Du kannst dort einen InsertTag "ticker" erstellen und eine Bedingung angeben. Die Bedingung könnte {{date::w}} = 0 sein (siehe Bid). Der InsertTag {{date::w}} gibt den Wochentag als Zahl aus, 0 = Sonntag bis 6 = Samstag. So kannst Du den gleichen InsertTag "ticker" für jeden Tag anlegen, einer ist dann immer nur aktiv.
Im Ticker verwendest Du den ticker-InsertTag dann als {{custom::ticker}} und der laufende Tickertext ist dann wochentagsabhängig.
Mit der Telefontabelle fällt mir nur der Link ein, den Du über den Tickertext einsetzen kannst, der dann auf den entsprechenden Nachrichten- oder Kalendereintrag zeigt, wo Du Deine Tabelle drin hast.
Ein Bild dazu: Anhang 17158
Wie ist der Insert Tag zu den nächsten Events zu setzen
Zitat:
Zitat von
dominik
"{?{ticker::next_event::2}}"
Wie ist der Inserttag für die nächsten Events im Ticker zu setzen (Contao 3.5.2), wenn:
Eventkategorie ID = 1
Event ID = 4,5,6
Ich habe vieles gestestet, aber es funktioniert leider nicht. Wie ist der Inserttag richtig zu definieren??
VG
aadursun
Geht leider immer noch nicht
@do_while
ich habe den Insert Tag selbst geschrieben, funktioniert leider nicht. Statische Ticker werden angezeigt.
Contao Version 3.5.3
Ticker Version 3.2.0
** Nachtrag **
mit {{ticker::next_event::1}} wird der erste Eventeintrag angezeigt.
{{ticker::next_event::2}} oder {{ticker::next_event::3}} zeigt aber den 2. oder 3. Event-Eintrag nicht an.
Eine Idee warum?
Liste der Anhänge anzeigen (Anzahl: 1)
Also bei mir funktioniert es einwandfrei!
Contao 3.5.21
Ticker 3.2.0 Build 14
Anhang 18728
Ticker als Laufband möglich?
Hi Leute,
ist es mit dieser Erweiterung möglich, einen Ticker als Laufband von links nach rechts umzusetzen?
Beispiel wie auf dieser Website unter Latest News: https://www.bloomberg.com/europe
Wenn ja, wo lässt sich das einstellen?
Nach install, Fehler beim updaten der DB
Hallo, ich habe heute auch das Ticker Modul von do-while installiert. Die Installation verlief erfolgreich, aber sobald ich das DB Update mache, wird folgende Fehlermeldung in die Log-Datei geschrieben:
Zitat:
[2019-01-14 10:45:32] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred while executing 'ALTER TABLE tl_module CHANGE ticker_categories ticker_categories INT UNSIGNED DEFAULT 0 NOT NULL': SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'ticker_categories' at row 1" at /home/.sites/75/site1530/web/c4/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 106 {"exception":"[object] (Doctrine\\DBAL\\Exception\\DriverException(code: 0): An exception occurred while executing 'ALTER TABLE tl_module CHANGE ticker_categories ticker_categories INT UNSIGNED DEFAULT 0 NOT NULL':\n\nSQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'ticker_categories' at row 1 at /home/.sites/75/site1530/web/c4/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:106, Doctrine\\DBAL\\Driver\\PDOException(code: HY000): SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'ticker_categories' at row 1 at /home/.sites/75/site1530/web/c4/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:90, PDOException(code: HY000): SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'ticker_categories' at row 1 at /home/.sites/75/site1530/web/c4/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:88)"} []
Ich verwende Contao 4.6.12.