Standardmäßig wird der gerade aktuelle Monat aufgerufen, es besteht jedoch die Möglichkeit monatsweise vor und zurück zu blättern.
Eine "Live-Demo" könnt ihr euch hier anschauen: http://www.seamless-design.de/cms/front ... swahl=2011. Voreinstellung ist Dezember 2011, damit auch ein paar Termine sichtbar sind...
Die zip-Datei mit allen Bestandteilen gibt es hier: http://www.seamless-design.de/cms/front ... p?idcat=73
INSTALLATION
* Download des Modulpakets und entpacken
* Anlegen der Module "terminkalender_sd" und "terminkalender_sd_terminliste" durch die Importfunktion
* Anlegen des Modultemplates "terminkalender_sd_terminliste.html"
* Einfügen der CSS-Infos aus der Datei "terminkalender_sd.css" in die eigene CSS-Datei
* Upload der Grafiken in ein beliebiges Verzeichnis
* Anpassen folgender Variablen im Output des Moduls "terminkalender_sd":
$url="http://www.MEINEDOMAIN.de/cms/front_content.php";
$terminkalender_sd_idart=idart des Artikels der den Kalender enthält;
$grafik_vormonat="Pfad zur Datei pfeil_vormonat.gif";
$grafik_kommender_monat="Pfad zur Datei pfeil_kommender_monat.gif";
* Anpassen folgender CSS-Klasse:
a.terminkalender_sd_ein_termin,
a.terminkalender_sd_mehrere_termine {
...
background-image: url('Pfad zur Datei bullet_termin.gif');
...
}
* Anlegen eines neuen Templates, dass die Module "terminkalender_sd" und direkt darunter "terminkalender_sd_terminliste" enthält
ANLEGEN DES TERMINKALENDERS UND DER TERMINE
* Anlegen der Kategorie "Terminkalender" mit der Unterkategorie "Termine"
* Anlegen mehrerer, normaler Artikel in der Unterkategorie "Termine", deren Titel im Reiter Eigenschaften mit einem Datum nach dem Schema JJJJ-MM-TT beginnt (Beispiel: 2010-04-16 - Eröffnungsfeier) Das ist zwingend notwendig, da die Selektion der Termine nach diesem Schema erfolgt.
* Anlegen des Artikels "Terminkalender" in der Kategorie "Terminkalender" mit folgender Konfiguration
Hinweis
Je nach Version von Contenido kann es bei der Terminliste zu einer Fehlermeldung kommen: "Fatal error: Class 'Contenido_Url' not found in..." In diesem Fall wird Contenido in einer Version < 4.8.12 installiert sein, die die o.g. Class nicht "kennt". In diesem Fall bitte den Output des Moduls "terminkalender_sd_terminliste" durch diesen hier ersetzen: output_terminkalender_sd_terminliste_fix_class_contenido_url.txt
Wer die Einzelheiten nicht aus der zip-Datei holen möchte, findet hier das was er sucht:
Modul "terminkalender_sd"-INPUT
Code: Alles auswählen
?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : terminkalender_sd
* Author(s) : Markus Hübner, Seamless-Design
* Copyright : Markus Hübner, Seamless-Design
* Created : 20.04.2010
************************************************/
#Select category
$cms_idcat = "CMS_VALUE[1]";
echo '<table cellpadding="0" cellspacing="0" border="0">';
echo '<tr><td class="text_medium" style="padding:5px">Kategorie wählen: </td></tr>
<tr><td class="text_medium" style="padding:5px">';
echo buildCategorySelect("CMS_VAR[1]", "CMS_VALUE[1]");
echo ' <input type="image" src="images/submit.gif">';
echo '</td></tr>';
echo "<tr><td colspan=\"2\"><u>Einzeltermine anteasern oder direkt öffnen?</u> <br/>";
if ("CMS_VALUE[20]" != "true") {
echo ' <input type="radio" name="CMS_VAR[20]" value="true"> anteasern';
} else {
echo ' <input type="radio" name="CMS_VAR[20]" value="true" checked> anteasern';
}
if ("CMS_VALUE[20]" != "false") {
echo ' <input type="radio" name="CMS_VAR[20]" value="false"> direkt öffnen';
} else {
echo ' <input type="radio" name="CMS_VAR[20]" value="false" checked> direkt öffnen';
}
echo "</td></tr>";
echo '</table>';
?><?php
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : terminkalender_sd
* Author(s) : Markus Hübner, Seamless-Design
* Copyright : Markus Hübner, Seamless-Design
* Created : 20.04.2010
************************************************/
$einzeltermine_anteasern="CMS_VALUE[20]";
//$einzeltermine_anteasern="true";
/************************* Auslesen der Artikel-Titel *****************************/
cInclude('classes', 'class.article.php');
$sql = "SELECT
htmlpath, frontendpath
FROM
".$cfg["tab"]["clients"]."
WHERE
idclient = ".$client." ";
$db->query($sql);
if ($db->next_record()) {
$htmlpath = $db->f('htmlpath');
$frontendpath = $db->f('frontendpath');
}
$selcat = "CMS_VALUE[1]"; // selected category
//$limit = "CMS_VALUE[15]";
$cms_sort_direction = 'asc';
$order = 'title';
$with_start = false;
$array="";
$url="http://www.seamless-design.de/cms/front_content.php";
$terminkalender_sd_idart=93;
$monate=array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
$grafik_vormonat="../cms/upload/bullets/pfeil_vormonat.gif";
$alternativtext_grafik_vormonat="zum Vormonat";
$grafik_kommender_monat="../cms/upload/bullets/pfeil_kommender_monat.gif";
$alternativtext_grafik_kommender_monat="zum kommenden Monat";
$feiertage=array(
'2010-01-01',
'2010-04-02',
'2010-04-05',
'2010-05-01',
'2010-05-13',
'2010-05-24',
'2010-10-03',
'2010-12-25',
'2010-12-26',
'2011-01-01',
'2011-04-22',
'2011-04-25',
'2011-05-01',
'2011-06-02',
'2011-06-13',
'2011-10-03',
'2011-12-25',
'2011-12-26',
'2012-01-01',
'2012-04-06',
'2012-04-09',
'2012-05-01',
'2012-05-17',
'2012-05-28',
'2012-10-03',
'2012-12-25',
'2012-12-26'
);
if (strlen($selcat) > 0 && $selcat != '0') {
$options = array ('idcat' => $selcat, "start" => $with_start, "order" => $order, "direction" => $cms_sort_direction);
$list = new ArticleCollection($options);
$count = $list->count;
if ($count > 0) {
if (is_numeric($limit) AND strlen($limit) > 0) {
if ($limit < $list->count) {
$limit_art = $limit;
}
else {
$limit_art = $list->count;
}
} // if (is_numeric($limit) AND strlen($limit) > 0)
else {
$limit_art = $list->count;
}
for ($i = 0; $i < $limit_art; $i ++) {
$article = $list->nextArticle();
$article_title = $article->getField('title');
$article_id = $article->getField('idart');
$article_title=substr($article_title,0,10);
$array[]=$article_title;
$array[]=$article_id;
//echo $i;
} // end for
} // if ($count > 0)
} // if (strlen($selcat) > 0 && $selcat != '0')
/*
$anzahl_array_elemente=count($array);
echo "<br/>Anzahl der Array-Elemente: ".$anzahl_array_elemente;
*/
/************************* Kalenderdaten *****************************/
$monat_auswahl=htmlspecialchars($_GET['monat_auswahl']);
$jahr_auswahl=htmlspecialchars($_GET['jahr_auswahl']);
if ($monat_auswahl!="")
{
if(is_numeric($monat_auswahl)) $monat=$monat_auswahl;
else die;
if($monat>12) $monat=12;
if($monat<1) $monat=1;
}
else $monat=date('n');
if ($jahr_auswahl!="")
{
if(is_numeric($jahr_auswahl)) $jahr=$jahr_auswahl;
else die;
}
else $jahr=date('Y');
$aktueller_wochentag=date('w');
$erster=date('w', mktime(0,0,0,$monat,1,$jahr)); // auf welchen Wochentag fällt der erste des Monats
$insgesamt=date('t', mktime(0,0,0,$monat,1,$jahr));
$heute=date('d');
/*
echo "<hr>";
echo "monat: ".$monat."<br/>";
echo "jahr: ".$jahr."<br/>";
echo "aktueller_wochentag: ".$aktueller_wochentag."<br/>";
echo "erster fällt auf wochentag: ".$erster."<br/>";
echo "anzahl der tage des monats: ".$insgesamt."<br/>";
echo "tag heute: ".$heute."<br/>";
*/
if($erster==0){$erster=7;} //Sonntag, "amerikanische" Woche fängt nicht mit Montag sondern Sonntag an
/************************ Ziele Blätterfunktion ************************/
$vormonat=$monat-1;
$vorjahr=$jahr;
if ($vormonat=="0") {$vormonat="12";$vorjahr=$jahr-1;}
$kommender_monat=$monat+1;
$kommendes_jahr=$jahr;
if ($kommender_monat=="13") {$kommender_monat="1";$kommendes_jahr=$jahr+1;}
/************************ Darstellung des Kalenders ************************/
echo '<table class="monatsterminkalender_sd_sd">';
echo '<tr><th class="terminkalender_sd_vormonat"><a class="terminkalender_sd_vormonat" href="front_content.php?idart='.$terminkalender_sd_idart.'&monat_auswahl='.$vormonat.'&jahr_auswahl='.$vorjahr.'"><img src="'.$grafik_vormonat.'" alt="'.$alternativtext_grafik_vormonat.'" title="'.$alternativtext_grafik_vormonat.'"/></a></th>
<th class="terminkalender_sd_aktueller_monat" colspan="5">'.$monate[$monat-1].' '.$jahr.'</th>
<th class="terminkalender_sd_kommender_monat"><a class="terminkalender_sd_kommender_monat" href="front_content.php?idart='.$terminkalender_sd_idart.'&monat_auswahl='.$kommender_monat.'&jahr_auswahl='.$kommendes_jahr.'"><img src="'.$grafik_kommender_monat.'" alt="'.$alternativtext_grafik_kommender_monat.'" title="'.$alternativtext_grafik_kommender_monat.'"/></a></th></tr>'; // $monat - 1 da die erste Arrayposition nicht mit 1 sondern Null angesteuert wird
echo '<tr>
<td class="terminkalender_sd_tage_woche">Mo</td>
<td class="terminkalender_sd_tage_woche">Di</td>
<td class="terminkalender_sd_tage_woche">Mi</td>
<td class="terminkalender_sd_tage_woche">Do</td>
<td class="terminkalender_sd_tage_woche">Fr</td>
<td class="terminkalender_sd_tage_wochenende">Sa</td>
<td class="terminkalender_sd_tage_wochenende">So</td>
</tr><tr>';
if ($monat<10) {$monat="0".$monat;} // formatierung von einstelligen monaten auf zwei stellen: 4 -> 04
/* Auffüllen der <tr> mit Leerzellen bis der Monatserste in der passenden Spalte erreicht wird */
$i=1;
while($i<$erster){echo '<td class="terminkalender_sd_zelle_leer"> </td>'; $i++;}
/* Ausgabe der Datumsziffern */
$i=1;
$arrayzeiger_idart_zum_termin=-1;
while($i<=$insgesamt)
{
$rest=($i+$erster-1)%7;
if ($rest==1) {echo "<tr>";}
if($i==$heute){echo '<td class="terminkalender_sd_zelle_heute">';}
else{echo '<td class="terminkalender_sd_zelle_standard">';}
if ($i<10) {$tag="0".$i;} // formatierung von einstelligen tagen auf zwei stellen für das checkdatum: 4 -> 04
else {$tag=$i;}
/* Prüfung, ob ein oder mehrere Termine auf Datum fallen, entsprechender <a>-Tag */
$checkdatum=$jahr.'-'.$monat.'-'.$tag;
if ($einzeltermine_anteasern=="false")
{
if (count(array_keys($array, $checkdatum))==1){
$arrayzeiger_idart_zum_termin=$arrayzeiger_idart_zum_termin+2;
$artikel_idart=$array[$arrayzeiger_idart_zum_termin];
echo '<a class="terminkalender_sd_ein_termin" href="'.$url.'?idart='.$artikel_idart.'">';
$inarray="true";
}
}
if ($einzeltermine_anteasern=="true")
{
$switch=0;
}
else
{
$switch=1;
}
if (count(array_keys($array, $checkdatum))>$switch){
$arrayzeiger_idart_zum_termin=$arrayzeiger_idart_zum_termin+count(array_keys($array, $checkdatum))*2;
//echo $array[$arrayzeiger_idart_zum_termin];
echo '<a class="terminkalender_sd_mehrere_termine" href="'.$url.'?idart='.$terminkalender_sd_idart.'&termindatum='.$checkdatum.'&monat_auswahl='.$monat_auswahl.'&jahr_auswahl='.$jahr_auswahl.'">';
$inarray="true";
}
/* Ausgabe der Datumszahl */
$feiertag_ja="false";
if (in_array($checkdatum, $feiertage)) {$feiertag_ja="true";}
if($i==$heute){
if($feiertag_ja=="true") {echo '<span class="terminkalender_sd_heute_feiertag">'.$i.'</span>';}
else echo '<span class="terminkalender_sd_heute">'.$i.'</span>';
}
else if($rest==6){
if($feiertag_ja=="true") {echo '<span class="terminkalender_sd_samstag_feiertag">'.$i.'</span>';}
else echo '<span class="terminkalender_sd_samstag">'.$i.'</span>';
}
else if($rest==0){
if($feiertag_ja=="true") {echo '<span class="terminkalender_sd_sonntag_feiertag">'.$i.'</span>';}
else echo '<span class="terminkalender_sd_sonntag">'.$i.'</span>';
}
else{
if($feiertag_ja=="true") {echo '<span class="terminkalender_sd_normal_feiertag">'.$i.'</span>';}
else echo '<span class="terminkalender_sd_normal">'.$i.'</span>';
}
/* Schließen des <a>-Tags */
if ($inarray=="true") {echo "</a>";}
$inarray="false";
echo "</td>"; // Schließen der Zelle
if($rest==0){echo '</tr>';}
$i++;
}
/* Auffüllen der <tr> mit Leerzellen wenn das Enddatum des Monats erreicht ist */
$p=7-$rest;
$q=0;
if ($rest!=0)
{
while ($q<$p)
{
echo '<td class="terminkalender_sd_zelle_leer"> </td>';
$q++;
}
}
echo '</tr>';
echo '</table>';
?>
Code: Alles auswählen
?><?php
/**
* $RCSfile$
*
* Description: Newslist / ArticleList. Module "Input".
*
* @version 1.0.0
* @author Andreas Lindner
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2005-08-12
* }}
*
* $Id$
*/
#Select category
$cms_idcat = "CMS_VALUE[1]";
echo '<table cellpadding="0" cellspacing="0" border="0">';
echo '
<tr><td class="text_medium" style="padding:5px">Kategorie wählen: </td></tr>
<tr><td class="text_medium" style="padding:5px">';
echo buildCategorySelect("CMS_VAR[1]", "CMS_VALUE[1]");
echo ' <input type="image" src="images/submit.gif">';
echo '</td></tr>';
#Select sort field and sort order
$sortdate = 'checked';
$cms_imgsize = "CMS_VALUE[14]";
$cms_limit_articles = "CMS_VALUE[15]";
$cms_sort_direction = "CMS_VALUE[16]";
if ("CMS_VALUE[17]" != '') {
$cms_include_start_article = ' checked';
} else {
$cms_include_start_article = '';
}
if ("CMS_VALUE[3]" == 'sortdate') {
$sortdate = 'checked';
$sortnum = '';
}
elseif ("CMS_VALUE[3]" == 'sortnum') {
$sortdate = '';
$sortnum = 'checked';
}
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Sortierung nach Datum").':</td>
<td style="padding:5px;"><input type="radio" name="CMS_VAR[3]" value="sortdate" '.$sortdate.'></td>
</tr>
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Sortierung nach Nummer").':</td>
<td style="padding:5px;"><input type="radio" name="CMS_VAR[3]" value="sortnum" '.$sortnum.'></td>
</tr>
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Sortierung aufsteigend").':</td>
<td style="padding:5px;">';
if (strtolower($cms_sort_direction) == 'desc') {
echo '<input type="radio" name="CMS_VAR[16]" value="asc"/>';
} else {
echo '<input type="radio" name="CMS_VAR[16]" value="asc" checked/>';
}
echo '</td>
</tr>
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Sortierung absteigend").':</td>
<td style="padding:5px;">';
if (strtolower($cms_sort_direction) == 'desc') {
echo '<input type="radio" name="CMS_VAR[16]" value="desc" checked/>';
} else {
echo '<input type="radio" name="CMS_VAR[16]" value="desc"/>';
}
echo '</td>
</tr>';
$noimg = '';
if ("CMS_VALUE[13]" == 'true') {
$noimg = 'checked';
}
#Headline
echo '
<tr><td class="text_medium" style="padding:5px;">'.mi18n("Überschrift").': </td></tr>
<tr><td style="padding:5px;"><input type="text" name="CMS_VAR[4]" value="CMS_VALUE[4]"></td></tr>
<tr>
<td colspan="2" class="text_medium" style="padding:5px;"><b><u>'.mi18n("Bild für Teaser").':</u></b></td>
</tr>
<tr>
<td colspan="2" class="text_medium" style="padding:5px;">'.mi18n("Es wird das erste Bild des Artikels angezeigt.").'</td>
</tr>';
#Image width
echo '
<tr><td class="text_medium" style="padding:5px;">'.mi18n("Bildbreite").': </td></tr>
<tr><td style="padding:5px;"><input type="text" name="CMS_VAR[14]" value="'.$cms_imgsize.'" maxlength="3"></td></tr>';
#Disable images
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Kein Bild anzeigen").':</td>
<td style="padding:5px;"><input type="checkbox" name="CMS_VAR[13]" value="true" '.$noimg.'></td>
</tr>';
#Number of articles
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Anzahl Artikel begrenzen").':</td>
<td style="padding:5px;"><input type="text" name="CMS_VAR[15]" value="'.$cms_limit_articles.'"></td>
</tr>';
#Include start article
echo '
<tr>
<td class="text_medium" style="padding:5px;">'.mi18n("Startartikel in Liste einbeziehen").':</td>
<td style="padding:5px;"><input type="checkbox" name="CMS_VAR[17]" value="yes"'.$cms_include_start_article.'></td>
</tr>';
echo '</table>';
?><?php
Code: Alles auswählen
<?php
/**
* $RCSfile$
*
* Description: Newslist / ArticleList. Module "Output".
*
* @version 1.1.0
* @author Andreas Lindner
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2005-08-12
* modified 2009-01-16 Rudi Bieller Added new Contenido_Url for creating URLs
* }}
*
* $Id$
*
* Modified for terminkalender_sd: Markus Hübner 2010-04-13
*/
//mod anfang
$datum=htmlspecialchars($_GET['termindatum']);
if ($datum!="")
{
//mod ende
cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');
if (!isset($tpl) || !is_object($tpl)) {
$tpl = new Template();
}
$tpl->reset();
$sql = "SELECT
htmlpath, frontendpath
FROM
".$cfg["tab"]["clients"]."
WHERE
idclient = ".$client." ";
$db->query($sql);
if ($db->next_record()) {
$htmlpath = $db->f('htmlpath');
$frontendpath = $db->f('frontendpath');
}
// selected category
$selcat = "CMS_VALUE[1]";
//mod anfang
//$template = "teaser-standard.html";
$template = "terminkalender_sd_terminliste.html";
//mod ende
// anzahl der zeichen text
$mxtext = 200;
$limit = "CMS_VALUE[15]";
$cms_sort_direction = "CMS_VALUE[16]";
if ($cms_sort_direction == '') {
$cms_sort_direction = 'desc';
}
if ("CMS_VALUE[3]" == "sortdate") {
$order = 'lastmodified';
} else {
$order = 'artsort';
}
if ("CMS_VALUE[17]" != '') {
$with_start = true;
} else {
$with_start = false;
}
$newsheadline = "CMS_VALUE[4]";
$tpl->set('s', 'TITLE', $newsheadline);
if (strlen($selcat) > 0 && $selcat != '0') {
$options = array ('idcat' => $selcat, "start" => $with_start, "order" => $order, "direction" => $cms_sort_direction);
$list = new ArticleCollection($options);
$count = $list->count;
if ($count > 0) {
if (is_numeric($limit) AND strlen($limit) > 0) {
if ($limit < $list->count) {
$limit_art = $limit;
} else {
$limit_art = $list->count;
}
} else {
$limit_art = $list->count;
}
for ($i = 0; $i < $limit_art; $i ++) {
$article = $list->nextArticle();
$article_id = $article->getField('idart');
//mod anfang
$article_title = $article->getField('title');
$article_title=substr($article_title,0,10);
if ($article_title==$datum)
{
//mod ende
$teaser_img = '';
if ($noimg != 'true') {
$text_html = $article->getContent('CMS_HTML', 1);
$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $text_html, $match);
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0], $img);
$img_src = preg_split("/\//", $img[0]);
$img_name = $img_src[count($img_src) - 1];
$img_name = preg_replace("/\"/", "", $img_name);
$img_split = preg_split("/\./", $img_name);
$img_type = $img_split[count($img_split) - 1];
$img_split2 = preg_split("/_/", $img_split[0]);
$name = $img_name;
if (count($img_split2) > 1) {
$img_x = $img_split2[count($img_split2) - 1];
$img_y = $img_split2[count($img_split2) - 2];
if (is_numeric($img_x) AND is_numeric($img_y)) {
$suffix = "_".$img_x."_".$img_y.".".$img_type;
$name = preg_replace("/$suffix/", "", $img_name);
$name = $name.".[a-zA-Z]{3}";
}
}
$img_teaser = '';
if (strlen($name) > 0) {
$sql = "SELECT
*
FROM
".$cfg["tab"]["upl"]."
WHERE
filename REGEXP '$name' ";
//echo "<pre>"; print_r($sql); echo "</pre>";
$db->query($sql);
if ($db->next_record()) {
$filename = $db->f('filename');
$dirname = $db->f('dirname');
}
$img_path = $cfgClient[$client]["upl"]["path"].$dirname.$filename;
$img_size = "CMS_VALUE[14]";
$img_teaser = capiImgScale($img_path, $img_size, $img_size, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);
} // end if strlen
if (strlen($img_teaser) > 0) {
$teaser_img = '<img src="'.$img_teaser.'" class="teaser_img">';
} else {
$teaser_img = '';
}
} // end if noimg
$headline = strip_tags($article->getContent('CMS_HTMLHEAD', 1));
$headline = str_replace($replace, " ", $headline);
/* $subheadline = strip_tags($article->getContent('CMS_HTMLHEAD', 2));
$subheadline = str_replace($replace, " ", $subheadline);*/
$teaserheadline = /*$subheadline." - ".*/
$headline;
// this is just for sample client - modify to your needs!
if ($cfg['url_builder']['name'] == 'front_content') {
$aParams = array('lang' => $lang, 'idcat' => $selcat, 'idart' => $article_id);
} else {
$aParams = array('b' => array('lang' => $lang, 'idcat' => $selcat, 'idart' => $article_id),
'idcat' => $selcat, // needed to build category path
'lang' => $lang, // needed to build category path
'level' => 1); // needed to build category path
}
try {
$href = Contenido_Url::getInstance()->build($aParams);
} catch (InvalidArgumentException $e) {
$href = $sess->url("front_content.php?idcat=$selcat&idart=$article_id");
}
$teasertext = $article->getField('summary');
if (strlen(trim($teasertext)) == 0) {
$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
$teasertext2 = $teasertext;
$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
if ($teasertext!=$teasertext2) {
$teasertext.= '...';
}
} // end if
$teasertext = $teasertext." ";
$tpl->set('d', 'HEADLINE', $teaserheadline);
$tpl->set('d', 'TEXT', $teasertext);
$tpl->set('d', 'HREF', $href);
$tpl->set('d', 'IMG', $teaser_img);
$tpl->set('d', 'MORE', mi18n("mehr"));
$tpl->next();
//mod anfang
} //if ($article_title==$datum)
//mod ende
} // end for
$tpl->generate('templates/'.$template);
}
}
//mod anfang
}// if ($datum!="")
//mod ende
?>
Code: Alles auswählen
<div class="terminkalender_sd_terminliste_title">
{TITLE}
</div>
<div class="terminkalender_sd_terminliste_block">
<!-- BEGIN:BLOCK -->
<a class="terminkalender_sd_terminliste_headline" href="{HREF}">{HEADLINE}</a><br/>
<p>{IMG}{TEXT} <a class="terminkalender_sd_terminliste_mehr" href="{HREF}" title="{MORE}">{MORE} ›</a></p>
<!-- END:BLOCK -->
</div>
Code: Alles auswählen
/********************* terminkalender_sd_sd und terminliste **********************/
span.terminkalender_sd_samstag,
span.terminkalender_sd_sonntag,
span.terminkalender_sd_normal_feiertag,
span.terminkalender_sd_samstag_feiertag,
span.terminkalender_sd_sonntag_feiertag,
span.terminkalender_sd_heute_feiertag {
color: #ff0000;
font-weight: 900;
}
span.terminkalender_sd_normal {}
span.terminkalender_sd_heute {}
a.terminkalender_sd_vormonat,
a.terminkalender_sd_kommender_monat {}
a.terminkalender_sd_vormonat:hover,
a.terminkalender_sd_kommender_monat:hover {}
a.terminkalender_sd_ein_termin,
a.terminkalender_sd_mehrere_termine {
font-weight: 900;
background-image: url('../upload/bullets/bullet_termin.gif');
background-repeat: no-repeat;
background-position: 25px 5px;
display: block;
text-decoration:none;
color: #000000;
}
table.terminkalender_sd {
background-color: #ffffff;
}
th.terminkalender_sd_vormonat,
th.terminkalender_sd_kommender_monat {
border-bottom: 1px dotted #555555;
}
th.terminkalender_sd_aktueller_monat {
font-weight: 900;
color: #555555;
font-size: 16px;
border-bottom: 1px dotted #555555;
}
td.terminkalender_sd_tage_woche {
color: #555555;
width: 35px;
}
td.terminkalender_sd_tage_wochenende {
color: #555555;
font-weight: 900;
width: 35px;
}
td.terminkalender_sd_zelle_leer {
background-color: #ffffff;
}
td.terminkalender_sd_zelle_heute {
background-color: #999999;
color: #000000;
}
td.terminkalender_sd_zelle_standard {
border: 1px solid #999999;
}
div.terminkalender_sd_terminliste_title {
color: #000000;
text-decoration: underline;
margin-top: 10px;
margin-bottom: 10px;
}
div.terminkalender_sd_terminliste_block {}
a.terminkalender_sd_terminliste_headline {
color: #555555;
font-weight: 900;
text-decoration: none;
}
a.terminkalender_sd_terminliste_headline:hover {
text-decoration: underline;
}
a.terminkalender_sd_terminliste_mehr {
text-decoration: none;
}
a.terminkalender_sd_terminliste_mehr:hover {
text-decoration: underline;
}
output_terminkalender_sd_terminliste_fix_class_contenido_url.txt
Code: Alles auswählen
<?php
/**
* $RCSfile$
*
* Description: Newslist / ArticleList. Module "Output".
*
* @version 1.0.0
* @author Andreas Lindner
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2005-08-12
* }}
*
* $Id$
*
* Modified for terminkalender_sd: Markus Hübner 2010-04-13
*/
//mod anfang
$datum=htmlspecialchars($_GET['termindatum']);
if ($datum!="")
{
//mod ende
cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');
if (!isset($tpl) || !is_object($tpl)) {
$tpl = new Template();
}
$tpl->reset();
$sql = "SELECT
htmlpath, frontendpath
FROM
".$cfg["tab"]["clients"]."
WHERE
idclient = ".$client." ";
$db->query($sql);
if ($db->next_record()) {
$htmlpath = $db->f('htmlpath');
$frontendpath = $db->f('frontendpath');
}
// selected category
$selcat = "CMS_VALUE[1]";
//mod anfang
//$template = "teaser-standard.html";
$template = "terminkalender_sd_terminliste.html";
//mod ende
// anzahl der zeichen text
$mxtext = 200;
$limit = "CMS_VALUE[15]";
$cms_sort_direction = "CMS_VALUE[16]";
if ($cms_sort_direction == '') {
$cms_sort_direction = 'desc';
}
if ("CMS_VALUE[3]" == "sortdate") {
$order = 'lastmodified';
} else {
$order = 'artsort';
}
if ("CMS_VALUE[17]" != '') {
$with_start = true;
} else {
$with_start = false;
}
$newsheadline = "CMS_VALUE[4]";
$tpl->set('s', 'TITLE', $newsheadline);
if (strlen($selcat) > 0 && $selcat != '0') {
$options = array ('idcat' => $selcat, "start" => $with_start, "order" => $order, "direction" => $cms_sort_direction);
$list = new ArticleCollection($options);
$count = $list->count;
if ($count > 0) {
if (is_numeric($limit) AND strlen($limit) > 0) {
if ($limit < $list->count) {
$limit_art = $limit;
} else {
$limit_art = $list->count;
}
} else {
$limit_art = $list->count;
}
for ($i = 0; $i < $limit_art; $i ++) {
$article = $list->nextArticle();
$article_id = $article->getField('idart');
//mod anfang
$article_title = $article->getField('title');
$article_title=substr($article_title,0,10);
if ($article_title==$datum)
{
//mod ende
$teaser_img = '';
if ($noimg != 'true') {
$text_html = $article->getContent('CMS_HTML', 1);
$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $text_html, $match);
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0], $img);
$img_src = preg_split("/\//", $img[0]);
$img_name = $img_src[count($img_src) - 1];
$img_name = preg_replace("/\"/", "", $img_name);
$img_split = preg_split("/\./", $img_name);
$img_type = $img_split[count($img_split) - 1];
$img_split2 = preg_split("/_/", $img_split[0]);
$name = $img_name;
if (count($img_split2) > 1) {
$img_x = $img_split2[count($img_split2) - 1];
$img_y = $img_split2[count($img_split2) - 2];
if (is_numeric($img_x) AND is_numeric($img_y)) {
$suffix = "_".$img_x."_".$img_y.".".$img_type;
$name = preg_replace("/$suffix/", "", $img_name);
$name = $name.".[a-zA-Z]{3}";
}
}
$img_teaser = '';
if (strlen($name) > 0) {
$sql = "SELECT
*
FROM
".$cfg["tab"]["upl"]."
WHERE
filename REGEXP '$name' ";
//echo "<pre>"; print_r($sql); echo "</pre>";
$db->query($sql);
if ($db->next_record()) {
$filename = $db->f('filename');
$dirname = $db->f('dirname');
}
$img_path = $cfgClient[$client]["upl"]["path"].$dirname.$filename;
$img_size = "CMS_VALUE[14]";
$img_teaser = capiImgScale($img_path, $img_size, $img_size, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);
} // end if strlen
if (strlen($img_teaser) > 0) {
$teaser_img = '<img src="'.$img_teaser.'" class="teaser_img">';
} else {
$teaser_img = '';
}
} // end if noimg
$headline = strip_tags($article->getContent('CMS_HTMLHEAD', 1));
$headline = str_replace($replace, " ", $headline);
/* $subheadline = strip_tags($article->getContent('CMS_HTMLHEAD', 2));
$subheadline = str_replace($replace, " ", $subheadline);*/
$teaserheadline = /*$subheadline." - ".*/
$headline;
$href = $sess->url("front_content.php?idcat=$selcat&idart=$article_id");
$teasertext = $article->getField('summary');
if (strlen(trim($teasertext)) == 0) {
$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
$teasertext2 = $teasertext;
$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
if ($teasertext!=$teasertext2) {
$teasertext.= '...';
}
} // end if
$teasertext = $teasertext." ";
$tpl->set('d', 'HEADLINE', $teaserheadline);
$tpl->set('d', 'TEXT', $teasertext);
$tpl->set('d', 'HREF', $href);
$tpl->set('d', 'IMG', $teaser_img);
$tpl->set('d', 'MORE', mi18n("mehr"));
$tpl->next();
//mod anfang
} //if ($article_title==$datum)
//mod ende
} // end for
$tpl->generate('templates/'.$template);
}
}
//mod anfang
}// if ($datum!="")
//mod ende
?>