[news_slideshow] jetzt mir Bild im Menü und diversen Einstellungen
Die Erweiterung news_slideshow ist in der Version 1.1 um diverse Einstellungsmöglichkeiten im Modul erweitert worden.
Fragen und Wünsche bitte hierhin.
Die mitgelieferte CSS - Datei wird automatisch eingebunden und bei jedem Update überschrieben. Sie dient als Anhaltspunkt zum Einstieg. Wer seine eigene CSS-Regeln schreiben möchte, kann in der localconf.php mit
PHP-Code:
unset($GLOBALS['TL_CSS']['news_slideshow']);
das Laden der CSS unterbinden.
Gruß
lomex
Problem mit Internet Explorer 6
Ich verwende die Erweiterung news_slideshow auf einer Seite: www.mv-erla.at
Mit Internet Explorer 6 wird das Hintergrundbild der Infobox nicht angezeigt.
Woran kann das liegen?
Liste der Anhänge anzeigen (Anzahl: 1)
Verbesserung im JS
Moin lomex, alle,
wie Ihr wisst/oben lesen könnt, setze ich die [news_slideshow] schon lange mit Erfolg ein. Danke nochmals an lomex!
Von Anfang an hatte ich ein kleines Problem mit der Höhe der Infos abgeleitet aus dem Teasertext und, zumindest bei mir, der Überschrift und der Unterüberschrift. Ich meine das "ul#infosXX", das in der Höhe animiert wird.
Ich habe versucht, die Redakteure zu disziplinieren, so dass sie selbst kontrollieren, ob die Textmenge/höhe kompatibel ist ... leider (und nicht unerwartet) ohne Erfolg.
Das Original JavaScript hat die Höhe des Infobereichs nur aus der ersten angezeigten News ermittelt. Ist die jeweils erste News-Info nun aber kurz, dann werden alle anderen Infos abgeschnitten. Ist die erste Info dagegen lang, dann wird für die anderen, kurzen, viel zu viel Platz verschwendet.
Hier ist ein Patch, der das korrigiert:
Code:
--- news_slideshow.-revBASE.svn002.tmp.js Di 31. Jan 05:25:14 2012
+++ system/modules/news_slideshow/html/news_slideshow.js Di 31. Jan 05:22:42 2012
@@ -28,9 +28,12 @@
initialize: function(menu, images, loader, infos, options){
this.infozone = new Fx.Morph($(infos));
this.infos = $$('#' + infos + ' li').setStyle('display', 'none');
- this.infos[0].setStyle('display', 'list-item');
- this.infoheight = $(infos).getStyle('height').toInt();
- this.infos[0].setStyle('display', 'none');
+ this.infoheights = new Array();
+ this.infos.each(function(item, index){
+ item.setStyle('display', 'list-item');
+ this.infoheights[index] = $(infos).getStyle('height').toInt();
+ item.setStyle('display', 'none');
+ }, this);
this.infozone.set({'height': 0});
this.parent(menu, options);
@@ -81,7 +84,7 @@
}
image.get('tween').chain(function(){
this.auto();
- this.infozone.start({'height': this.infoheight});
+ this.infozone.start({'height': this.infoheights[index]});
this.infos[index].setStyle('display', 'list-item');
this.fireEvent('show', image);
}.bind(this));
Statt also nur die Höhe des ersten Infos abzufragen, bekommt jetzt jedes Info seine eigene Höhe zugewiesen und wird in der Animation dann verwendet. Für mich funktioniert das in allen gängigen Browsern.
Im Anhang das komplette JavaScript "news_slideshow.js" als ZIP (@lomex: auch mit einigen white space Korrekturen). Das gehört ins Verzeichnis system/modules/news_slideshow/html. Das Original dort evtl. vor dem Überschreiben kopieren.
Update 06.02.2012:
damit die dynamische JS-Berechnung der Infotext-Höhen individuell für jede News auch von vornherein sichtbar wird, müsste das mitgelieferte CSS noch so angepasst werden:
Code:
--- news_slideshow.css-revBASE.svn000.tmp.css Mo 6. Feb 03:23:07 2012
+++ system/modules/news_slideshow/html/news_slideshow.css Mo 6. Feb 03:21:14 2012
@@ -16,5 +16,5 @@
.news_slideshow_infos h3 {margin:0;padding:0;font-family:arial;font-size:14px;line-height:18px;}
.news_slideshow_infos p {margin:0;padding:0;font-family:arial;font-size:12px;line-height:14px;}
.mod_newsgalerie a {color:#000000;}
-.news_slideshow_infos {width:400px;height:70px;bottom:0;left:0;position:absolute;overflow:hidden;background-image:url("infobg.png");background-repeat:repeat;color:#fff;z-index: 120;}
+.news_slideshow_infos {width:400px;/*min-height:70px;*/bottom:0;left:0;position:absolute;overflow:hidden;background-image:url("infobg.png");background-repeat:repeat;color:#fff;z-index: 120;}
.news_slideshow_infos li {padding:5px;}
Das bisherige CSS hat die Höhe fest auf 70px gesetzt. Meine Modifikation setzt gar keine Höhe mehr. Alternativ (auskommentiert) kann man auch eine minimale Höhe angeben ... dann werden nur die Infos, die mehr Platz brauchen, höher dargestellt. Ohne diesen Patch des CSS geht das neue Feature für nicht JS/CSS Experten einfach verloren, weil es keiner sieht.
LG, Georg
news_slideshow: Reihenfolge der angezeigten News aendern bzw. umkehren
Hallo,
gibt es eine Moeglichkeit die Reihenfolge der angezeigten News zu aendern bzw. umzukehren?
Ich verwende den Slider zur Anzeige von Veranstaltungen und deswegen sollte diejenige oben stehen die kurz bevorsteht.
Danke schon mal im Voraus.
Liste der Anhänge anzeigen (Anzahl: 1)
Moin alle,
Zitat:
Zitat von
lomex
Den Rest muss ich mir noch ein paar Mal durchlesen, bis ich das verstanden habe :-)
Na dann hier mal ein Patch, der meine Idee umsetzt. Ich hoffe, dass das verständlicher ist. Da ich ebenfalls denke, dass die Verwendung von News als Termine und damit auch die ASC Sortierung eher die große Ausnahme ist, habe ich es mir einfach gemacht und weder das Backend, noch die Datenbank geändert. Stattdessen fügt man für jedes [news_slideshow] Modul, das aufsteigend sortiert sein soll, einen Eintrag in die Datei system/config/localconfig.php hinzu (VOR der Zeile ### INSTALL SCRIPT START ###, siehe unten)
Code:
--- ModuleNewsSlideshow.p-revBASE.svn002.tmp.php So 5. Feb 23:42:27 2012
+++ system/modules/news_slideshow/ModuleNewsSlideshow.php So 5. Feb 22:48:40 2012
@@ -96,6 +96,12 @@
$limit = $this->news_numberOfItems;
}
+ $order = 'DESC';
+ if (isset($GLOBALS['MISC']['news_slideshow_id'][$this->id]['ASC_OFFSET'])) {
+ $order = 'ASC';
+ $asc_offset = intval($GLOBALS['MISC']['news_slideshow_id'][$this->id]['ASC_OFFSET']);
+ }
+
// Get the total number of items
$objTotal = $this->Database->execute("
SELECT COUNT(*) AS total
@@ -103,8 +109,9 @@
WHERE pid IN(" . implode(',', array_map('intval', $this->news_archives)) . ")" . (($this->news_featured == 'featured') ? "
AND featured=1" : (($this->news_featured == 'unfeatured') ? "
AND featured=''" : "")) . (!BE_USER_LOGGED_IN ? " AND (start='' OR start<$time) AND (stop='' OR stop>$time) AND published=1" : "") . "
- AND news_slideshow=1
- ORDER BY date DESC");
+ AND news_slideshow=1" . (($order == 'ASC') ? "
+ AND date>$time-$asc_offset" : "") . "
+ ORDER BY date $order");
$total = $objTotal->total - $skipFirst;
// Split the results
@@ -148,8 +155,9 @@
WHERE pid IN(" . implode(',', array_map('intval', $this->news_archives)) . ")" . (($this->news_featured == 'featured') ? "
AND featured=1" : (($this->news_featured == 'unfeatured') ? "
AND featured=''" : "")) . (!BE_USER_LOGGED_IN ? " AND (start='' OR start<$time) AND (stop='' OR stop>$time) AND published=1" : "") . "
- AND news_slideshow=1
- ORDER BY date DESC");
+ AND news_slideshow=1" . (($order == 'ASC') ? "
+ AND date>$time-$asc_offset" : "") . "
+ ORDER BY date $order");
// Limit the result
if (isset($limit))
Dieser Patch ist getestet, hier ist die Demoseite. Dort ist auch dokumentiert, welche Einträge man in localconfig.php machen muss. Im Prinzip:
PHP-Code:
$GLOBALS['MISC']['news_slideshow_id'][<Modul-ID>]['ASC_OFFSET'] = <Offset in Sekunden>;
Update: dabei ist die Integer-Zahl <Modul-ID> die ID des Frontendmoduls mit der Slideshow, das anders sortiert werden soll (und NICHT die ID irgend eines Archivs).
Im Anhang die neue Version von system/modules/news_slideshow/ModuleNewsSlideshow.php, damit buntwelt das schnell erproben kann (Original sichern, falls was schiefgeht).
Noch etwas: auch mit der nicht gepatchten Version ist die Anzeige nicht korrekt, wenn es weniger als 2 anzuzeigende News gibt. Das fällt bei normalen News selten auf, aber bei der ASC Sortierung mit dem Offset kann es ja schon mal vorkommen. Bei nur 1 News wird das große Bild nicht gezeigt, dafür wird nur ein leeres <ul> ohne <li> generiert, die/der Titel rechts erscheinen aber. Bei 0 News wird "Array" ausgegeben. Kannst Du, Oliver, da bitte nochmal hinsehen?
LG, Georg
Problem in Kombi mit sep. Datei-URL für Page-Speed
Hallo,
erstmal ein großes Dankeschön. Der News-Slider ist wirklich toll. :D
Ich habe heute ein paar Änderungen an einer Seite bezüglich Page-Speed vorgenommen und dabei festgestellt, dass der News-Slider leider nicht mehr funzt, wenn ich im Bereich Startpunkt der Webseite bei den DNS-Einstellungen eine gesonderte Subdomain bei Datei-URL eintrage.
Ist das im Modul / Script irgendwo "hart" verdrahtet? Wo kann bzw. muss ich denn ggf. diese "harte" Einstellung auf den Eintrag im v.g. Datenfeld anpassen?
Danke für Ideen!
LG - Jens
Kann ich net mehr als 4 News in der Newslideshow anzeigen?
Kann ich net mehr als 4 News in der Newslideshow anzeigen?
Ich habe die Anzahl auf 8 erhöht, es werden aber immer 4 angezeigt? Ist das ein BUG oder ein Feature??
mfG.
aadursun
news_slideshow / contao 3.1
Hallo
habe versuchsweise das Modul in Contao 3.1 aktiviert.
Soweit sieht alles OK aus.
- das erste problem ist aber dass die Slideshow nicht startet
motool und jquery ist aktiviert.
- in den Link zu den Beiträgen steht 'item' drin, und daher werden diese dann nicht gefunden
(vermute mal dass dies im Template angepasst werden kann)
Gibt es hierfür eine Lösung oder muss das Modul noch weiter auf die neue Contao Version angepasst werden
mit bestem Gruß
Thomas
news_slideshow unter contao 3.1.5
Hallo,
ich habe news_slideshow unter 3.1.5 laufen. Allerdings werden Links mit "item" erzeugt:
HTML-Code:
http://www.domain.de/aktuell/items/nachricht1.html
Mit urlcleaner kann man zwar das "item" eliminieren, aber der Link bleibt wirkungslos. auto_item ist aktiviert.
Gibt es dazu eine Lösung?
Gruß Georgi
news_slideshow.js und ie8
Ich habe durch Zufall festgestellt, dass der Slider unter ie8 nicht läuft.
In der news_slideshow.js gibt es die Zeile
Code:
console.log(trans);
die den Fehler offensichtlich produziert.
Da der Slider unter http://www.erweiterungen.jukemedia.d...slideshow.html einwandfrei im ie8 läuft, habe ich mir die dortige 'news_slideshow.js' angesehen und siehe da, dort ist die Zeile 'console.log(trans);' gestrichen. Ich habe dann diese js bei mir aufgespielt und jetzt klappst im ie8.
@lomex
Kannst du das mal prüfen?
PS
Wie kann ich erreichen, dass die css nicht immer wieder überschrieben wird? Die Beschreibung oben funktioniert irgendwie nicht.
Gruß Georgi