Project

General

Profile

Support #10345

Updated by Benjamin Baer 6 months ago

Ein "Pattern" im Design ist eine Vorgabe wie etwas aussehen soll.

Nehmen wir mal als Beispiel das teachingtool:

<pre><div class="item">
<div class="item-background"></div>
<a class="item-image" style="background-image: url('typo3conf/ext/qfq/Classes/Api/download.php?s=5e8651ff802ce')" href="?id=tool&amp;toolId=118"></a>
<div class="item-description">Hinweise für die Übertragung einer geplanten Multiple-Choice-Prüfung in ein alternatives digitales Format</div>
<span class="item-meta">1.4.2020 17:02 Uhr</span><a class="item-title" href="?id=tool&amp;toolId=118">MC-Prüfungen (Remote)</a>
<div class="item-tags">
Tags:
<a class="label label-primary" href="index.php?id=alltools&amp;tagId=104">Leistungsnachweise</a>
<a class="label label-primary" href="index.php?id=alltools&amp;tagId=126">Digitale Lehre</a>
</div>
</div></pre>

Nun brauchen wir diesen Satz an mehreren Orten vom Teachingtool - und wenn man etwas am Grunddesign aendert, muss man an jeden Ort denken in dem es vorkommt.

Mit dingen wie _link machen wir es uns relativ einfach diese Dinge zu erstellen - ist in diesem Sinne bereits ein Pattern.

Nun, wandeln wir obigen Satz mal in ein Pattern um:
<pre><div class="item">
<div class="item-background"></div>
<a class="item-image" style="background-image: url('{{backgroundImage:R}}')" href="{{toolLink:R}}"></a>
<div class="item-description">{{itemDescription:R}}</div>
<span class="item-meta">{{dateTime:R0}}</span><a class="item-meta">{{dateTime:R}}</span><a class="item-title" href="{{toolLink:R}}">{{itemTitle:RE}}</a> href="{{toolLink:R}}">{{itemTitle:R}}</a>
<div class="item-tags">
Tags:
{{@tagLoopStart}}<a class="label label-primary" href="{{itemTagLink:R}}">{{itemTagName:R0}}</a>{{@tagLoopEnd}} href="{{itemTagLink:R}}">{{itemTagName}}</a>{{@tagLoopEnd}}
</div>
</div></pre>

Und dazu dann der SQL Aufruf:
<pre>10 {
sql = SELECT "blabla" AS _itemTitle, ....
pattern = item

20 {
sql = SELECT CONCAT('index.php?id=tag&tagId=", tag.id) AS _itemTagLink, tag.name AS _itemTagName ...
loop = tagLoop
}
}</pre>

Die Designs selbst koennten dabei aehnlich wie System Variabeln definiert werden und seitenweit abgelegt sein. Oder besser wie Form direkt ueber eine Art editor im frontend erstellt (bzw. gleich als git datei - um die eigenen HTML Editoren verwenden zu koennen)

Pattern wird natuerlich hier immer quasi erst "renr" ausgefuehrt, da einzelne Teile aus subqueries kommen koennten (und mit loops sogar muessen). Neben Store :R koennte man auch die anderen Stores abfragen, vorallem Y und U.

Back