SAV Library Example0 

Extension key

sav_library_example0

Version

main

Language

en

Description

An extension to illustrate the SAV Library Plus

Keywords

sav_library_example0

Copyright

2026

Author

Laurent Foulloy

Email

yolf.typo3@orange.fr

License

This document is published under the Open Content License available from www.opencontent.org/openpub.

Rendered

Thu, 13 Aug 2026 07:20:49 +0000

The content of this document is related to TYPO3, a GNU/GPL CMS/Framework available from www.typo3.org.

Table of Contents 

Introduction 

What Does it Do? 

This extension was created with the SAV Library Kickstarter in order to be used with the SAV Library Plus extension.

The SAV Library Extension Kickstarter builds extensions without any PHP coding, thanks to simple configuration parameters.

The SAV Library Kickstarter includes:

  • Creation of multiple views of the data,
  • Frontend input of the data,
  • Views with folders,
  • Context Sensitive Help,
  • Generation of emails,
  • Generation of RTF files using database tags,
  • Data export in CSV format,
  • Many other features.

This example is a test extension that demonstrates several features of the SAV Library Plus extension.

Screenshots 

List View 

Single View 

Edit View 

Changing Dynamically the Folder 

Changing Dynamically the View 

Entity Relationship Diagram 

sav_library_example0 tx_savlibraryexample0_table1 tx_savlibraryexample0_table1 uid pid tstamp crdate cruser_id t3ver_oid t3ver_id t3ver_wsid t3ver_label t3ver_state t3ver_count t3ver_tstamp t3_origuid sys_language_uid l10n_parent l10n_diffsource deleted hidden field1 field2 field8 field9 field4 field5 field10 field7 field6 field12 field13 field14 field15 field16 field17 field18 field19 field20 field3 field11 field21 field23 field24 tx_savlibraryexample0_table2 tx_savlibraryexample0_table2 uid pid tstamp crdate cruser_id sys_language_uid l10n_parent l10n_diffsource deleted hidden field1 tx_savlibraryexample0_table1:field18->tx_savlibraryexample0_table2:table tx_savlibraryexample0_table1_field18_mm tx_savlibraryexample0_table3 tx_savlibraryexample0_table3 uid pid tstamp crdate cruser_id deleted hidden field1 field2 tx_savlibraryexample0_table1:field19->tx_savlibraryexample0_table3:table tx_savlibraryexample0_table1_field19_mm tx_savlibraryexample0_table4 tx_savlibraryexample0_table4 uid pid tstamp crdate cruser_id deleted hidden field1 tx_savlibraryexample0_table1:field20->tx_savlibraryexample0_table4:table tx_savlibraryexample0_table1_field20_mm tx_savlibraryexample0_table5 tx_savlibraryexample0_table5 uid pid tstamp crdate cruser_id deleted hidden field1 field2 tx_savlibraryexample0_table1:field23->tx_savlibraryexample0_table5:table tx_savlibraryexample0_table1_field23_mm tx_savlibraryexample0_table2:uid->tx_savlibraryexample0_table1:field7 tx_savlibraryexample0_table6 tx_savlibraryexample0_table6 uid pid tstamp crdate cruser_id deleted hidden field1 tx_savlibraryexample0_table5:field2->tx_savlibraryexample0_table6:table tx_savlibraryexample0_table5_field2_mm

The Entity Relationship Diagram is generated by the SAV Library Kickstarter in Graphviz DOT language and included using PlantUML.

  • New tables with their fields are represented with a Black border.
  • Existing tables are represented with a Dark green border. Only existing fields uid and pid are shown. If new fields are created, they are shown in Light blue.
  • 1-n relations are in Dark blue.
  • n-n relationships are in Dark red with the name of the associated mm table.

New Tables 

This extension contains the following new tables:

Table: tx_savlibraryexample0_table1 

Label

Table 1

Fields 

field1
Label

String

Type

String

Used in
 
field8
Label

Textarea

Type

Text

Used in
 
field9
Label

Rich text editor

Type

RichTextEditor

Used in
 
field5
field10
Label

Integer

Type

Integer

Used in
 
field7
Label

Relation 1:n (selectorbox)

Type

RelationOneToManyAsSelectorbox

Used in
 
field6
Label

Selectorbox

Type

Selectorbox

Used in
 
field12
Label

Link

Type

Link

Used in
 
field13
Label

Files

Type

Files

Used in
 
field14
Label

Data

Type

String

Used in
 
field15
Label

Legend

Type

String

Used in
 
field16
Label

Graph

Type

Graph

Used in
 
field17
Label

Comma-list n:n relation

Type

RelationManyToManyAsDoubleSelectorbox

Used in
 
field18
Label

True n:n relation

Type

RelationManyToManyAsDoubleSelectorbox

Used in
 
field19
field20
field11
Label

Radio buttons

Type

RadioButtons

Used in
 
field21
Label

View selector

Type

RadioButtons

Used in
 
field22
Label

Comment

Type

ShowOnly

Used in
 
field23
field24
Label

Currency

Type

Currency

Used in
 

Table: tx_savlibraryexample0_table2 

Label

Table 2

Fields 

field1
Label

Field1

Type

String

Used in
 

Table: tx_savlibraryexample0_table3 

Label

Table 3

Fields 

field1
Label

Field1

Type

String

Used in
 
field2
Label

Field 2

Type

Date

Used in
 

Table: tx_savlibraryexample0_table4 

Label

Table 4

Fields 

field1
Label

Field 1

Type

String

Used in
 

Table: tx_savlibraryexample0_table5 

Label

Table 5

Fields 

field1
Label

Field 1

Type

String

Used in
 
field2
Label

Subform 1 in Subform 3

Type

RelationManyToManyAsSubform

Used in
 

Table: tx_savlibraryexample0_table6 

Label

Table 6

Fields 

field1
Label

String

Type

String

Used in
 

List view 

The view Test contains the following configuration.

Title Bar 

<ul>
  <li>###field1###</li>
  <li>###field4###</li>
</ul>
Copied!

Item Template 

<ul>
  <li>###field1###</li>
  <li>###field4###</li>
</ul>
Copied!

Selected Fields 

Field

field1

Type

String

Configuration
 
- func = makeItemLink
- orderlinkintitle = 1
- orderlinkintitlesetup = :value:ascdesc
Copied!
Field

field4

Type

Date

Single view 

The view Test contains also the following views with condition.

View

View 1

Condition
 
showIf = tx_savlibraryexample0_table1.field21 = 1;
Copied!
View

View 2

Condition
 
showIf = tx_savlibraryexample0_table1.field21 = 2;
Copied!

View Test 

This view contains the following configuration.

Title Bar 

###field1###
Copied!

Selected Fields 

Folder: Checkboxes and radio 

Field

field2

Type

Checkbox

Field

field3

Type

Checkboxes

Configuration
 
- cols = 1
Copied!
Field

field11

Type

RadioButtons

Folder: String, Text, Rte 

Field

field1

Type

String

Field

field8

Type

Text

Field

field9

Type

RichTextEditor

Folder: Dates and integer 

Field

field4

Type

Date

Field

field5

Type

DateTime

Field

field24

Type

Currency

Field

field10

Type

Integer

Folder: Selectorbox 

Field

field7

Type

RelationOneToManyAsSelectorbox

Field

field6

Type

Selectorbox

Folder: Relations 

Field

field19

Type

RelationManyToManyAsSubform

Configuration
 
- maxsubformitems = 2
Copied!

Subform Content 

Field

field1

Type

String

Field

field2

Type

Date

Field

field20

Type

RelationManyToManyAsSubform

Configuration
 
- maxsubformitems = 1
Copied!

Subform Content 

Field

field1

Type

String

Field

field23

Type

RelationManyToManyAsSubform

Configuration
 
- maxsubformitems = 2
Copied!

Subform Content 

Field

field1

Type

String

Field

field2

Type

RelationManyToManyAsSubform

Subform Content 

Field

field1

Type

String

Folder: Graphs 

Field

field14

Type

String

Field

field15

Type

String

Field

field16

Type

Graph

Configuration
 
- graphtemplate = EXT:sav_charts/Resources/Private/Templates/ChartsExamples/PieChartAdvanced.xml
- tags = marker#title=Graph in SAV Library Plus, data#data=notEmpty[###field14###],
 data#labels=notEmpty[###field15###]
Copied!

View View 1 

This view contains the following configuration.

Title Bar 

$$$View1$$$
Copied!

Selected Fields 

Field

field2

Type

Checkbox

Field

field3

Type

Checkboxes

Field

field4

Type

Date

Field

field5

Type

DateTime

View View 2 

This view contains the following configuration.

Title Bar 

$$$View2$$$
Copied!

Selected Fields 

Folder: Checkboxes 

Field

field2

Type

Checkbox

Field

field3

Type

Checkboxes

Folder: Dates 

Field

field4

Type

Date

Field

field5

Type

DateTime

Edit view 

View Test 

This view contains the following configuration.

Title Bar 

###field1###
Copied!

Selected Fields 

Folder: Checkboxes and radio 

Field

field2

Type

Checkbox

Field

field3

Type

Checkboxes

Field

field11

Type

RadioButtons

Folder: String, Text, Rte 

Field

field1

Type

String

Field

field8

Type

Text

Field

field9

Type

RichTextEditor

Configuration
 
- height = 200
Copied!

Folder: Dates and integer 

Field

field4

Type

Date

Configuration
 
- nodefault = 1
- fusion = begin
Copied!
Field

field5

Type

DateTime

Configuration
 
- fusion = end
Copied!
Field

field10

Type

Integer

Field

field24

Type

Currency

Folder: Selectorbox 

Field

field7

Type

RelationOneToManyAsSelectorbox

Field

field6

Type

Selectorbox

Folder: Relations 

Field

field19

Type

RelationManyToManyAsSubform

Configuration
 
- maxsubformitems = 2
- adddelete = 1
- addupdown = 1
Copied!

Subform Content 

Field

field1

Type

String

Field

field2

Type

Date

Configuration
 
- nodefault = 1
Copied!
Field

field20

Type

RelationManyToManyAsSubform

Configuration
 
- maxsubformitems = 1
Copied!

Subform Content 

Field

field1

Type

String

Field

field23

Type

RelationManyToManyAsSubform

Configuration
 
- maxsubformitems = 2
Copied!

Subform Content 

Field

field1

Type

String

Field

field2

Type

RelationManyToManyAsSubform

Subform Content 

Field

field1

Type

String

Folder: Graphs 

Field

field14

Type

String

Field

field15

Type

String

Folder: Changing the view 

Field

field21

Type

RadioButtons

Field

field22

Type

ShowOnly

Configuration
 
- edit = 0
- value = $$$comment$$$
Copied!

Query 

The query Test contains the following configuration.

Main Table 

tx_savlibraryexample0_table1




Copied!

GROUP BY Clause 

tx_savlibraryexample0_table1.uid
Copied!

WHERE Tags 

Name

field1+

ORDER BY Clause
 
tx_savlibraryexample0_table1.field1 ASC
Copied!
Name

field1-

ORDER BY Clause
 
tx_savlibraryexample0_table1.field1 DESC
Copied!

Changelog 

Version Changes
14.3.0
  • Compatibility changed to TYPO3 13.4.x and 14.3.x.
13.4.0
  • Compatibility changed to TYPO3 12.4.x and 13.4.x.
11.5.0
  • Compatibility changed to TYPO3 11.5.x.
10.4.0
  • Compatibility changed to TYPO3 10.4.x.
10.3.0
  • Compatibility changed to TYPO3 10.3.x.
9.5.0
  • Extension regenerated with SAV Library Kickstarter 9.5.0.
1.2.0
  • Extension regenerated with SAV Library Kickstarter 1.2.0.
1.1.0
  • Extension regenerated with SAV Library Kickstarter 1.1.0.
1.0.0
  • Extension regenerated with SAV Library Kickstarter 1.0.0.
0.3.0
  • Extension regenerated with SAV Library Kickstarter 0.6.0.
0.2.0
  • Documentation converted to the reStructuredText format.
  • Extension regenerated with SAV Library Kickstarter 0.5.0.
0.1.1
  • New currency field added in the dates and integer folders.
  • Extension regenerated with SAV Library Kickstarter 0.4.1.
0.1.0
  • Extension regenerated for compatibility with TYPO3 6.1 and 6.2.
  • Example of a subform containing a subform added in the "Relations". folder.
0.0.5
  • Extension regenerated with the latest version of the SAV Library Kickstarter (small changes in ext_emconf.php).
0.0.4
  • Documentation updated to the new documentation template (doc_template 1.6.2).
  • String field has been modified as a required field to illustrate missing information processing.
  • New dynamical folder added to illustrate how folders and views can be dynamically changed.
0.0.2
  • Changed to stable.
  • Documentation updated.
0.0.1
  • 1st public release.

Sitemap