Zweck


Oft werden für Events im Kalender Modul auf der Detailseite das Start und Enddatum angezeigt. Leider gilt dies auch für eintägigen Events.

Dieser Javascript Code entfernt das Enddatum bei Events die nur an einem Tag stattfinden, damit der Text übersichtlicher wird.


Cloudrexx


Benötigt


jQuery: jQuery können Sie in Cloudrexx unter Administration>>Layout>>Template Manager>>Bibliotheken aktivieren. Wir empfehlen die neuste Version zu benutzen.


Javascript: 

var delimiter = "-";
var selector = "#calendar .row1 td"


var reg = new RegExp(/(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d/);
var date = jQuery(selector).filter(function() {
	return reg.test(jQuery(this).text());
})

var dateTextArr = date.text().split(delimiter);
dateTextArr.forEach(function(el, index) {
	dateTextArr[index] = dateTextArr[index].trim();
});

if (dateTextArr[0] == dateTextArr[1]) {
	dateTextArr.splice(1, 1);
	var newDateText = dateTextArr.join(' ' + delimiter + ' ');
	date.text(newDateText)
}

Hier ein Beispiel.


Anleitung

  1.  Aktivieren Sie jQuery
  2. Fügen Sie das Script direkt auf der Seite mit einem <script type="text/javascript">...</script> oder in einer .js Datei.
  3. Das Trennzeichen (var delimiter = "-";) muss auf das Zeichen geändert werden, mit welchem das Datum auseinander gehalten wird.
  4. Nun müssen Sie nur noch den Selektor (var selector = "#calendar .row1 td") anpassen. Sie müssen diesen nicht ganz genau machen, da das Javascript automatisch das Element mit dem Datum herausfiltert, jedoch desto genauer der Selektor desto schneller ist das Script. 
Nun sollte das Resultat wie bei diesem Beispiel funktionieren.



Weiter Infos zu dem Selektor: jQuery Selector


Contrexx


Folgt ..