.. You may want to use the usual include line. Uncomment and adjust the path.
.. include:: ../Includes.txt
.. role:: underline
=============================================
Display Tables: CSV / Excel or Database / SQL
=============================================
:Created:
2010-02-18T17:33:18
:Changed:
2012-12-29T12:23:11
:Classification:
cag_tables
:Description:
Flexible Tool to Display any kind of Data as a Table. Features: - Datasources can be: CSV / Excel (1st plugin) or the result of an SQL-Statement (2nd plugin) - Configurable autofilter dropdownboxes (as in Excel) - Sort data by clicking on column head - Easy to configure via flexforms - Runs out of the box after installation - No knowlege of SQL necessary. - cag_tables is the further development of cag_longlists
:Keywords:
Excel CSV SQL Database Results Table
:Author:
Jens-Wolfram Eipel - Connecta AG
:Email:
j.eipel@connecta.ag
:Info 4:
:Language:
en
|img-1| |img-2| Display Tables: CSV / Excel or Database / SQL -
cag\_tables
.. _Display-Tables-CSV-Excel-or-Database-SQL:
Display Tables: CSV / Excel or Database / SQL
=============================================
Extension Key: cag\_tables
Language: en
Keywords: Excel CSV SQL Database Results Table
Copyright 2000-2013, Jens-Wolfram Eipel - Connecta AG,
`www.connecta.ag `_ , ,
`www.jwebservice.de `_
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
The content of this document is related to TYPO3
\- a GNU/GPL CMS/Framework available from www.typo3.org
.. _Table-of-Contents:
Table of Contents
-----------------
`Display Tables: CSV / Excel or Database / SQL 1
<#__RefHeading__4325_1349857861>`_
**`Introduction 3 <#__RefHeading__4327_1349857861>`_**
**`Users manual 9 <#__RefHeading__4337_1349857861>`_**
**`Configuration 13 <#__RefHeading__4381_1349857861>`_**
**`Known problems 18 <#__RefHeading__4389_1349857861>`_**
**`To-Do list 19 <#__RefHeading__4391_1349857861>`_**
**`ChangeLog 20 <#__RefHeading__4393_1349857861>`_**
.. _Introduction:
Introduction
------------
.. _What-does-it-do:
What does it do?
^^^^^^^^^^^^^^^^
- Display a CSV- / Excel- file as a well formatted table in the
frontend.
- **or**
- Display any table within your database or any result of an SQL-query
as a well formatted table in the frontend.
-
- Fulltext search function to filter data
- Works out of the box. No immediate need to adapt the HTML-Template.
- Configure what you want to see via flexforms
- Flexible formatting functions. Format every column of your table
(Number format / Date Format etc.)
- Datasources can be: CSV / Excel (1st plugin) or the result of an SQL-
Statement (2nd plugin)
- Configurable autofilter dropdownboxes (as in Excel)
- Sort data by clicking on column head
- Pagination
- No knowlege of SQL necessary
- Optional detail view for every row of data of your displayed table.
Click on a data row and get a detail view.
- New since 4.0: Optional dynamic javascript driven tables (Ajax search,
Ajax sort etc.)
- New since 4.1: Dynamic SQL Statements (evaluate expressions); Option
to display specific record in detail view without prior calling list
view; Option for passing definable primary key and record ID when
calling and displaying detail view.
:underline:`**IMPORTANT CHANGE SINCE VERSION 3.0.2:**`
The plugin “Database Table” is only configurable for admin users for
security reasons.
**This extension was developed by `Connecta AG `_ and `jWebservice Darmstadt `_ .
Click `here `_ for more Info.**
Example installation of cag\_tables (CSV table) see:
`http://www.jwebservice.de/showroom/cag-tables-csv.html
`_
Example installation of cag\_tables (Database table) see:
`http://www.jwebservice.de/showroom/cag-tables-db.html
`_
.. _Screenshots:
Screenshots
^^^^^^^^^^^
**General Example:**
|img-3| (Courtesy `
**http://www.altron.de/nc/produkte/produktuebersicht.html**
`_ )
**Example 1a:** CSV- / Excel file as a table. Each column can be
defined as sortable and can have auto filters. (frontend display)
|img-4| **Example 1b:**
Optional: Table with an additional detail view (since version
2.0)Detail view can configured for getting a detail view when clicking
on each row of the table.
|img-5|
|img-6| Detail view (can display more detailed Info and different data
columns than the main table view). You can adapt the styling to your
cause.
|img-7| **Example 1b: Backend plugin configuration for displaying
CSV- / Excel File…**
|img-8|
**Example 2a:** Display a database query result. Get all TYPO3 backend
users and display as table with full text search, autofilter and
sortable columns.
|img-9| It is also possible to cofigure a detail view for every table
row. (as shown in example 1.b)
**Example 2b: Backend plugin configuration for displaying any database
query result**
|img-10|
**...**
|img-11|
**Note:** The SQL and configuration you see in the “Table display
configuration” is generated automatically for you. You can modify it
or leave it as is (depending on your state of expertise).
.. _Users-manual:
Users manual
------------
This Extension includes two plugins.
|img-12| 1.) **Plugin 1 for displaying columns of a Database Table**
or the result of an SQL-Query in general.
2.) **Plugin 2 for displaying CSV / Excel** files as a table in the
Frontend.
Once we have chosen our datasource and know which columns to display,
we can configure and format each column very easily and flexibly. The
configuration applies to both plugins in the same manner.
There is no immediate need to adapt the template, as the template that
comes with this extension contains everything you need to get started.
The included standard template applies to both plugins.
.. _Quickstart-in-two-Minutes-Step-by-Step-Installation-and-Configuration:
Quickstart in two Minutes – Step by Step Installation and Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. _Display-a-database-table-or-a-general-SQL-Query-result:
Display a database table or a general SQL-Query result
""""""""""""""""""""""""""""""""""""""""""""""""""""""
In this first Quickstart Guide we will choose a Database table and
display a few columns of the selected table in the frontend.
**Install cag\_tables** using the TYPO3 Extension Manager and
**Create a new page**
**Insert plugin** (there are two plugins – one for displaying a CSV /
Excel – table and one for displaying a SQL – Query result). In this
Quickstart Guide we will query the Database – so we will choose the
first plugin **“Display Database Table”**
Click on the Tab Plugin and have a look at the options:
|img-10|
**Choose the table** be\_users from the dropdown box “Database Table”.
The dropdown box lists all tables in your TYPO3 database.
Once you have done that the form will reload **. Please click on the
tab “** :underline:`**Plugin**` **” again to return to the form we
are just configuring.**
|img-13| **Choose the table columns** you want to display by clicking
on them in the list of “Items”.
Optional: You can choose table columns you wish to see in your detail
view (detail view is shown when user clicks on a table row). Detail
view is optional. If you don't select any column, the link to detail
view will not be displayed.
|img-14|
Click the button “Autocreate configuration”. The Extension will now
write an SQL-Statement according to your selection **and it will
create a standard configuration** **for you** on a basis of your
selected columns. **You can adapt the autocreated configuration as you
like.** It is listed in the textfield below called “Table display
configuration”.
|img-15| **Press “Save” and look at the result in the Frontend.
That's it – you are up and running.** Adapt the “Table display
configuration” to your cause. The configuration includes a list of all
commands and options and examples at the bottom as comments. As you
see comments in the configuration start with a “#”.
.. _Display-a-CSV-Excel-File-as-a-table:
Display a CSV / Excel – File as a table
"""""""""""""""""""""""""""""""""""""""
In this second Quickstart Guide we will choose a CSV-File and display
a few columns of the selected file in the frontend.
**Install cag\_tables** using the TYPO3 Extension Manager and
**Create a new page**
**Insert plugin** (there are two plugins – one for displaying a CSV /
Excel – table and one for displaying a SQL – Query result). In this
Quickstart Guide we will display a CSV-File – so we will choose the
first plugin **“Display CSV Table”**
Click on the Tab Plugin and have a look at the options:
|img-16|
We will be using the included example CSV file. So for now don't
change the “CSV- / Excel- File”
Just press the “Save” button on top of the page.
|img-17| The form will reload. If you have chosen the right data
delimiter according to your CSV-File you will now see all column names
in the csv files. The column names must be in the first line of the
CSV-File.The delimiter in the included example CSV-File is “;”.
Choose the columns you want to display by clicking on them in the list
of “Items”:
|img-18|
Optional: You can choose table columns you wish to see in your detail
view (detail view is shown when user clicks on a table row). Detail
view is optional. If you don't select any column, the link to detail
view will not be displayed:
|img-19|
Click the button “Autocreate configuration”. The Extension **will
create a standard configuration** **for you** on a basis of your
selected columns. **You can adapt the auto created configuration as
you like.** It is listed in the textfield below called “Table display
configuration”.
|img-20| **Press “Save” and look at the result in the Frontend.
That's it – you are up and running.** Adapt the “Table display
configuration” to your cause. The configuration includes a list of all
commands and options and examples at the bottom as comments. As you
see comments in the configuration start with a “#”.
.. _Configuration:
Configuration
-------------
This chapter describes and explains all options in the “Table display
configuration”. All configuration parameters apply to both Plugins
(“Display Database Table” and “Display CSV Table”).
.. _Basic-options-configured-in-Extension-configuration-form-flexform:
Basic options (configured in Extension configuration form – flexform):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|img-21|
1.) Show fulltext form: Displays a searchform above the table.
Keywords are applied to all columns of the table (fulltext serverside
search)
2.) Only list results after search: Table is only displayed after
fulltext has been submitted
3.) Don't show table head: Table head is not displayed
4.) Dynamic tables: Renders the table using the “Datatables” Java
Script library. The result is a much fancier and more responsive front
end rendering. Options for the configuration of datatables are set in
the corresponding config file which is by default located here:
typo3conf/ext/cag\_tables/res/js/dataTablesConfig.js.More details on
configurations options can be found at `http://www
`_ `.d `_
:title:``atatables.net `_ Datatables needs
the jquery library to be included into the website. The paths for
including- jquery.min.js- jquery.dataTables.js- dataTablesConfig.jscan
be configured in the config field “Table display configuration” (see
Reference below). The following default config is included here if you
check this option “Dynamic tables”, save, press “Autocrate
configuration”, save again.`
:title:`DynamicTables {jQueryPath =
/typo3conf/ext/cag\_tables/js/jquery.min.jsdataTablesPath =
/typo3conf/ext/cag\_tables/js/jquery.dataTables.jsdataTablesConfigPath
= /typo3conf/ext/cag\_tables/js/dataTablesConfig.js}Be sure not to
include jquery twice in case anther extension or your site already use
jquery. In that case delete the jQueryPath above.`
:title:`5.) Show SQL Statement (only for Plugin “Display Database
Table”): Displays SQL debug output.`
.. _Reference:
Reference
^^^^^^^^^
.. _Configuration-options-and-Commands-in-the-Table-display-configuration:
Configuration options and Commands in the “Table display configuration”:
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Notice: In addition to this manual, all commands are listed as
comments at the bottom of any auto generated configuration in the
“Table display configuration”. You thereby have a reference inside the
plugin.
**There is** :underline:`**no TypoScript configuration**`
**necessary.** :underline:`Configuration is done in the Flexform in
the field` :underline:`**“Table display configuration”**`
:underline:`inside the plugin.` All options are listed in the
Reference below:
.. ### BEGIN~OF~TABLE ###
.. _General-options:
**General options:**
~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
**General options:**
Description
Example
PaginationSize = 10
sortBy = name
sortDirection = asc
.. _paginationSize:
paginationSize
~~~~~~~~~~~~~~
.. container:: table-row
Property
paginationSize
Description
Number of results to be displayed per page. If there are more results
than the configured paginationSize, results are splitted on multiple
pages and a page browser is displayed at the bottom.
Example
paginationSize = 10
.. _sortBy:
sortBy
~~~~~~
.. container:: table-row
Property
sortBy
Description
Standard column to sort / order by
Example
sortBy = name
.. _sortDirection:
sortDirection
~~~~~~~~~~~~~
.. container:: table-row
Property
sortDirection
Description
Standard sorting directionasc = ascendig
desc = descending
Example
sortDirection = asc
.. _SortByAutofilterColumn:
SortByAutofilterColumn
~~~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
SortByAutofilterColumn
(advanced feature)
Description
If the user changes the selection in the dropdownbox of a column that
has an autofilter dropdown, the subsequent sorting is changed to that
column.
Example
sortByAutofilterColumn = true
.. _Unknown-Property:
((Unknown Property))
~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
Description
Example
.. _Column-specific-options:
**Column specific options:**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
**Column specific options:**
Description
Column specific options apply to the configuration of a column. They
must be used in the context as shown in the example on the left.
For example if you want to set the label of the column “lastname” you
must do that in the section “columns” and within in the section
“lastname”.
**Column configuration for :underline:`table view` (Example)**
columns {
lastname {
label = Last Name
…
}
firstname {
label = Vorname
…
}
}
**Column configuration for :underline:`detail view` (Example)**
columnsDetailView {
lastname {
label = Last name
#numeric = false
}
address {
label = Adresse
}
...
}
Example
columns {
lastname {
label = Last Name
autofilter = true
autofilterMaxEntryLength = 15
}
age {
label = Person's age
autofilter = true
autofilterMaxEntryLength = 2
numeric = true
}
}
.. _label:
label
~~~~~
.. container:: table-row
Property
label
Description
Label of the column to be displayed in table head. If not set the
label will be the same as the column name in database table or CSV-
table.
Example
label = fistname
.. _autofilter:
autofilter
~~~~~~~~~~
.. container:: table-row
Property
autofilter
Description
Display an autofilter dropdownbox in the head of the table.
An autofilter contains all unique values of the column.
Example
autofilter = true
.. _autofilterFirstEntry:
autofilterFirstEntry
~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
autofilterFirstEntry
Description
Specifies the first entry in the Autofilter dropdownbox. This is
usualy the “reset” option for that column
Example
autofilterFirstEntry = -- all --
.. _autofilterMaxEntryLength:
autofilterMaxEntryLength
~~~~~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
autofilterMaxEntryLength
(advanced option)
Description
Maximum number of charcters of an entry in the autofilter dropdown
box.
Example
autofilterMaxEntryLength = 15
.. _numeric:
numeric
~~~~~~~
.. container:: table-row
Property
numeric
Description
Specify whether the data in the column is numeric. This is important
so the system can sort the values numericallyin case they are numeric.
Otherwise it will sort alphanummerically.
Example
numeric = true
.. _notSortable:
notSortable
~~~~~~~~~~~
.. container:: table-row
Property
notSortable
Description
If “notSortable = true” there will be control elements in the head of
the column – so sorting for that column is nit available.
Example
notSortable = true
.. _notSearchable:
notSearchable
~~~~~~~~~~~~~
.. container:: table-row
Property
notSearchable
Description
If “notSortable = true” the data in that column will not be included
in the fulltext search (if you have a searchbox configured – this can
be done using the flexform configuration by checking “Show
Searchform”)
Example
notSearchable= true
.. _link:
link
~~~~
.. container:: table-row
Property
link
Description
If the data in the column is a link (for example
www.connecta.ag/typo3) the system will create a link with the text
assigned to the link.
Example:
link = more …
will create
`_
”>more ...
Example
link = Click here for more …
.. _imgConf-file-maxW:
imgConf.file.maxW
~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
imgConf.file.maxW
Description
If the data in that column contains the path to an image on your
server (for example a product image) you can adapt the size or other
image properties via typoscript. In this example the image will be
processed and have a width of 50px so all images in that columns all
have the same width.
Example
imgConf.file.maxW = 50
.. _eval:
eval
~~~~
.. container:: table-row
Property
eval
Description
Applies any php function to the data of that column. The value / data
to be processed is represented by “\|”.
It's actually very easy:
**Example** – Multiply all values in the column by 2:
eval = \| \* 2
You can also concatinate Strings – **Example** :
eval = “Our value is” . \|
Example
eval = “It is : “ . int(\| \* 2)
.. _format:
format
~~~~~~
.. container:: table-row
Property
format
Description
Format data in the column. You can either do “ **numberFormat** ” or “
**dateFormat** ”.
Example for **numberFormat** (four digits after “.” and seperator for
thousands digits):
format = numberFormat\|4\|.\|,
Example for **dateFormat** (formats from unix timestam to the desired
format – in this example to day.month.year):
format = dateFormat\|d.m.Y
Available options are:
d = day
m = month
y = year
H = hour
I = minute
s = second
for more options see php manual
Example
format = numberFormat\|4\|.\|,
or
format = dateFormat\|d.m.Y
.. _Unknown-Property:
((Unknown Property))
~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
Description
Example
.. _Database-Plugin-options:
**Database Plugin options**
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
**Database Plugin options**
Description
**Only applies to Database Plugin not CSV!**
Example
.. _sql:
sql
~~~
.. container:: table-row
Property
sql
Description
**SQL Statement executed for displaying table.** Please note the round
brackets in the example after “sql”
:underline:`**New advanced features since Version 4.1:**`
Placing **expressions** or **variables** inside Statements.
It is possible to use variables inside the defined SQL-Statement.
Variablenames are defned in curly brackets. Example {\_detail}
1. Possible list of variables:
{\_detail} = URL-Variable detail as may be passed from table view to
detail view
{\_usergroup} = usergroup(s) of current user if logged in
{\_userid} = userid of current user if logged in
{\_timestamp} = current unix timestamp
{\_lang} ) = current page language
{\_pid} = current oage id
(&SOME\_URLPARAMETERN} = get the value of any URL-/Requestparameter
{§SOME\_SESSIONPARAMETER} = get the value of any Sessionparameter.
2. Evaluating an expression:
Expressions must also be defined inside curly brackets.
Example:
sql (
select uid, title, starttime, crdate
from pages
where deleted = 0 and hidden = 0
**{empty($usergroup) ? "" : " and fe\_group in ($usergroup)"}**
)
Side Note: The example displays all pages a user has access to.Inside
expressions you can refer to usergroup, userid and the id of the
detail record with the variables $usergroup, $userid, $detail
Example
sql (
select uid, crdate, header
from tt\_content
where hidden=0 and deleted=0
)
.. _sqlDetailView:
sqlDetailView
~~~~~~~~~~~~~
.. container:: table-row
Property
sqlDetailView
Description
**SQL Statement executed for displaying table.** Please note the round
brackets in the example after “sql” **Please note:** if you wish to
adapt the fields selected in the sqlDetailView-Query you will also
have to add the selected field above in the select field selector:
|img-19|
Example
sqlDetailView (
select name, age
from persons
where hidden=0 and deleted=0
)
Note: To configure the output of the detail view you will also have to
define the fields to be displayed (see also “column specific options
above).
Example:
columnsDetailView {
name {
label = Last name
}
address {
label = Adresse
}
...
}
.. _pkDetailView:
pkDetailView
~~~~~~~~~~~~
.. container:: table-row
Property
pkDetailView
Description
Optional: Primary key selected in query which is then passed from list
view to detail view.
This way you can use the unique ID of a row in list view in the sql
query for the detail view. The passed “detailId” then can be used as a
variable in the detail view. {\_detail}
pkDetailView is optional – for passing a variable from the list view
to detail view – to be used in detail statement.
Example
Example:
\# List View Statement
sql (
select uid, title, starttime, crdate
from pages
where deleted = 0
and hidden = 0
)
\# Primary key passed to detail view
pkDetailView = uid
\# List of
sqlDetailView (
select title, uid, pid
from pages
where deleted = 0 and hidden = 0 and uid = {\_detail}
)
.. _forceDetailView:
forceDetailView
~~~~~~~~~~~~~~~
.. container:: table-row
Property
forceDetailView
Description
Optional: Forces to immediately display the detail View of a record
without displaying the Table / Listview first.
For example ...
forceDetailView = true
… displays the first record of a resultset as defined by the sql query
in “sqlDetailView”.
Alternatively for example …
forceDetailView = 3
… displays the fourth record of the resultset (counting begins with
0).
Example
sql (
select uid, title, starttime, crdate
from pages
where deleted = 0 and hidden = 0
)
sqlDetailView (
select title, uid, pid
from pages
where deleted = 0 and hidden = 0
)
\# Displays the first record of the result set in detail view
forceDetailView = 0
.. _forceTableView:
forceTableView
~~~~~~~~~~~~~~
.. container:: table-row
Property
forceTableView
Description
Optional: Forces the display of the table view as opposed to the
detail view.This can be useful if you want to call a new table using
the detail ID of the selected record in the query of the new table.
Hint: When calling a new table you may want to configure this new
table on another page and place cag\_tables on this new page.
To jump to the new page when clicking on a table row - use the
parameter pidDetailView = x.
Example
forceTableView = true
.. _pidDetailView:
pidDetailView
~~~~~~~~~~~~~
.. container:: table-row
Property
pidDetailView
Description
Optional: Set the Page Id (pid) of the detail view.
If not set, the detail view is on the same page as the table / list
view (default setting).
Make sure you have configured cag\_tables on the target page (in case
you don't use the default setting).
Example
\# Opens the page with page ID 66 when clicking on a record in table
PidDetailView = 66
.. _Datatables-Javascript-Plugin-options:
**Datatables Javascript Plugin options**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. container:: table-row
Property
**Datatables Javascript Plugin options**
Description
**Only applies when the option “Dynamic tables” are checked in
options.**
Example
.. _dynamicTables:
dynamicTables
~~~~~~~~~~~~~
.. container:: table-row
Property
dynamicTables
Description
**# Path to jQuery Javascript Library (also comes with this
extension).# Be sure only to include jQuery once into your site.**
jQueryPath=/typo3conf/ext/cag\_tables/js/jquery.min.js
**# Path to dataTables Javascript library (comes with this
extension):**
dataTablesPath=/typo3conf/ext/cag\_tables/js/jquery.dataTables.js
**# Path to dataTables configuration. An example is located at this
path.**
**# Please copy it somewhere into the fileadmin folder and adapt to
your needs.**
dataTablesConfigPath=/typo3conf/ext/cag\_tables/js/dataTablesConfig.js
Example
.. ###### END~OF~TABLE ######
.. _HTML-Template:
HTML Template
^^^^^^^^^^^^^
The Extension is 100% html template driven. The template is located in
the extension folder (usually
typo3conf/ext/cag\_tables/template.html).
If you want to **modify the standard Template** you can do so. Please
note that building the table it is a highly automated process – so you
have to leave the general structure of the template (with its subparts
and markers) in tact.
There are two sections in the template. A section for “table view” and
“detail view”.
.. _Table-Searchresult-view:
Table / Searchresult view:
""""""""""""""""""""""""""
All HTML-Code for the table / searchresult view is located in between
“” and
- Please note that building the table it is a highly automated process.
Only change HTML if you know what you are doing.
- You may change or remove the default inline CSS styles and adapt it to
your design
.. _Detail-View-optional:
Detail View (optional):
"""""""""""""""""""""""
The detail view of a record is shown when clicking on a table row. You
must explicitly configure the detail view. The detail view uses the
following HTML-Subpart from “” to
“”.
Please note that the generation of the detail view automated process.
Only change HTML if you know what you are doing.
You may change or remove the default inline CSS styles and adapt it to
your design
The detail view HTML-snipplet is shwon below. There are two ways of
displaying the selected data.
1. Generically display all selected data (default)
2. Explicitly display fields by setting markers in the template. The
marker names must be exactly the same as the selected fields in the
SQL-statement. Example if you “select title from pages” you can use
the marker ###TITLE### in the detail view. Furthermore you can use a
subpart called “###IFEXISTS\_{MYFIELDNAME}###”.
Data:underline:`inside` the subpart is only displayed if the data is
not empty. This can be useful if you don't want to display parts of
the HTML if the selected data / field is empty. See example below.
###ROWS###
###LABEL###
###COLUMN\_CONTENT###
###ROWS###
.. _Known-problems:
Known problems
--------------
None so far
.. _To-Do-list:
To-Do list
----------
I will think of more features!
.. _ChangeLog:
ChangeLog
---------
.. ### BEGIN~OF~TABLE ###
.. _0-9-0:
0.9.0
^^^^^
.. container:: table-row
Version
0.9.0
Changes
Initial realease by Jens Eipel, ( Connecta AG, TYPO3 Agentur Wiesbaden
`http://www.connecta.ag `_ )
.. _1-0-0:
1.0.0
^^^^^
.. container:: table-row
Version
1.0.0
Changes
Minor Bugfixes
.. _1-0-1:
1.0.1
^^^^^
.. container:: table-row
Version
1.0.1
Changes
Bugfix: Eliminanted warnings when empty result occurs
.. _1-0-2:
1.0.2
^^^^^
.. container:: table-row
Version
1.0.2
Changes
Minor Bugfixes
.. _1-0-3:
1.0.3
^^^^^
.. container:: table-row
Version
1.0.3
Changes
Eliminated problem whith trailing spaces when choosing template for
CSV-Display
Handle the case when chosen CSV-File in backend is not readable
.. _1-0-5:
1.0.5
^^^^^
.. container:: table-row
Version
1.0.5
Changes
Bugfix for Safari Browser (autocreate config now works)
.. _1-0-7:
1.0.7
^^^^^
.. container:: table-row
Version
1.0.7
Changes
Performance Optimization
.. _1-1-0:
1.1.0
^^^^^
.. container:: table-row
Version
1.1.0
Changes
Security Fix, changes to Flexform, added classnames to th-tags
.. _1-2-1:
1.2.1
^^^^^
.. container:: table-row
Version
1.2.1
Changes
Performance optimization
.. _1-2-2:
1.2.2
^^^^^
.. container:: table-row
Version
1.2.2
Changes
Performance optimization
.. _1-2-3:
1.2.3
^^^^^
.. container:: table-row
Version
1.2.3
Changes
Bugfixes and Features: Fixed alternating classes for table rows, Fixed
Option “Only list results after search”, Example Inline CSS for
alternating row colors, Changes in Flexforms
.. _1-2-6:
1.2.6
^^^^^
.. container:: table-row
Version
1.2.6
Changes
Security Fix, Fixed Problems where markers where not replaced in some cases, introduces colgroups in table head, column width can now be configured as an attribute for each column
.. _1-2-7:
1.2.7
^^^^^
.. container:: table-row
Version
1.2.7
Changes
Updated Manual
.. _2-0-0:
2.0.0
^^^^^
.. container:: table-row
Version
2.0.0
Changes
Revision
.. _3-0-0:
3.0.0
^^^^^
.. container:: table-row
Version
3.0.0
Changes
Detail View implemented
Some performance improvements. Optional detail view for every data row.
.. _3-0-1:
3.0.1
^^^^^
.. container:: table-row
Version
3.0.1
Changes
Security fix and changes in autoconfiguration function
.. _3-0-2:
3.0.2
^^^^^
.. container:: table-row
Version
3.0.2
Changes
Bugfix addressing issue with some php versions extension fails to run. Addresses security issues in pi1 (Database Plugin). Plugin 1 (display database tables) only accessible for admin users.
.. _3-0-3:
3.0.3
^^^^^
.. container:: table-row
Version
3.0.3
Changes
Adresses a security issue within plugin 1 with datasource database. Fixes an issue in detail view mode of plugin 2 with datasource CSV
.. _4-0-0:
4.0.0
^^^^^
.. container:: table-row
Version
4.0.0
Changes
- Optional javascript driven dynamic tables now available (datatables javascript plugin: See www.datatables.net)
- Detail template for view of a column can now contain dedicated markers to be replaced by SQL-query result
- Fixed an error when switching Extension between CSV and Database Mode in backend
.. _4-1-0:
4.1.0
^^^^^
.. container:: table-row
Version
4.1.0
Changes
- Dynamic SQL Statements (evaluate expressions or parse variables like userid, usergroup etc.)
- Option to display specific record in detail view without prior calling list view
- Option for passing definable primary key and record ID when calling and displaying detail view.
- Bugfix in CSV view (fgetcsv now with line length indefinite (0)).
.. ###### END~OF~TABLE ######
|img-2| 20
.. ######CUTTER_MARK_IMAGES######
.. |img-1| image:: img-1.png
.. :align: left
.. |img-2| image:: img-2.png
.. :border: 0
.. :height: 21
.. :hspace: 9
.. :id: Grafik2
.. :name: Grafik2
.. :width: 87
.. |img-3| image:: img-3.jpeg
.. :align: left
.. :border: 0
.. :height: 438
.. :id: graphics1
.. :name: graphics1
.. :width: 537
.. |img-4| image:: img-4.jpeg
.. :align: left
.. :border: 0
.. :height: 354
.. :id: Grafik1
.. :name: Grafik1
.. :width: 517
.. |img-5| image:: img-5.jpeg
.. :align: left
.. :border: 0
.. :height: 149
.. :id: graphics3
.. :name: graphics3
.. :width: 495
.. |img-6| image:: img-6.jpeg
.. :align: left
.. :border: 0
.. :height: 125
.. :id: graphics2
.. :name: graphics2
.. :width: 216
.. |img-7| image:: img-7.jpeg
.. :align: left
.. :border: 0
.. :height: 404
.. :id: graphics4
.. :name: graphics4
.. :width: 487
.. |img-8| image:: img-8.jpeg
.. :align: left
.. :border: 0
.. :height: 383
.. :id: graphics5
.. :name: graphics5
.. :width: 489
.. |img-9| image:: img-9.jpeg
.. :align: left
.. :border: 0
.. :height: 305
.. :id: Grafik3
.. :name: Grafik3
.. :width: 669
.. |img-10| image:: img-10.png
.. :align: left
.. :border: 0
.. :height: 351
.. :id: graphics6
.. :name: graphics6
.. :width: 508
.. |img-11| image:: img-11.jpeg
.. :align: left
.. :border: 0
.. :height: 188
.. :id: graphics7
.. :name: graphics7
.. :width: 510
.. |img-12| image:: img-12.jpeg
.. :align: left
.. :border: 0
.. :height: 61
.. :id: Grafik7
.. :name: Grafik7
.. :width: 669
.. |img-13| image:: img-13.jpeg
.. :align: left
.. :border: 0
.. :height: 70
.. :id: graphics8
.. :name: graphics8
.. :width: 232
.. |img-14| image:: img-14.jpeg
.. :align: left
.. :border: 0
.. :height: 105
.. :id: graphics9
.. :name: graphics9
.. :width: 336
.. |img-15| image:: img-15.jpeg
.. :align: left
.. :border: 0
.. :height: 203
.. :id: Grafik9
.. :name: Grafik9
.. :width: 410
.. |img-16| image:: img-16.jpeg
.. :align: left
.. :border: 0
.. :height: 330
.. :id: Grafik10
.. :name: Grafik10
.. :width: 399
.. |img-17| image:: img-17.jpeg
.. :align: left
.. :border: 0
.. :height: 47
.. :id: Grafik11
.. :name: Grafik11
.. :width: 121
.. |img-18| image:: img-18.jpeg
.. :align: left
.. :border: 0
.. :height: 114
.. :id: graphics10
.. :name: graphics10
.. :width: 407
.. |img-19| image:: img-19.jpeg
.. :align: left
.. :border: 0
.. :height: 122
.. :id: graphics11
.. :name: graphics11
.. :width: 403
.. |img-20| image:: img-20.jpeg
.. :align: left
.. :border: 0
.. :height: 245
.. :id: Grafik13
.. :name: Grafik13
.. :width: 467
.. |img-21| image:: img-21.png
.. :align: left
.. :border: 0
.. :height: 122
.. :id: graphics14
.. :name: graphics14
.. :width: 669