Willkommen auf dem TF-Infoportal Wiki.

Hier finden Sie alle Informationen über das TF-Infoportal, das Support-System OTRS und das Electures-Portal an der Technischen Fakultät.
Eine globale Navigation finden Sie im Menu links, zur Startseite geht es hier.

Dies ist eine alte Version des Dokuments!


Projekte aus der Forschungsdatenbank mittels PHP einbinden

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&uuml;ck zur Projekt-Liste</a><?php
    }
  }
 
?>
<!-- end FDB Code -->
QR-Code
QR-Code tf-infoportal:dokumentation:php:php-bibliothek-nutzung-projekte (erstellt für aktuelle Seite)