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!


Projektliste nach parametrisierbarem Stichwort filtern (XSLTrans, Dynamic Documents)

Vorausgesetzte Kenntnisse: HTML, TAL, Python

Im folgenden wird ein Workaround vorgestellt, mit dem es möglich ist, mit Hilfe eines XSLTrans Dokuments, sowie eines Dynamic Documents Projektlisten auszugeben, die mittels eines Parameters (keywords) nach dem Stichwort in der Forschungsdatenbank gefiltert werden können.

Zuerst muss man wie üblich ein XSLTrans Dokument anlegen mit den üblichen Parametern, um eine Projektliste auszugeben. Weitere Informationen dazu findet man z.B. bei der Beschreibung zur Erstellung einer Projektliste. Dieses XSLTrans Dokument nennen wir in unserem Beispiel xsltrans_master_forschungsthemen und merken uns diesen Kurznamen, da er weiterverwendet wird.

Die Änderungen an diesem XSLTrans müssen wiederum für Anonyme Besucher erlaubt werden. Siehe dazu Beschreibung zur Erstellung einer Projektliste.

Anschliessend erstellt man ein Dynamic Document, in dem dieses XSLTrans referenziert wird. Der Quellcode für dieses Dynamic Document sieht dann wie folgt aus:

<div tal:define="kostenstelle python:str('1102*')">
  <div tal:define="projectid python:str(context.REQUEST.get('projectId',''));">
    <div tal:define="keyword python:str(context.REQUEST.get('keyword',''));">
      <div tal:define='additionalparams python:(str("LfdNr=") + projectid,str("xql=Stichwort~~\"") + keyword + str("*\""))[len(projectid) == 0]'>
	<!-- Comment in to show debug output <div tal:content="python:str(additionalparams)">XQL goes here</div>-->
	<div tal:define='Parameters python:("image_float=right","Ausgabeart=xml", "Sprache=D", "dokumentart=Projekt", "Kostenstelle=" + kostenstelle, "Lfdnr=" + projectid, "language=D", "image_float=right", additionalparams); foo python:context.xsltrans_master_forschungsthemen.setParam(Parameters)'> 
	  <div tal:content="structure python:context.xsltrans_master_forschungsthemen.get_result()" /> 
	</div> 
	<!-- reset der Parameter von xsltrans --> 
	<div tal:define='Parameters python:("image_float=right","Ausgabeart=xml", "Sprache=D", "dokumentart=Projekt", "Kostenstelle=" + kostenstelle, "language=D", "image_float=right"); foo python:context.xsltrans_master_forschungsthemen.setParam(Parameters)' />
      </div> 
    </div>
  </div>
</div>
QR-Code
QR-Code tf-infoportal:dokumentation:plone:plone-erweiterte-projektliste-nach-stichwort (erstellt für aktuelle Seite)