Project

General

Profile

Actions

Feature #10345

open

Templates - Patterns QFQ Style

Added by Benjamin Baer almost 4 years ago. Updated almost 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
Start date:
02.04.2020
Due date:
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
Vote:

Description

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

Nehmen wir mal als Beispiel das teachingtool:

<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>

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:

<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-title" href="{{toolLink:R}}">{{itemTitle:RE}}</a>
 <div class="item-tags">
   Tags: 
   {{@tagLoopStart}}<a class="label label-primary" href="{{itemTagLink:R}}">{{itemTagName:R0}}</a>{{@tagLoopEnd}}
 </div>
</div>

Und dazu dann der SQL Aufruf:

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
   }
}

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.


Related issues

Related to QFQ - Feature #10713: QFQ functions (reusable reports)RejectedMarc Egger04.06.2020

Actions
Actions #1

Updated by Benjamin Baer almost 4 years ago

  • Description updated (diff)
Actions #2

Updated by Benjamin Baer almost 4 years ago

  • Description updated (diff)
Actions #3

Updated by Benjamin Baer almost 4 years ago

  • Description updated (diff)
Actions #4

Updated by Benjamin Baer almost 4 years ago

  • Description updated (diff)
Actions #5

Updated by Benjamin Baer almost 4 years ago

  • Description updated (diff)
Actions #6

Updated by Marc Egger almost 4 years ago

Actions #7

Updated by Nicola Chiapolini almost 4 years ago

Mindestens den Darstllungsteil kann man mit Twig-Template-Dateien lösen.

Actions #8

Updated by Carsten Rose almost 3 years ago

  • Tracker changed from Support to Feature
  • Target version set to next6
Actions

Also available in: Atom PDF