wie in der Überschrift gesagt würde ich gerne einen stets aktuellen Clubplan haben.
Momentan muss ich täglich im Backend den Start- und Endzeitpunkt manuell aktualisieren.
Meinem sehr schwachen Verständnis für PHP nach müssten die folgenden Code-Ausschnitte für meine Anpassung verantwortlich sein. Für mein Verständnis schreibe ich noch etwas dazu, aber es wäre super, wenn mir jemand bei der Anpassung helfen könnte. Meine plumpen Versuche endeten meistens im Chaos ohne dass ich überhaupt herauslesen konnte woran genau es lag.
Datei view.html.php im Ordner com_joomleague>views>clubplan
Code: Select all
$this->assignRef('startdate',$model->getStartDate());
$this->assignRef('enddate',$model->getEndDate());
// hier werden meines Erachtens die "Return" werte aus den Funktionen "getStart/EndDate" übertragen
Datei default_datenav.php im Ordner com_joomleague>views>clubplan>tmpl
Code: Select all
<?php
echo JHTML::calendar(JoomleagueHelper::convertDate($this->startdate,1),'startdate','startdate',$dateformat);
echo ' - '.JHTML::calendar(JoomleagueHelper::convertDate($this->enddate,1),'enddate','enddate',$dateformat);
?>
// hier vermute ich die tatsächliche Ausgabe (durchs Echo) und den Kalender.
Datei clubplan im Ordner com_joomleague>models
Code: Select all
var $startdate = null;
var $enddate = null;
//werden hier die Werte der Variablen gelöscht, sodass zu Beginn erstmal kein Wert steht?
[b]Funktionen:[/b]
Code: Select all
function __construct()
{
[...]
parent::__construct();
$this->setStartDate(JRequest::getVar("startdate", $this->startdate,'request','string'));
$this->setEndDate(JRequest::getVar("enddate",$this->enddate,'request','string'));
}
//
Code: Select all
function getStartDate()
{
$config=$this->getTemplateConfig("clubplan");
if (empty($this->startdate))
{
$dayz=$config['days_before']; //$dayz=6;
$prevweek=mktime(0,0,0,date("m"),date("d")- $dayz,date("y"));
$this->startdate=date("Y-m-d",$prevweek);
}
if($config['use_project_start_date']=="1")
{
$project=$this->getProject();
$this->startdate=$project->start_date;
}
return $this->startdate;
}
// also wenn ich im Backend in den Seiteneinstellungen die Option Use the project start date? aktiviere sucht er sich den Startpunkt raus... das will ich ja aber gar nicht, daher ist das feld deaktiviert und die 2.If abfrage uninteressant. Die erste If Abfrage bezieht sich wohl auf das Startdatum, was ich im Menü punkt einstelle, und die x Tage, die ich im Backend in den Seiteneinstellungen angebe.
Code: Select all
function getEndDate()
{
if (empty($this->enddate))
{
$config=$this->getTemplateConfig("clubplan");
$dayz=$config['days_after']; //$dayz=6;
$nextweek=mktime(0,0,0,date("m"),date("d")+ $dayz,date("y"));
$this->enddate=date("Y-m-d",$nextweek);
}
return $this->enddate;
}
// analog zur Funktion getStartDate()
Code: Select all
function setStartDate($date)
{ // should be in proper sql format
if (strtotime($date))
{
$this->startdate=strftime("%Y-%m-%d",strtotime($date));
}
else
{
$this->startdate=null;
}
}
Code: Select all
function setEndDate($date)
{
// should be in proper sql format
if (strtotime($date))
{
$this->enddate=strftime("%Y-%m-%d",strtotime($date));
}
else
{
$this->enddate=null;
}
}
// wofür diese beiden Funtkionen da sind erschließt sich mir nicht wirklich... Steht hier einfach nur eine Abfrage, ob das Datum auch im richtigen Format angegeben wurde? (andernfalls soll die Variable leer bleiben, damit das Programm später nicht crashed?)
Es wäre super, wenn mir jemand dabei helfen könnte. Hab ich vllt. auch einfach nur noch eine Datei übersehen, welche verantwortlich ist?
anbei wollte ich kurz darauf hinweisen, dass es seit paar tagen nicht mehr möglich ist, dieses forum mit mozilla 6.02 anzusteuern weil man im Wrapper nicht scrollen kann (wurde dies in den letzten tagen geändert?)
Ich weiß nicht, in welches forum dieses Problem gehört, deshalb hoffe ich, dass der ein oder andere vom Team drüber schaut und dies weiterleitet.