Projekte aus der Forschungsdatenbank mittels PHP einbinden (Besonderheit, da Parameterauswertung)
Die Besonderheit bei der Einbindung von Projekten ist, dass der URL-Parameter projectId
ausgewertet werden muss.
Dies geschieht im untenstehenden Beispiel durch Weitergabe an den Parameter Lfdnr
an die Forschungsdatenbank.
if (isset($_REQUEST['projectId'])) { $fdb->setFDBParameter('Lfdnr',$_REQUEST['projectId']); }
Durch Übergabe dieses Parameters wird die Forschungsdatenbank angewiesen nur dieses eine Projekt auszugeben. Sofern nur ein Projekt im XML vorhanden ist, zeigt das XSLT-Stylesheet dann die ausführliche Darstellung des Projektes an.
Zusätzlich wird am Ende noch ein Link ausgegeben, der es ermöglicht zur Liste aller Projekte zurückzuspringen.
- fdb-ira-projects.php
<!-- start FDB Code --> <!-- We include the minified jquery for the fancy javascripts --> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"> </script> <?php # Alle Fehler zurueckmelden error_reporting(E_ALL); # nicht fuer den Produktionsbetrieb, Fehler anzeigen ini_set('display_errors',1); # Bibliothek laden require_once('../fdb/php/lib/fdb.class.php'); # FDB-Klasse initialisieren $fdb = new de\uni_freiburg\tf\fdb\FDB('../fdb/xsl/forschdb_utf8_chermann.xsl'); # Parameter fuer FDB festlegen # Kostenstelle definieren $fdb->setFDBParameter('Kostenstelle','110113'); $fdb->setFDBParameter('Dokumentart','Projekt'); # So koennen die aktuell gesetzten Parameter ausgegeben werden # var_dump($fdb->getFDBParameters()); # Wenn Parameter projectId uebergeben, dann nur dieses eine Projekt ausgeben if (isset($_REQUEST['projectId'])) { $fdb->setFDBParameter('Lfdnr',$_REQUEST['projectId']); } # Keine nach oben links anzeigen $fdb->setXsltParameter('enable_totop_backlink','false'); # Sprache anpassen, abhaengig von dem Parameter lang in der session # Array zur Uebersetzung von $_SESSION['lang'] (DE,EN) in die Kuerzel, die das XSL erwartet (D,E) $langArray = array( 'EN' => 'E', 'DE' => 'D' ); if (isset($_SESSION['lang']) && in_array($_SESSION['lang'], array_keys($langArray))) { # Sprache setzen $fdb->setXsltParameter("language", $langArray[$_SESSION['lang']]); } else { # fuer den Fall, dass die Sprache nicht bekannt ist, Standard-Sprache (Deutsch) waehlen $fdb->setXsltParameter("language", "D"); } # 24h * 30 Tage $cacheLifetime = 24 * 60 * 60 * 30; # Cache nur neu schreiben, wenn er ungueltig ist $fdb->writeCacheFileIfCacheExpired($cacheLifetime); # Cache in die Ausgabe einbinden $fdb->includeCacheInOutput(); ?> <br clear="all" /> <br /> <?php # Wenn Parameter projectId uebergeben, dann Zurueck-Link anzeigen if (isset($_REQUEST['projectId'])) { if (isset($_SESSION['lang']) && $_SESSION['lang'] == "EN") { ?><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Back to the list</a><?php } else { ?><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Zurück zur Projekt-Liste</a><?php } } ?> <!-- end FDB Code -->