Wiki-Quellcode von t1

Zuletzt geändert von Christian Holzner am 2026/01/26 06:27

Zeige letzte Bearbeiter
1 {{velocity}}
2 #set($hql = "
3 select doc.fullName
4 from XWikiDocument doc, BaseObject obj
5 where obj.name = doc.fullName
6 and obj.className = 'BRD_Macros.KontaktKlasse.WebHome'
7 ")
8
9 #set($rows = $services.query.hql($hql).execute())
10
11 ## HTML-String vorbereiten
12 #set($out = "<div style='margin-bottom:20px;'>")
13 #set($out = $out + "<div style='background:#eef;padding:10px;margin-bottom:15px;'><strong>Treffer:</strong> " + $rows.size() + "</div>")
14
15 #foreach($docName in $rows)
16 #set($itemDoc = $xwiki.getDocument($docName))
17 ## WICHTIG: Hier muss der exakt gleiche Name wie in der HQL stehen
18 #set($obj = $itemDoc.getObject('BRD_Macros.KontaktKlasse.WebHome'))
19 #set($name = $obj.getProperty('name').value)
20 #set($funktion = $obj.getProperty('funktion').value)
21 #set($kompetenz = $obj.getProperty('kompetenz').value)
22 #set($mobil = $obj.getProperty('mobil').value)
23 #set($telefon = $obj.getProperty('telefon').value)
24 #set($email = $obj.getProperty('email').value)
25 #set($photo = $obj.getProperty('photo').value)
26
27 #if($kompetenz and $kompetenz.length()>0)
28 #set($kompetenz = $kompetenz+"<br/>")
29 #else
30 #set($kompetenz = "")
31 #end
32 #if($mobil and $mobil.length()>0)
33 #set($mobil = $mobil+"<br/>")
34 #else
35 #set($mobil = "")
36 #end
37 #if($telefon and $telefon.length()>0)
38 #set($telefon = $telefon+"<br/>")
39 #else
40 #set($telefon = "")
41 #end
42 #if($email)
43 #set($email = "<a href='mailto:" + $email + "'>" + $email + "</a>")
44 #else
45 #set($email = "")
46 #end
47
48 ## Bild vorbereiten
49 #if($photo)
50 #set($imgTag = "<img src='" + $xwiki.getAttachmentURL($itemDoc.fullName, $photo) + "' width='100' style='border-radius:6px;margin-right:15px;' />")
51 #else
52 #set($imgTag = "<div style='width:100px;height:100px;background:#ccc;display:flex;align-items:center;justify-content:center;margin-right:15px;'>Kein Foto</div>")
53 #end
54
55 ## Kontakt-HTML anhängen
56 #set($out = $out + "
57 <div style='display:flex;align-items:flex-start;border:1px solid #ccc;padding:10px;margin-bottom:10px;border-radius:6px;'>
58 " + $imgTag + "
59 <div style='line-height:1.5;'>
60 <h3 style='margin-top:0'>" + $name + "</h3>" + $funktion + "<br><br>" + $kompetenz + $telefon + $mobil + $email +"
61 </div>
62 </div>
63 ")
64 #end
65
66 #set($out = $out + "</div>")
67 {{html clean="false"}}
68 $out
69 {{/html}}
70 {{/velocity}}