Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Calendar-Plugin: neues Feld

Begonnen von rolinux, 27. November 2010, 12:44:11

« vorheriges - nächstes »

rolinux

Hallo,

ich würde gerne ein zusätzliches Feld in das Calendar-Plugin einbauen. Ich meine, dass ich gemäß der Readme.txt alles richtig gemacht habe, aber meine PHP-Kenntnisse sind gleich null.
Das Feld heißt "Gruppe" und ich habe es überall da angegeben, wo auch "Ort" angegeben ist.

Hier mal der Code der con_db.php, so wie er momentan aussieht:
<?php//open db or create new dbfunction db($lang) {    $db = new FFDB();    if(!$db->open("calendar")) {        // Define the database shema.        // Note that the "last_name" field is our key.        # Achtung FFDB_INT_AUTOINC und FFDB_ARRAY wird hier von mir nicht unterstützt        $schema = array(                array("event_key", FFDB_INT, "key"),                array("event_name", FFDB_STRING),                array("event_description", FFDB_STRING),                array("event_submitted_by", FFDB_STRING),                array("event_month", FFDB_INT),                array("event_day", FFDB_INT),                array("event_year", FFDB_INT),                array("event_color", FFDB_STRING),                array("event_ort", FFDB_STRING),                array("event_gruppe", FFDB_STRING)      //RL27112010            );        // Try and create it...        if(!$db->create("calendar", $schema)) {            $messages[0]['error'] = $lang['lang']['error_create'];            return array(false,$messages);        }    }    return array($db,NULL);}function getUserDaten() {    # Achtung die müssen zugeortnet werden aus dem $schema -------------------------    $cal_daten['event_name'] = 'event_name'; # ist Termin und Listen Link    $cal_daten['event_year'] = 'event_year';    $cal_daten['event_month'] = 'event_month';    $cal_daten['event_day'] = 'event_day';    # Farbe zum hervorhebn in der Termin Liste wird nicht angezeit als eintrag    $cal_daten['show_color'] = 'event_color';    return $cal_daten;}function tempplateListAll_ListDay($db,$lang,$year,$month,$day,$cal_daten,$list_day) {    list($titel, $result) = getListAll_ListDay($db,$lang,$year,$month,$day,$cal_daten,$list_day);    if(!$result) {        $template[] = array('no_event' => $lang['lang']['no_event']);        return array($titel,$template);    }    # ab hier ist das template    foreach($result as $event) {        $template[$event[$cal_daten['key_feld']]] =  array(                "event_color" => $event['event_color'],                "event_name" => $event['event_name'],                # show_date ist vorgegeben und ist fürs datum gedacht                "show_date" => $event['event_day'].' '.$lang['month'][$event['event_month']].', '.$event['event_year'],                "event_ort" => $event['event_ort']                "event_gruppe" => $event['event_gruppe'] //RL27112010                );    }    return array($titel,$template);}# Template für Terminefunction tempplateEvent($db,$cal_daten,$lang,$eventNumber) {    if($GLOBALS['root'] and $eventNumber == "add") {        $record = emptyEvent($db,$cal_daten);    } else        $record = $db->getbykey($eventNumber);    if(!$record)        return false;    # $schema key Lang => $schema value Inhalt    if($GLOBALS['root']) {        return  array(            # Achtung hier müssen alle schema felder aufgelistet sein auser            # das feld mit dem key            "event_name" => '<INPUT type="text" name="event_name" value="'.$record['event_name'].'" size="20" maxlength="100" class="edit_input">',            "event_description" => '<textarea name="event_description" cols="30" rows="5" class="edit_textarea">'.$record['event_description'].'</textarea>',            # show_date ist vorgegeben und ist fürs datum gedacht            "event_color" => makeSelect($record['event_color'],$lang,$lang['lang']['show_color'],"event_color"),            "event_ort" => '<INPUT type="text" name="event_ort" value="'.$record['event_ort'].'" size="20" maxlength="100" class="edit_input">',            "event_gruppe" => '<INPUT type="text" name="event_gruppe" value="'.$record['event_gruppe'].'" size="20" maxlength="100" class="edit_input">',       //RL27112010            "show_date" => makeSelect($record['event_day'],$lang,"1","event_day")."&nbsp;&nbsp;".                        makeSelect($record['event_month'],$lang,"2","event_month")."&nbsp;&nbsp;".                        makeSelect($record['event_year'],$lang,"3","event_year"),            "event_submitted_by" => '<INPUT type="text" name="event_submitted_by" value="'.$record['event_submitted_by'].'" size="20" maxlength="100" class="edit_input">'            );    } else { # Normale Ansicht        return array(            "event_name" => $record['event_name'],            "event_description" => $record['event_description'],            "event_color" => $record['event_color'],            "event_ort" => $record['event_ort'],            "event_gruppe" => $record['event_gruppe'],  //RL27112010            # show_date ist vorgegeben und ist fürs datum gedacht            "show_date" => $record['event_day'].' '.$lang['month'][$record['event_month']].', '.$record['event_year']            );    }}?>
Die Änderungen sind mit "//RL27112010" markiert.

In der lang_deDE.php habe ich das Feld "event_gruppe" auch eingetragen:
               "event_ort" => "Ort",
                "event_gruppe" => "Gruppe",     //RL27112010
                # Definierte für Liste und Termin
                # farbe "#000000" oder keine farbe "none" => "Text" wird als selectbox verwendet
                "show_color" => array('none' => 'eigene Veranstaltung','#9CE79C' => 'andere Gruppe/Landesverband'),#'#00ff00' => 'Grün','#0000ff' => 'Blau'),
                "show_date" => "Datum",

Das Ergebnis ist eine leere Seite: http://www.badischer-dachshund.de/index.php?cat=00_Startseite&page=Test

Wenn ich die Änderungen auskommentiere, funktioniert das Plugin einwandfrei.

Was ist falsch?

Gruß
Rolf
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

"Die Deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."
(Verfasser unbekannt)

stefanbe

#1
    # ab hier ist das template
    foreach($result as $event) {
        $template[$event[$cal_daten['key_feld']]] =  array(
                "event_color" => $event['event_color'],
                "event_name" => $event['event_name'],
                # show_date ist vorgegeben und ist fürs datum gedacht
                "show_date" => $event['event_day'].' '.$lang['month'][$event['event_month']].', '.$event['event_year'],
                "event_ort" => $event['event_ort']
                "event_gruppe" => $event['event_gruppe'] //RL27112010
                );
    }
    return array($titel,$template);
 
hinter "event_ort" => $event['event_ort'] fehlt ein komma

gruss stefanbe

rolinux

#2
Ups...  :oops:
Vielen Dank. Und jetzt muss das Plugin den Wert aus dem neuen Feld noch im Datensatz speichern. Woran kann das jetzt liegen?
Gibt es was, um php-Dateien zu debuggen?

Gruß
Rolf
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

"Die Deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."
(Verfasser unbekannt)

stefanbe

#3
du must die calendar.dat/met löschen

gruss stefanbe

rolinux

#4
Es tut! :P
Vielen Dank.

Gruß
Rolf
"Vergiss nie, dass die Musik viel zu wichtig ist,
um sie ganz den Profis zu überlassen."
(Robert Fulghum, amerikanischer Philosoph)

"Die Deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."
(Verfasser unbekannt)