Seite 1 von 1

calpeek

Verfasst: 30.09.2002 14:32
von okieh
ich hab mir schon diversesten threads durchgelesen, die sich mit dem mod beschäftigen, bei dem einen ist mehr dabei als ich möchte (bithdaymod), bei dem anderen find ich gar nix zu meiner frage obewohl sie doch (denke ich) recht simpel zu beantworten sein müßte.

mein ziel:
auf der index.php (ich ab kein portal) "einfach" eine kleine tabelle über dem forum erscheinen lassen, in der die termine der nächsten z.B. 14 tage aufgezählt werden. layout und alles drumherum soll halt mit den anderen tabellen übereinstimmen. über dem forum ist momentan eine tabelle, in der die letzten postings aufgeführt sind, auf gleicher höhe (=nebeneinander) soll dann halt die termintabelle mit gleichem layout (tabellenkopf, schriftgröße, ...) stehen.

ich hab mir auch das tutorial von kloeschen/dwing zu gemüte geführt, da wird jedoch noch der birthday mod miteingebaut (den ich aber nicht möchte).

geht das nicht einfacher?

könnt ihr mir helfen?

vielen dank schon vorab!

Verfasst: 30.09.2002 16:36
von sidragon
Also ich habe das so gemacht :
in der index.php suche
//
// Start output of page
//

davor fügst du ein:

Code: Alles auswählen

//--- TERMINE

$num = 60; 				// number of days to look ahead 
			$calpath = "http://www.pferdchen-online.de/Forum/calendar.php"; 	// full URL to calendar.php 
			$mainpath = "./";	 				// local path to phpBB config file 
			$peeklen = 20;							// subject character length
			$datefirst = '';						// display the date in which order 'month' = Month/Day
								
          

include_once($mainpath.'cal_settings.php'); 
$today = date("Y-m-d") . " 00:00:00"; 
$window = date("Y-m-d", mktime(0,0,0,date("m"),date("d")+$num,date("Y"))); 
    
$sql_c = "SELECT * FROM ". $table_prefix . $tablename; 
$sql_c .= " WHERE eventspan >= '$today' AND stamp <= '$window'"; 
$sql_c .= " ORDER BY eventspan"; 


$result_c = mysql_db_query($dbname, $sql_c); 

if ($result_c) 
		{ 
	while ($row_c = mysql_fetch_row($result_c)) 
		{ 
		$row_c[2] = substr($row_c[2], 0, 10);
		$evntdate = split("-", $row_c[2]); 
		if ($datefirst == 'month') { $shortdate = $evntdate[1] . "/" . $evntdate[2]; }
		else { $shortdate = $evntdate[2] . "/" . $evntdate[1]; }
		$link = $calpath."?mode=display&day=".$evntdate[2]; 
		$link .= "&month=".$evntdate[1]."&year=".$evntdate[0]; 
		$link = ereg_replace("=0", "=", $link); 
		$curevnt = $row_c[3]; 
		if (strlen($curevnt) > ($peeklen+3)) 
			{ 
			$curevnt = substr($curevnt, 0, $peeklen) . "..."; 
			}
		else 
			{ 
			$curevnt = $curevnt; 
			} 
		$xxoutput = "<A title=\"$row_c[3]\"  HREF='$link'>".$shortdate."\:".$curevnt."</A><BR>\n"; 
		$TER= $TER.stripslashes($xxoutput); 
	}  
}else $TER= "<center><i>Keine Termine in den nächsten 2 Monaten</i></center>";  
dann weiter unten:
zB. nach

'L_ONLINE_EXPLAIN' => $lang['Online_explain'],

fügst du :

'P_TER' => $TER,

ein.

in deiner index_body.tpl dann die Tabelle:

Code: Alles auswählen

<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
        <tr> 
          <td class="catHead" height="28"><span class="cattitle">Termine </span></td>
        </tr>
        <tr> 
          <td class="row1" align="left" width="100%"><span class="gensmall"><b>{P_TER}</b></span> 
          </td>
        </tr>
      </table>
Da ich mir nicht sicher bin, ob ich alles nötige auf die Schnelle rausgeschnipselt hab ist die komplette index.php und index_body.tpl hier
http://clanunity.net/forum/viewtopic.php?t=835 zu finden...

Verfasst: 31.12.2002 04:53
von omitter
ich habe calpeek in mein forum (http://forum.bf-42.org) eingebaut, aber nicht in die index_body.tpl, sondern in die overall_header.tpl.
das klappt auch auf den ersten blick ganz gut, das calpeek-element wird auf der startseite rechts oben mit den fälligen terminen angezeigt. klickt man jedoch in ein forum oder benutzt irgendeine andere navigation (suche, mitgliederliste etc.) taucht zwar das calpeek-element auf, doch die kalendereinträge fehlen.
kann mir jemand sagen, was ich falsch mache?

Verfasst: 31.12.2002 08:11
von sidragon
in welche php-Datei hast due denn die Abfragen eingebunden?

Verfasst: 31.12.2002 13:46
von omitter
in der index.php

Verfasst: 31.12.2002 15:08
von Gast
der code in der index.php sieht bei mir so aus:

Code: Alles auswählen

//my_cal_peek 
$cal_num = 14;                      // number of days to look ahead 
$peeklen = 20;                     // subject character length 
$datefirst = '';                  // display the date in which order 'month' = Month/Day 
                        //    (Default: Day/Month) 
include_once('./cal_settings.php'); 
$today = date("Y-m-d") . " 00:00:00"; 
$window = date("Y-m-d", mktime(0,0,0,date("m"),date("d")+$cal_num,date("Y"))); 
$sql = "SELECT * FROM ". $table_prefix . $tablename; 
$sql .= " WHERE eventspan >= '$today' AND stamp <= '$window'"; 
$sql .= " ORDER BY eventspan"; 
$result = $db->sql_query($sql); 
$result = mysql_db_query($dbname, $sql); 
if ($result) 
   { 
   while ($row = mysql_fetch_array($result)) 
      { 
      $row[stamp] = substr($row[stamp], 0, 10); 
      $evntdate = split("-", $row[stamp]); 
      if ($datefirst == 'month') { $shortdate = $evntdate[1] . "." . $evntdate[2] . "." ; } 
      else { $shortdate = $evntdate[2] . "." . $evntdate[1] . "."; } 
      $link = "calendar.php?mode=display&day=".$evntdate[2]; 
      $link .= "&month=".$evntdate[1]."&year=".$evntdate[0]; 
      $link = ereg_replace("=0", "=", $link); 
      $curevnt = $row[subject]; 
      if (strlen($curevnt) > ($peeklen+3)) 
         { 
         $curevnt = substr($curevnt, 0, $peeklen) . "..."; 
         } 
      else 
         { 
         $curevnt = $curevnt; 
         } 
      $template->assign_block_vars('calpeek', array( 
            'LINK' => $link, 
            'DATE' => $shortdate, 
            'EVENT' => $curevnt,
			'CONTENT' => $content 
            ) 
         ); 
   } # end of while 
} 

//end of my_cal_peek 
ich habe beim editieren der dateien lang_main.php, index.php und overall_header.tpl an die anleitung unter http://www.phpbb2.de/phpBB/viewtopic.php?p=7146 gehalten - mit dem unterschied, dass ich nicht die index_body.tpl, sondern die overall_header.tpl editiert habe. darüber hinaus habe ich die birthday-peeks nicht verwendet und habe die entsprechenden passagen im code weggelassen. danke für eure hilfe, ich bin leider ziemlich unbeholfen mit php und vor allem in der struktur von phpbb blicke ich überhaupt nicht durch...