Entwickler.HowToOutputSeminarDates History

Hide minor edits - Show changes to markup

 
 
April 01, 2011, at 11:12 PM by tthelen -
Added lines 1-2:

(:redirect 'http://docs.studip.de/develop/Entwickler/HowToOutputSeminarDates':)

 
 
November 11, 2010, at 11:32 AM by anoack -
Changed lines 75-82 from:
    'turnus_data' => Array(
      'metadate_id'    
      'idx'            // deprecated
      'day'             
      'start_hour'     
      'start_minute'   
      'end_hour'       
      'end_minute'     
to:
    'turnus_data' => Array(  //jeweils CycleData::toArray() + 'first_date'
      'metadate_id'
      'seminar_id'
      'start_time'     //Format hh::mm:ss
      'end_time'       //Format hh::mm:ss
      'weekday'        //Montag=1 (wie day)
      'description'    //wie desc
      'sws'            //Semesterwochenstunden Dozent
      'cycle'          //Turnus 0=wöchentlich, 1=zweiwöchentlich,3=dreiwöchentlich
      'week_offset'    //Startwoche im Semester, 0=1. Semesterwoche
      'sorter'
      'mkdate'
      'chdate'         //
      'start_hour'     //hh
      'start_minute'   //mm
      'end_hour'       //hh
      'end_minute'     //mm
      'day'      
Deleted lines 93-94:
      'room'           // deprecated
      'resource_id'    // deprecated
Changed lines 105-107 from:
    'art'         
    'start_woche'      // Zahl der Wochen ab Semesterbeginn, wann die Veranstaltung anfängt (0-x)
    'turnus'           // 0: wöchentlich, 1: zwei-wöchentlich
to:
      'first_date' => Array('termin_id', //Erster Einzeltermin dieser Serie
                             …
      )
 
 
November 05, 2010, at 06:22 PM by tgloeggl -
Changed line 41 from:

echo $seminar->getDatesTemplate('dates/seminar_location.php');

to:

echo $seminar->getDatesTemplate('dates/seminar_html_location.php');

 
 
November 05, 2010, at 06:22 PM by tgloeggl -
Changed lines 125-132 from:

Beispiel dates_html.php: (:source lang=php linenum:)[@ <? if (!isset($link)) $link = true ?> <?= $date->toString() ?> <? if ($date->getResourceId()) : ?>

    <?= _(", Ort:") ?>
    <?= implode(', ', getFormattedRooms(array($date->getResourceId() => '1'), $link)); ?>

<? endif ?>

to:

Beispiel date_html.php: (:source lang=php:)[@ <?php if (!isset($link)) $link = true; echo $date->toString(); if ($date->getResourceId()) :

    echo ', '.  _("Ort:") .' ';
    echo implode(', ', getFormattedRooms(array($date->getResourceId() => '1'), $link));

endif ?>

 
 
November 05, 2010, at 06:18 PM by tgloeggl -
Added lines 26-30:

Je nach Kürzel werden Nutzerdaten innerhalb der Templates wie folgt bearbeitet:

  • _html: htmlReady
  • _xml: htmlspecialchars
  • _export: gar nicht.
 
 
November 05, 2010, at 06:12 PM by tgloeggl -
 
 
November 05, 2010, at 06:12 PM by tgloeggl -
Added lines 134-137:

date_export.php

keine Parameter vorhanden

Changed line 179 from:

seminar_predominant.php

to:

seminar_predominant_html.php

 
 
November 05, 2010, at 06:11 PM by tgloeggl -
Added line 16:

date_export.php

Changed lines 23-24 from:

seminar_predominant.php

to:

seminar_predominant_html.php seminar_xml.php

 
 
July 12, 2010, at 08:58 AM by tgloeggl -
Changed line 3 from:

Dieses Feature gibt es seit Stud.IP Version 2.0

to:

Dieses Feature gibt es seit Stud.IP Version 2.0

 
 
July 12, 2010, at 08:58 AM by tgloeggl -
Added lines 2-3:

Dieses Feature gibt es seit Stud.IP Version 2.0

 
 
July 06, 2010, at 02:35 PM by tgloeggl -
Added lines 154-155:

keine Parameter vorhanden

Changed lines 171-179 from:

seminar_predominant.php

to:

seminar_predominant.php

link - boolean
  true: default, Links zu den belegten Räumen anzeigen
  false: Nur den Raumnamen ohne Verlinkung anzeigen

show - int
  Hier legt man fest, wieviele Räume/Freitexteintragungen bei Terminserien angezeigt werden, bevor "und x weitere" angezeigt wird.
 
 
July 06, 2010, at 02:26 PM by tgloeggl -
Changed line 105 from:
    'raum'        // freie Ortsanagbe zu diesem Termine
to:
    'raum'        // freie Ortsangabe zu diesem Termine
 
 
July 06, 2010, at 02:26 PM by tgloeggl -
Changed line 105 from:
    'raum'        // deprecated
to:
    'raum'        // freie Ortsanagbe zu diesem Termine
Added lines 143-144:

keine Parameter vorhanden

Added lines 146-150:
show_room - boolean
  true: default, Räume der Terminserien anzeigen
  false: keine Räume bei den Terminserien anzeigen
 
 
July 06, 2010, at 02:08 PM by tgloeggl -
Added line 142:
Added line 144:
Added line 146:
Added lines 148-161:
link - boolean
  true: default, Links zu den belegten Räumen anzeigen
  false: Nur den Raumnamen ohne Verlinkung anzeigen

show_room - boolean
  true: default, Räume der Terminserien anzeigen
  false: keine Räume bei den Terminserien anzeigen

link_to_dates - boolean
  true: Fügt einen Link zum Ablaufplan ein
  false: default
 
 
July 06, 2010, at 02:03 PM by tgloeggl -
Changed lines 124-145 from:

@]

to:

@]

Parameter für Templates

An manche Templates kann man Parameter übergeben, um die Ausgabe zu beinflussen. Nachfolgend sind alle Parameter der Standardtemplates aufgelistet.

date_html.php

link - boolean
  true: default, Links zu den belegten Räumen anzeigen
  false: Nur den Raumnamen ohne Verlinkung anzeigen

date_xml.php

keine Parameter vorhanden

seminar_export_location.php

seminar_export.php

seminar_html_location.php

seminar_html.php

seminar_predominant.php

 
 
July 06, 2010, at 01:55 PM by tgloeggl -
Changed lines 7-10 from:

Möchte man nun eine Termindarstellung für ein Seminare oder einen Einzeltermin haben, so benötigt man entsprechend eine Instanz von Seminar bzw. SingleDate.

Beide Klassen bieten 4 Objektmethoden, 3 um sich häufig benötigte Darstellungen geben zu lassen, eine um ein selbst definiertes Template zu übergeben.

to:

Möchte man nun eine Termindarstellung für ein Seminar oder einen Einzeltermin haben, so benötigt man entsprechend eine Instanz von Seminar bzw. SingleDate.

Beide Klassen bieten vier Objektmethoden, drei um sich häufig benötigte Darstellungen geben zu lassen, eine um ein selbst definiertes Template zu übergeben.

Changed line 12 from:

Die Standardtemplates für die Darstellung liegen in templates/dates:

to:

Die Standardtemplates für die Darstellung liegen in templates/dates:

Changed lines 25-26 from:

Um sich Veranstaltungstermine anzeigen zu lassen, benötigt man lediglich eine Instanz der Seminar-Klasse und ruft dort die entpsrechende Methode auf.

to:

Um sich Veranstaltungstermine anzeigen zu lassen, benötigt man lediglich eine Instanz der Seminar-Klasse und ruft dort die entsprechende Methode auf.

Changed line 28 from:

$seminar = Seminar::getInstance(seminar_id);

to:

$seminar = Seminar::getInstance(seminar_id);

Changed lines 48-49 from:

$seminar = Seminar::getInstance(seminar_id); $singleDate = new SingleDate(termin_id);

to:

$singleDate = new SingleDate(termin_id);

Changed line 66 from:
    'turnus_data' = Array(
to:
    'turnus_data' => Array(
Changed line 113 from:

Hier kann man im Template auf die Variable $date zugreifenm welche eine Instanz der SingleDate-Klasse beinhaltet.\\

to:

Hier kann man im Template auf die Variable $date zugreifen, welche eine Instanz der SingleDate-Klasse beinhaltet.\\

 
 
July 06, 2010, at 01:38 PM by tgloeggl -
Changed lines 95-108 from:
    'metadate_id' => $val->getMetaDateID(),
    'termin_id'   => $val->getTerminID(),
    'date_typ'    => $val->getDateType(),
    'start_time'  => $val->getStartTime(),
    'end_time'    => $val->getEndTime(),
    'mkdate'      => $val->getMkDate(),
    'chdate'      => $val->getMkDate(),
    'ex_termin'   => $val->isExTermin(), 
    'range_id'    => $val->getRangeID(),
    'author_id'   => $val->getAuthorID(),
    'resource_id' => $val->getResourceID(),
    'raum'        => $val->getFreeRoomText(),
    'typ'         => $val->getDateType(),
    'tostring'    => $val->toString()
to:
    'metadate_id' 
    'termin_id'   
    'date_typ'    
    'start_time'  
    'end_time'    
    'mkdate'      
    'chdate'      
    'ex_termin'   
    'range_id'    
    'author_id'   
    'resource_id' 
    'raum'        // deprecated
    'typ'         
    'tostring'    
 
 
July 06, 2010, at 01:05 PM by tgloeggl -
Changed lines 58-59 from:

Ein eigenes Template für die Formatierung zu erstellen ist nicht weiter schwierig.

to:

Ein eigenes Template für die Formatierung zu erstellen ist nicht weiter schwierig. Das neue Template legt man am Besten nach templates/dates

Changed lines 62-111 from:
to:

Im Template hat man Zugriff auf die Variable $dates, welche die reglmäßigen Terminserien sowie die unregelmäßigen Einzeltermine enthält.
Dieses Array wird von Seminar::getUndecoratedData geliefert, der Aufbau ist wie folgt:

(:source lang=php:)
Array(
  'regular' => Array(
    'turnus_data' = Array(
      'metadate_id'    
      'idx'            // deprecated
      'day'             
      'start_hour'     
      'start_minute'   
      'end_hour'       
      'end_minute'     
      'desc'           // Beschreibung dieser Terminserie
      'room'           // deprecated
      'resource_id'    // deprecated
      'assigned_rooms' => Array( // Räume, die den Einzelterminen dieser Terminserie zugeordnet sidn
        resource_id    => Anzahl Einzeltermine mit diesem Raum,
        ...
      ),
      'freetext_rooms' => Array( // Freitextangaben der Einzeltermine dieser Terminserie
        text           => Anzahl Einzeltermine mit dieser Freitextangabe,
        ...
      ),
      'tostring'       // der Rückgabewert von CycleData::toString()
      'tostring_short' // der Rückgabewert von CycleData::toString(true)
    ),
    'art'         
    'start_woche'      // Zahl der Wochen ab Semesterbeginn, wann die Veranstaltung anfängt (0-x)
    'turnus'           // 0: wöchentlich, 1: zwei-wöchentlich
  ),

  'irregular' =>
    'metadate_id' => $val->getMetaDateID(),
    'termin_id'   => $val->getTerminID(),
    'date_typ'    => $val->getDateType(),
    'start_time'  => $val->getStartTime(),
    'end_time'    => $val->getEndTime(),
    'mkdate'      => $val->getMkDate(),
    'chdate'      => $val->getMkDate(),
    'ex_termin'   => $val->isExTermin(), 
    'range_id'    => $val->getRangeID(),
    'author_id'   => $val->getAuthorID(),
    'resource_id' => $val->getResourceID(),
    'raum'        => $val->getFreeRoomText(),
    'typ'         => $val->getDateType(),
    'tostring'    => $val->toString()
);
Deleted line 124:

@]

 
 
July 06, 2010, at 12:52 PM by tgloeggl -
Added lines 41-42:

Eine vollständige Liste aller Parameter der Standardtemplates befindet sich weiter unten.

Changed lines 58-77 from:

Ein eigenes Template für die Formatierung zu erstellen ist nicht weiter schwierig

to:

Ein eigenes Template für die Formatierung zu erstellen ist nicht weiter schwierig.

Veranstaltungstermine

Einzeltermine

Hier kann man im Template auf die Variable $date zugreifenm welche eine Instanz der SingleDate-Klasse beinhaltet.
Dementsprechend sind darüber auch alle Instanzmethoden verfügbar.

Beispiel dates_html.php:

(:source lang=php linenum:)
<? if (!isset($link)) $link = true ?>
<?= $date->toString() ?>
<? if ($date->getResourceId()) : ?>
    <?= _(", Ort:") ?>
    <?= implode(', ', getFormattedRooms(array($date->getResourceId() => '1'), $link)); ?>
<? endif ?>

@]

 
 
July 06, 2010, at 12:49 PM by tgloeggl -
Added line 11:

Templates

Changed lines 23-30 from:

HTML

Export

XML

Selbstdefiniertes Template

to:

Veranstaltungstermine - Beispiele

Um sich Veranstaltungstermine anzeigen zu lassen, benötigt man lediglich eine Instanz der Seminar-Klasse und ruft dort die entpsrechende Methode auf.

(:source lang=php linenum:)
$seminar = Seminar::getInstance(''seminar_id'');
echo $seminar->getDatesHTML();
echo $seminar->getDatesExport();
echo $seminar->getDatesXML();
echo $seminar->getDatesTemplate('dates/seminar_location.php');

Es besteht außerdem die Möglichkeit, dem Template Parameter mitzuliefern. Im folgenden Beispiel wird die Verlinkung des Raumes abgeschaltet.

(:source lang=php linenum:)
echo $seminar->getDatesHTML(array('link' => false));

Einzeltermin - Beispiele

Gleiches gilt für Einzeltermine - Instanzobjekt erzeugen, passende Methode aufrufen.

(:source lang=php linenum:)
$seminar = Seminar::getInstance(''seminar_id'');
$singleDate = new SingleDate(''termin_id'');
echo $singleDate->getDatesHTML();
echo $singleDate->getDatesExport();
echo $singleDate->getDatesXML();
echo $seminar->getDatesTemplate('dates/date_html.php');

Eigenes Template erstellen

Ein eigenes Template für die Formatierung zu erstellen ist nicht weiter schwierig

 
 
July 06, 2010, at 12:41 PM by tgloeggl -
Added lines 12-14:

[@ date_html.php date_xml.php

Changed lines 19-20 from:

seminar_predominant.php

to:

seminar_predominant.php @]

Added line 23:
 
 
July 05, 2010, at 04:33 PM by tgloeggl -
Added lines 10-16:

Die Standardtemplates für die Darstellung liegen in templates/dates: seminar_export_location.php seminar_export.php seminar_html_location.php seminar_html.php seminar_predominant.php

 
 
July 05, 2010, at 04:25 PM by tgloeggl -
Added lines 1-17:

Veranstaltungstermine darstellen

(:toc:)

Für die Darstellung von Veranstaltungsterminen werden die Daten aus Seminar::getUndecoratedData an ein Template übergeben, welches dann die Darstellung dieser Daten übernimmt.

Möchte man nun eine Termindarstellung für ein Seminare oder einen Einzeltermin haben, so benötigt man entsprechend eine Instanz von Seminar bzw. SingleDate.

Beide Klassen bieten 4 Objektmethoden, 3 um sich häufig benötigte Darstellungen geben zu lassen, eine um ein selbst definiertes Template zu übergeben.

HTML

Export

XML

Selbstdefiniertes Template

 

 

Source: Basis-Wiki-Hilfe | Last change: April 01, 2011, at 11:12 PM, tthelen | Local view: Basis-Hilfe