[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Artikelliste als Kalender // bissel verändert - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
bibi
Beiträge: 94
Registriert: 9. Jul 2005, 04:26
Wohnort: Bielefeld

Artikelliste als Kalender // bissel verändert

19. Jul 2005, 14:30

Hallo Zusammen,

ich habe mal ein bisschen an der Artikellist als Kalender rumgefummelt.

Was habe ich geändert? Nicht viel:
1) Ich habe die Artikelliste mit der Artikellist als Kalender in ein Modul gepackt.
2) Habe ich die Artikelliste so verändert, dass es nur Artikel aus dem aktuellen Monat bzw. dem im Kalender ausgewählten Monat anzeigt
3) Wenn ich einen best. Tag im Kalender anklicke, wird in der Artikelliste alle Artikel aus der Kategorie für diesen Tag angezeigt.

Code: Alles auswählen

<?

$category_id = $this->getValue("category_id");
$path  = $this->getValue("path");
preg_match_all("/-([0-9]+)/i",$path,$match);
$spath = $match[0][0];

$GC = new sql;
// $GC->debugsql = 1;
$GC->setQuery("select * from rex_article 
where 
(rex_article.path like '$spath-%' or rex_article.path='$spath') and 
rex_article.startpage=0 and rex_article.status = 1 
order by rex_article.prior,rex_article.name");

for ($i=0;$i<$GC->getRows();$i++)
{
 $KAL[$GC->getValue("rex_article.online_von")] = $GC->getValue("rex_article.id");
 $KALNAME[$GC->getValue("rex_article.online_von")] = $GC->getValue("rex_article.name");
 $GC->next();
}


// ----- KALENDER

if ($FORM[date]!="") 
{ 
 $FORM[year] = substr($FORM[date],0,4); 
 $FORM[month] = substr($FORM[date],4,2); 
 $FORM[day] = substr($FORM[date],6,2); 
} 

if (!checkdate($FORM[month],$FORM[day],$FORM[year])) 

{ 
 $FORM[year] = date("Y"); 
 $FORM[month] = date("m"); 
 $FORM[day] = date("d"); 
} 

$FORM[date] = $FORM[year].$FORM[month].$FORM[day]; 

$today = date("Ymd");
$FORM[link] = "index.php?article_id=REX_ARTICLE_ID";
$link = $FORM[link];
$month_days = date("j",mktime(0,0,0,$FORM[month]+1,1,$FORM[year])-1);
$month_before = $FORM[month]-1;
$month_later = $FORM[month]+1;
$year_before = $FORM[year];
$year_later = $FORM[year];
if ($month_before<1){ $month_before = 12; $year_before= $year_before-1;}
if ($month_later>12){ $month_later = 1; $year_later= $year_later+1;}
if ($month_before<10){ $month_before = "0$month_before"; }
if ($month_later<10){ $month_later = "0$month_later"; }
$before = $year_before.$month_before."01";
$later  = $year_later.$month_later."01";

$KALENDER .= "
	<div class=\"Calendar\">";
$KALENDER .= "
	<div class=\"CalendarHead\">
		<div class=\"CalendarHeadLeft\"><a href=\"$link&FORM[date]=$before\" class=\"calhead\"><b>&laquo;</b></a>&nbsp;<a href=\"$link&FORM[date]=$later\" class=\"calhead\"><b>&raquo;</b></a></div>
		<div class=\"CalendarHeadRight\">".$FORM[month]."/".$FORM[year]."</div>
	</div>";
$KALENDER .= "
	<div class=\"CalendarWeekdays\">
		<span>Mo</span>
		<span>Di</span>
		<span>Mi</span>
		<span>Do</span>
		<span>Fr</span>
		<span>Sa</span>
		<span>So</span>
	</div>";
	
$k = 1;
for ($i=1;$i<7;$i++)
{
 $KALENDER .= "
	<div class=\"CalendarDays\">";
	
 for($j=0;$j<7;$j++)
 {
  $k = $k + 0;
  if ($k<10) $k="0$k";
  if ($FORM[month]<10) $comp_month="".$FORM[month]; 
  else $comp_month=$FORM[month];
  $which_weekday = date("w",mktime(0,0,0,$FORM[month],$k-1,$FORM[year]));
  if ($which_weekday == $j and $month_days>=$k)
  { 	
   $loop_day = $FORM[year]."$comp_month$k";
   $KALENDER .= "
		<span";
   if ($FORM[date] == $loop_day) $KALENDER .= " class=\"CalendarDaysActive\">";
   elseif ($today == $loop_day) $KALENDER .= " class=\"CalendarDaysIdontknow\">";
   elseif ($j == 5 or $j == 6) $KALENDER .= " class=\"CalendarDaysWeekenddays\">";
   else $KALENDER .= " class=\"CalendarDaysWeekdays\">";
   if ($KAL[$loop_day] != "") $KALENDER .= "<a href=\"".$link."&FORM[date]=$loop_day&FORM[span]=day\">$k</a>";
   else $KALENDER .= "$k";
   $KALENDER .= "
		</span>";
   $k++;
  }else
  {
   $KALENDER .= "<span></span>";
  }
 }
 $KALENDER .= "</div>";
 if ($month_days<$k) break;
}
$KALENDER .= "</div>";

// ----- / KALENDER

echo "<div class=\"CalendarContainer\">$KALENDER<div class=\"Clear\">&nbsp;</div></div>";

?>


<div class="ArticlelistContainer">
<?php

// ArtikelListe

if ($FORM[span] == "day") {
	$sql = "select * from rex_article where rex_article.category_id='REX_CATEGORY_ID' and startpage=0 and checkbox01=1 and status=1 and erstelldatum='".$FORM[year].$FORM[month].$FORM[day]."' order by rex_article.prior ASC";
} else {
	$sql = "SELECT * FROM rex_article WHERE rex_article.category_id='REX_CATEGORY_ID' AND startpage=0 AND checkbox01=1 AND STATUS=1 AND erstelldatum LIKE '".$FORM[year].$FORM[month]."%' ORDER BY rex_article.erstelldatum DESC";
}
$GC = new sql;

$GC->setQuery($sql);

for ($i=0;$i<$GC->getRows();$i++)
{

 if ($i!=0)  echo "<!--
 	
 	<hr style=\"width:100%; height:1px;\" vspace=\"4\"> -->";

 $aid = $GC->getValue("rex_article.id");

 $jahr = substr($GC->getValue("rex_article.online_von"),0,4);
 $monat = substr($GC->getValue("rex_article.online_von"),4,2);
 $tag = substr($GC->getValue("rex_article.online_von"),6,2);

 $date = "$tag.$monat.$jahr";

 echo "<div class=\"ArticlelistArticle\">";
 echo "<div class=\"ArticlelistHead\">";
 echo "	<div class=\"ArticlelistHeadline\">".htmlentities($GC->getValue("rex_article.name"))."</div>";
 echo "	<div class=\"ArticlelistDate\">".htmlentities($date)."</div>";
 echo "</div>";
 echo "<div>
		<div class=\"ArticlelistIntro\">";

 if ($GC->getValue("rex_article.file")!="") echo "
		<img src=\"<?=$REX[HTDOCS_PATH]?>/files/".$GC->getValue("rex_article.file")."\" align=\"left\" style=\"border-right:10px #ffffff solid; border-bottom:10px #ffffff solid;\" />";

 echo htmlentities($GC->getValue("rex_article.beschreibung"))." ";

 if ($REX[GG]) echo "<a href=\"".getURLbyID($aid)."\"><b>&raquo;&nbsp;mehr...</b></a>";
 echo "	</div></div>";
 echo "</div>";

 $GC->next();
}

?>
</div>

Kleine Änderungen aber so gefällt mir das Modul noch besser :)

Gruß,
Carsten

Zurück zu „Allgemeines [R2]“