DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
EXT: KB Content Table¶
Created: | 2012-07-13T02:28:36 |
---|---|
Changed: | 2012-07-13T20:37:51 |
Author: | Bernhard Kraft |
Email: | kraftb@seicht.co.at |
Info 3: | |
Info 4: |
EXT: KB Content Table¶
Extension Key: kb_conttable
Copyright 2004-2012, Bernhard Kraft, <kraftb@seicht.co.at>
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.com
Table of Contents¶
EXT: KB Content Table 1
Introduction 1
What does it do? 1
Users manual 1
Creating the content element 2
The Tabs 2
Using the Wizard 3
Selecting a template 4
The RTE Mode 5
Caching 5
Character Sets 5
Administration 5
Table Locking 5
Cell locking 6
Action locking 7
Creating Templates 7
FAQ 8
Installation 8
Applying the patch 8
Configuration 8
mustache optionSplit 8
Page TS Config Configuration 9
EM Configuration 9
Fast mode 10
FAQ 10
Known problems 10
Intention 10
Credits 10
To-Do list 10
Changelog 11
Introduction¶
What does it do?¶
The KB Content Table Extensions primarily allows a User to insert a Table as an Content Element and insert Content Elements into each cell. This is what was already supported in the previous version of this extension. But the extension has been completely rewritten and many new Features got implemented. Here a short list.
- Completely Flexform based
- Table configuration via Flexform tabs (Locking)
- Templating(Save table templates to storage folder and reuse on a user/group basis)
- Normal or RTE mode (Content elements inside cells vs. Rich Text Editor fields)
- Inter operablewith standard clipboard
- TemplaVoilacompatible
- Configuration of cell properties via new “mustache”optionSplit:)
Users manual¶
Here you will learn how to create a new Table. Possibly select a template as basis and edit the table and it's contents. The actual editable fields can differ from installation to installation as the admincan restrict which fields you are allowed to edit.
Creating the content element¶
To do this just go to the Page Module (Either the traditional or the one from Templa Voila) and click the create new content element button as you would do when creating a “Text” or “Text w. Image” content element. You will have a new option at the bottom of your normal elements replacing the default table. (This can be disabled when installing the Extension). When you selected the new multi-colored Content Table element you will get to the well known record edit screen of TYPO3. If you are not using TemplaVoila you will have to save the record in order to see the table wizard icon instead of a text area. If you use TemplaVoila the record is already created in database as soon as you see the record edit screen and the table wizard icon will be there from the beginning. If you saved the form once or used the wizard to initialize the everything you will see the Flexform containing the Table Settings and other tabs. If your are an administrator your edit area will look like this, if you are a normal user you will have less tabs:
Now you could start to enter data in the Flexform defining the settings for the starting <table> tag.
The Tabs¶
Here is a listing what the different Tabs are for. If a Tab is visible for Users and Adminsit is explained further in the User (this) section. If it is just visible for Admins it gets described in the Administration section of this manual:
Table setting¶
Visibility : User & AdminThe values defined in here are used to generate the opening <table> tag of the resulting table. Here also the RTE mode can get set. When it is active each cell will contain an RTE field instead of content elements.
Template¶
Visibility : User & AdminThe only option in here is “Select Template” which lets a normal User select a template to use. Whetherthe mode of the Template is set to Empty, Copy or Reference it will be filled with Content Elements.
New template¶
Visibility : AdminThis Tab is creating new Templates. When the field “Name” gets filled out or an existing template gets selected via the “Overwrite Existing” and the form gets saved then a new template will get created. The form will be empty again afterwards.
Table locking¶
Visibility : AdminHere you can define to which values the fields of the tab “Table Setting” will be set by default. If you set them to some other value than the default the value will be locked and a normal User can't edit the field but just can see its value.
Cell locking¶
Visibility: AdminIn this table you can define to which values the properties of each cell (colspan, rowspan, align, etc.) will be set. This is done via the extended “mustache”optionSplit mechanism. This is explained further in the Configuration section.
Action locking¶
Visibility : AdminHere you can define which actions a user may perform on each row, column or cell. If he is allowed to move or delete, or edit content or properties at all.
Row (n)¶
Visibility : (User) & AdminThose tabs are numbered from one one till the number of default rows which get created when a new table was made. The admin can forbid you to see those tabs or some of them. In those tabs you can make all settings which you can also make in the table wizard. It is up to your choice where you do the changes - although it is more comfortable in the wizard as you see the changes
Using the Wizard¶
To activate the table wizard just click on the red-bordered wizard icon. A new page will appear in the right TYPO3 frame which will look like this if you are an admin or aren't restricted in any way:
On the top right you have a select box which you can use to switch the table to a bigger frame or to no frameat all (“Edit table”). In this mode the table will alway use the full width.
The cellproperties can be edited by clicking the well known edit pencil in the middle of a cell (between the move up/down arrows). The properties dialog will appear below the table wizard and look like this, some fields could be disabled if you are not allowed to edit them (This screen shothas been taken in “Edit table” mode. With smaller frames it will be possible that lines are broken):
Move Row/Column/Cell: With the Buttons for Move up/down/left/right you can move each row/column/cell in each possible direction. There is a move right and move left button next to each other although those two buttons have the same effect. The intention is usability.
The delete button can get used to delete a complete row or column.
The create new content element icon does what its name implies that it does :)
The create new column/row icon create a new record or column.
Below the Location information on the Left side you have the default save, save and close and close buttons. It may be misleading that changes to the table like moving a row or deleting a column is saved as it is done and not after pressing the save button. The save button is just for saving changes to the cell properties.
In RTE mode you dont have (5) but can edit the cell properties and also the RTE content with (2).
Cell properties¶
If you click the “Edit cell properties” pencil (2) a new form will open up on the bottom of the wizard.
If you edit some properties and click the save or save and close button next to the “Edit Properties” form then the content will just be saved temporary just like when you edit different Flexform tabs (You could of course edit other table cell properties). The properties of the cells will just get saved finally if you click the save or save and close button on the top of the wizard. If the actual properties are unsaved when clicking the top save button they get saved automatically.
Selecting a template¶
If you have the necessary access rights and there are ready made templates you can select a pre-made template and your actual table (best try with a newly created) will get changed to the template. The template can have default settings for some values so your configuration possibilities are restricted but this is for achieving a common CI all over your site. You admin made the settings in such a way that the table always looks good together with the rest of your site - and you don't want to change that.
To select a template just edit to the default content element edit screen (not the table wizard) where you normally edit a content element. There you have a tab called “Template” in the Flexform. Select it by clicking on it.
Then the only option you have is to select an already existing template. Choose an existing template from the select box and click the Save Button of the element. After saving the new template will override the actual content and design.
WARNING: If you select a different template, then switch to another tab and make some changes, and want to just save the changes you will have to reset the “Select Template” drop-down box to “None”. Else your actual template will be OVERWRITTEN !!!
The RTE Mode¶
In When you set the checkbox “RTE Mode” in the Tab “Table Setting” then you will not be able to insert content elements into each cell but have an RTE for each cell. Currently each RTE has to be implemented on its own as there isn't a Javascript API for getting and setting the RTE content. If this would be possible this general API could be used but now each RTE must be handled on its own. So the only currently supported RTEs are:
- Default RTE (Windows IE)
- RTE HTMLArea (Windows IE & FF & NS, Linux FF & NS)
perhaps if another RTE becomes popular it will also be added.
Currently if you have both the standard RTE and RTE HTMLArea installed then under Windows IE the standard RTE will be used. In all other cases will rtehtmlarea be the only working choice.
Currently there is no software implementation of copy & paste for RTE content. Cou can just copy and paste it using the clipboard of your OS.
Caching¶
Normally pages from TYPO3 which are generated on the FE are cached by the T3 caching mechanism. To render a table with 40 rows takes a huge amount of time as a large XML has to get parsed several times. So it is best practice to not set pages which contain Content Tables to no_cache except for debugging purposes (And don't forget to set it back ! I told you !)
Character Sets¶
Currently the extension is tested with utf-8 and iso-8859-1. It seems to work in all browsers which support the RTE Area except Netscape which isn't tested (Mail me for information). The tests with utf-8 were made by setting forceCharset to utf-8 in the Install Tool.
Administration¶
You can configure the Table in such a way that you can lock values to a specific value and then save the fully-defined table as a template which can get reused many times. To do this you will first need to set your table to proper values.
There are three “Locking” Tabs which are used for setting the Table to default values and allowing the User just certain actions. These tabs are:
- Table Locking
- Cell Locking
- Action Locking
and will be described here in detail.
By default all fields of those tabs which have common types will have common default values. For example Integer values will have -1 as default which means to not lock. Luckily no value of a table can be negative.
Table Locking¶
This tab is used for locking the values which generate the starting <table> tag.
Field Name :¶
Field Name
Field Name :
Type
Type :
Default
Default :
Description
Description :
Table Setting¶
Field Name
Table Setting
Type
Check
Default
not checked
Description
When this checkboxgets set the complete Table Setting Tab will be hidden from the User.
RTE Mode¶
Field Name
RTE Mode
Type
Integer
Default
-1
Description
If set to 0 RTE Mode will always be disabled. If set to some higher value RTE Mode will always be enabled. With -1 the User can decide.
Cellspacing¶
Field Name
Cellspacing
Type
Integer
Default
-1
Description
If not smaller than 0 the cellspacinggets locked to this value.
Cellpadding¶
Field Name
Cellpadding
Type
Integer
Default
-1
Description
If not smaller than 0 the cellpaddinggets locked to this value.
Border¶
Field Name
Border
Type
Integer
Default
-1
Description
If not smaller than 0 the border gets locked to this value.
Width¶
Field Name
Width
Type
Integer
Default
-1
Description
If not smaller than 0 the width gets locked to this value.
Width format¶
Field Name
Width format
Type
Select
Default
None
Description
If other than “None” the value gets locked to the selected item.
Height¶
Field Name
Height
Type
Integer
Default
-1
Description
If not smaller than 0 the height gets locked to this value.
Height format¶
Field Name
Height format
Type
Select
Default
None
Description
If other than “None” the value gets locked to the selected item.
Align¶
Field Name
Align
Type
Select
Default
None
Description
If other than “None” the value gets locked to the selected item.
Style¶
Field Name
Style
Type
String
Default
'' (empty)
Description
If set to some value the style will be locked to it (field gets trimmed !)
Class¶
Field Name
Class
Type
String
Default
'' (empty)
Description
If set to some value the class will be locked to it (field gets trimmed !)
Id¶
Field Name
Id
Type
String
Default
'' (empty)
Description
If set to some value the id will be locked to it (field gets trimmed !)
Additional Attributes¶
Field Name
Additional Attributes
Type
String
Default
'' (empty)
Description
If set to some value the additional attributes will be locked to it (field gets trimmed !)
Rows¶
Field Name
Rows
Type
Integer (optionSplit)
Default
Description
This field gets optionSplittedwith the number of existing rows as length. Each item gets evaluated if it is an integer bigger than zero. If it is so this row is locked and you wont see the Tab of it.
Columns¶
Field Name
Columns
Type
Integer (optionSplit)
Default
Description
The same for columns as with the Rows field of this Tab. If the lock value is set to 1 the column is not shown.
Cell locking¶
This tab can be used for locking the values/properties of each cell, which mostly describe the opening <td> tag of each cell, to some values. All of the fields in this table use the “mustache”(Schnurrbart) optionSplit. It is called this way because it is two optionSplitsinserted in each other. And the inner one needs another split token for which I choose “ ~*~ “ which looks like a mustache, instead of “ |*| “ . But this if further explained in the Chapter configuration with some examples.
Field Name :¶
Field Name
Field Name :
Type
Type :
Default
Default :
Description
Description:
Properties¶
Field Name
Properties
Type
Integer(mustacheoptionSplit)
Default
'' (empty) == 0
Description
If a cell value is not equal zero then the properties for this cell will be completelydisabled.
Content¶
Field Name
Content
Type
Integer(mustacheoptionSplit)
Default
'' (empty) == 0
Description
If a cell value is not equal zero then the content edit possibilities forthis cell willbe completelydisabled.
Colspan¶
Field Name
Colspan
Type
Integer(mustacheoptionSplit)
Default
'' (empty) == 0
Description
If a cell value is not equal zero the colspan of this cell will be locked to this value.
Rowspan¶
Field Name
Rowspan
Type
Integer(mustacheoptionSplit)
Default
'' (empty) == 0
Description
If a cell value is not equal zero the rowspan of this cell will be locked to this value.
Celltype¶
Field Name
Celltype
Type
Select
(mustacheoptionSplit)
Default
-1
Description
If a cell value is not equal -1 the celltypeof this cell will be locked to this value.
Horizontal align¶
Field Name
Horizontal align
Type
Select
(mustacheoptionSplit)
Default
-1
Description
If a cell value is not equal -1 the horizontal align of this cell will be locked to this value.
Vertical align¶
Field Name
Vertical align
Type
Select
(mustacheoptionSplit)
Default
-1
Description
If a cell value is not equal -1 the vertical align of this cell will be locked to this value.
Fontweight¶
Field Name
Fontweight
Type
Select
(mustacheoptionSplit)
Default
-1
Description
If a cell value is not equal -1 the font weight of this cell will be locked to this value.
Fontfamily¶
Field Name
Fontfamily
Type
String(mustacheoptionSplit)
Default
'' (empty)
Description
If a cell value is set to some value the font familyof this cell will be set to the specified value.
Cellwidth¶
Field Name
Cellwidth
Type
Integer(mustacheoptionSplit)
Default
'' (empty) == 0
Description
If a cell value is not equal zero the cellwidthof this cell will be locked to this value.
Cellwidth format¶
Field Name
Cellwidth format
Type
Select
(mustacheoptionSplit)
Default
-1
Description
If a cell value is not equal -1 the cellwidth format of this cell will be locked to this value.
Cellheight¶
Field Name
Cellheight
Type
Integer(mustacheoptionSplit)
Default
'' (empty) == 0
Description
If a cell value is not equal zero the cellheightof this cell will be locked to this value.
Cellheight format¶
Field Name
Cellheight format
Type
Select
(mustacheoptionSplit)
Default
-1
Description
If a cell value is not equal -1 the cellheight format of this cell will be locked to this value.
Wordwrap¶
Field Name
Wordwrap
Type
Select
(mustacheoptionSplit)
Default
-1
Description
If a cell value is not equal -1 the wordwrapof this cell will be locked to this value. Wordwrap defines if the content of this cell will be wrapped if it is too long. If set to no-wrapno line-break will occur.
Fontsize¶
Field Name
Fontsize
Type
Integer(mustacheoptionSplit)
Default
'' (empty) == 0
Description
If a cell value is not equal zero the fontsizeof this cell will be locked to this value.
Fontsize format¶
Field Name
Fontsize format
Type
Select
(mustacheoptionSplit)
Default
-1
Description
If a cell value is not equal -1 the fontsize format of this cell will be locked to this value.
Class¶
Field Name
Class
Type
String
(mustacheoptionSplit)
Default
'' (empty)
Description
If a cell value is set to some value the class of this cell will be set to the specified value.
Id¶
Field Name
Id
Type
String
(mustacheoptionSplit)
Default
'' (empty)
Description
If a cell value is set to some value the id of this cell will be set to the specified value.
Text color¶
Field Name
Text color
Type
String (6 chars max)
(mustacheoptionSplit)
Default
'' (empty)
Description
If a cell value is set to some value the text color of this cell will be set to the specified value. This value is what comes after the # of the color definition in hex RGB.
Background color¶
Field Name
Background color
Type
String (6 chars max)
(mustacheoptionSplit)
Default
'' (empty)
Description
If a cell value is set to some value the background color of this cell will be set to the specified value. This value is what comes after the # of the color definition in hex RGB.
Style¶
Field Name
Style
Type
String
(mustacheoptionSplit)
Default
'' (empty)
Description
If a cell value is set to some value the style of this cell will be set to the specified value.
Additional¶
Field Name
Additional
Type
String
(mustacheoptionSplit)
Default
'' (empty)
Description
If a cell value is set to some value the additional attributesof this cell will be set to the specified value.
Action locking¶
This gets used for defining which actions a User can perform on the table. For each possible action there is a optionSplitted field which defines the rights.
Field Name :¶
Field Name
Field Name :
Type
Type :
Default
Default :
Description
Description :
Move column left¶
Field Name
Move column left
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each column value specifies if a user can move the corresponding column to the left.
Move column right¶
Field Name
Move column right
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each column value specifies if a user can move the corresponding column to the right.
Move row up¶
Field Name
Move row up
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each row value specifies if a user can move the corresponding row up.
Move row down¶
Field Name
Move row down
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each row value specifies if a user can move the corresponding row down.
Delete Column¶
Field Name
Delete Column
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each column value specifies if a user can delete the corresponding column.
Delete Row¶
Field Name
Delete Row
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each row value specifies if a user can delete the corresponding row.
Hide Column¶
Field Name
Hide Column
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each column value specifies if a user can hide the corresponding column.
Hide Row¶
Field Name
Hide Row
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each row value specifies if a user can hide the corresponding row.
Insert column before¶
Field Name
Insert column before
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each column value specifies if a user can insert a column before the corresponding column.
Insert column after¶
Field Name
Insert column after
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each column value specifies if a user can insert a column after the corresponding column.
Insert row before¶
Field Name
Insert row before
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each row value specifies if a user can insert a row before the corresponding row.
Insert row after¶
Field Name
Insert row after
Type
Integer
(Option-Split)
Default
'' (empty) == 0
Description
Each row value specifies if a user can insert a row after the corresponding row.
Creating Templates¶
If you have fully configured a table you may want to archive your work and make it reusable so others can easily make pre-designed tables. This gets achieved by templates.If you have finished configuring your table and locking (Also content elements will be copied if template is configured that way) finally press the save button again wherever you are and switch to the content element edit screen where you have the Flexform.
IMPORTANT : Don't forget to save your changes. Unsaved changes will not be stored in the template.
Then choose the tab “New Template” . I will shortly explain what the Fields are for.
- Overwrite Existing If you choose some existing template from this drop-down box the selected template will get overwritten if the rest of the form is filled out correctly.
- Name If no existingtemplate is selected in “Overwrite Existing” and a name is given here then a new template with this name will get created.
- TSConfig Name This is the name the template will have for TSConfig configuration. This is not used actually but is required for future compatibility intentions.
- Storage Folder This is the storage folder where the templates get stored to. You must select some “General Storage Page” in the Page Header of your Site Root-Page. Else no Storage Folders are configured. This is the same as for Templa Voila DS and TO records.
- Allowed BE Users Just those BE Users will have access to this Template
- Allowed BE Groups If the User is a member of the herein listed groups or one of the allowed BE Users he will have access to the template.
- Content Mode This selects whetherthe new table has empty content, the content is copied from the template table (if it still exists), or is referenced (also just if it still exists).
Note that a new template gets just created or an existing one overwritten if a Storage Folder gets selected. If “overwrite” is selected no name needs to be given - the template will just be untitled.
FAQ¶
Can I set different lockings for different users ? No. Actually it is just possible to set lockings which get applied to any non-admin user. I will implement better access restrictions in the future ... Perhapsusing some ACL extension.
Why is such a complicated thing as Option-Split chosen for configuration ? If you ever have learned to configure menus with optionSplit to do some tricky things you will already love it ... And if you get to know what powerful things can be done with optionSplit in conjunctions with things like tables you will never want to miss them again.
And this mustache makes the mess perfect ? If you understand simple optionSplit you should understand mustacheoptionSplit after reading section “Configuration > mustacheoptionSplit”.
How does locking inter operate with templates. It's simply this way: The complete table and all it's locking information is stored in the template and copied to the actually edited table when a template is selected. So the complete locking will be used 1:1.
Installation¶
The extension gets installed as any usual extension via the EM. You have a few options to set when you install the extension but those are described in the configuration screen.
Applying the patch¶
If you have a TYPO3 version below 3.8.0 you will have to apply a patch to your source code for Templating and Locking to work properly. You need this patch exactly from versions from and below 3.8.0beta2. If no other version than 3.8.0 is out at the point when you read this document then you will have to check out the latest sources from CVS. Do that by reading the sourceforge TYPO3 CVS pages.
To apply this patch just change in the directory “TYPO3ROOT/t3lib/”
and execute the following command on your UNIX shell (don't know what to do under windows :)
patch -p 0 ./class.t3lib_befunc.php < TYPO3ROOT/typo3conf/ext/kb_conttable/patch_t3lib_befunc_hook.diff
Hopefully the patch will succeed. Afterwards you will be rewarded with the full functionality of the extension. You don't have to worry that you source code get's messed up. Just a simple hook gets added.
Configuration¶
Here the special configuration method, newly introduced by this extension, called “mustache”-Option-Split will get explained further. It mainly is a 2 dimensional extension of the well known optionSplit. Also the Configuration which is available when installing the Extension with the EM is documented.
mustacheoptionSplit¶
First of all you will need to know what optionSplit does. If you see a string like:
1 |*| 1 || 0 || 1 |*| 1
You should not be scared. If you are you should first read:
If you are already advanced read on.
The second dimension¶
optionSplit does nothing more than looping a defined amount of cycles and setting each value determined by the split definition pattern. Normally you would expect each value of the optionSplit to be some value which get used for wrapping or something. In this extension the values are used directly. But they are also used for replacing a second split-token - the mustache“ ~*~ “ by the default split token “ |*| “ and get feed to optionSplit again.
Such a extended optionSplit string looks like the following for example. It could get used as class definition in the Cell locking tab:
cell-empty ~*~ cell-header |*| cell-default |*| cell-default
the first optionSplit results it letting the middle rows and last row have “cell-default” as class. But for the first row there is an inner optionSplit which results in letting the first cell of the first row have “cell-empty” and all other cells of the first row have “cell- header” as style.
As you can see this really opens up many possibilities. You may think: Yes but I would have more fine grained control over the table if I could set access restrictions for each cell. In my opinion: maybe. You would not have the power of configuring how new cells are handled except if you create a lot of extra information. With this kind of configuration you also have the possibilityto configure each cell of each table completelybut you will most probably need to restrict the creation of new cells else your defined configuration will not be valid any more. What I'm talking about is a configuration like the following for the font-weight of a 3x3 table:
bold ~~ bold ~~ normal || bold ~~ normal ~~ bold || normal ~~ bold ~~ bold
This would result in a table like the following:
bold¶
a
bold
b
bold
c
normal
bold¶
a
bold
b
normal
c
bold
normal¶
a
normal
b
bold
c
bold
Most probably you will recognize that the mustacheoptionSplit definition is nothing more than a simple listing of each row. If you now inhibit the creation of new cells the table fontweightwill be absolutely defined.
Examples¶
Make a “border” of cells with a different background-color around a center of cells with white background.
a07020 |*| a07020 ~*~ ffffff ~*~ a07020 |*| a07020
Allow a user to add just columns at the very end
Insert Column before = 1
Insert Column after = 1 |*| 0
Conclusion¶
At the moment I am not completely sure which possibilities are hidden inside 2-dimensional optionSplit. It could perhapsopen up the doors for many new ideas and usages. Feel free to invent !
Page TS Config Configuration¶
This extensions does at the moment only rarely support Page TSConfig configuration. It will become more advanced in the future as you can already see from the Templates which got a TSConfig name.
Here are the preliminary configuration options.
tx_kbconttable.{keys}¶
Field Name :¶
Field Name
Field Name :
Type
Type :
Description
Description :
likeAdminsUser¶
Field Name
likeAdminsUser
Type
string list
Description
This field contains a comma separated list of (mixed) uids or usernames of BE users who have the same rights as admins regarding the table. This is just valid for the Flexform. The wizard is also restricted at the moment. Let me know if I should change this behaviour.
likeAdminsGroup¶
Field Name
likeAdminsGroup
Type
string list
Description
This field contains a comma separated list of BE group uids which have the same rights as admins regarding the Flexform of the conten table.
previewTextLen¶
Field Name
previewTextLen
Type
integer
Description
Sets the length of the Text which gets shown in each table cell for a content element or the RTE. Default value is setable when installing the extension.
Example:¶
tx_kbconttable.likeAdminsUser = 1,5,tester
tx_kbconttable.likeAdminsGroup = 1,8
EM Configuration¶
When you install this extension via the TYPO3 EM you should get presented a configuration screen after creating the required table (changes) which shows you some options to configure. Some of them will also be configurable via TSConfig in the future (Make requests to me: what option and how !)
Field Name :¶
Field Name
Field Name :
Type
Type :
Default
Default :
Range
Range :
Description
Description :
RTE Configuration RTEconf¶
Field Name
RTE Configuration RTEconf
Type
string
Default
richtext[cut|copy|paste|formatblock|textcolor|bold|italic|under line|left|center|right|orderedlist|unorderedlist|outdent|indent |link|table|image|line|chMode]:rte_transform[mode=ts_css|imgpa th=uploads/tx_kbconttable/rte/]
Range
any TCA RTE configuration string
Description
This is the RTE configuration which you normally find inside a TCA.php file. I will enhance RTE customization further (on a per Page basis).
Preview Text Length previewTextLen¶
Field Name
Preview Text Length previewTextLen
Type
integer
Default
100
Range
0-MAXINT
Description
Defines how many characters of a Content Element or of the RTE are shown in a cell.
Default colPos value colPos¶
Field Name
Default colPos value colPos
Type
integer
Default
10
Range
0-MAXINT
Description
Defines to which T3 column (Left, Normal, Right, Border) the Content Elements are saved by default. As this extension is compatible with the default Page module they can't get saved to the Normal column by default as this would disturb the normal elements. So it will get saved to the 10th column by default. If you use the 10th column already (wow :) ) enter another number.
Show content column in page module showContentCol¶
Field Name
Show content column in page module showContentCol
Type
boolean
Default
FALSE
Range
true/false
Description
Normally the 10th column is hidden. This will show it (If you have overwritten )”mod.SHARED.colPos_list” it will not be shown - somebody knows how to “append” something in TSConfig ?)
New Table Columns defaultColumns¶
Field Name
New Table Columns defaultColumns
Type
integer
Default
2
Range
1 - 20
Description
The number of columns a newly created table will have by default. This is configurable via Page TSConfig also
New Table Rows defaultRows¶
Field Name
New Table Rows defaultRows
Type
integer
Default
2
Range
1 - 20
Description
The number of rows a newly created table will have by default. This is configurable via Page TSConfig also.
Fast mode¶
Field Name
Fast mode
fastMode
Type
boolean
Default
TRUE
Range
true/false
Description
When this checkbox gets checked the Table uses the “Fast-mode”.
See following section “Fast mode” for more information.
Fast mode¶
In this mode the cell properties can't get edited in the T3 record editing screen (alt_doc.php) but rather only in the table wizard. This is because the properties are stored in a serialized array which increases performance compared to XML.
When fast-mode gets enabled or disabled or when updating from a previous version without fast-mode (But above 0.1.0) then the table gets automatically converted to fast-mode when saving the first time in the table wizard. You will notice the changes in the Flexform only after this task.
FAQ¶
Do i have to use optionSplitall the time ?If you simply want to lock all cellwidth values to one value just write the value in the locking field. Then all values will be set to the same value. This is also why “-1” is the default for all select fields. It means to don't lock all values.
I don't get that optionSplit what shall I do ?Just do it after a combined principle reading TSref 3.1.4 optionSplit and trial-and-error by using the locking fields. Just log into TYPO3 twice (Tip for Firefoxusers: start Firefoxwith option -ProfileManger (edit shortcut or call from commandline) and create two different profiles) once as Admin and a second time as User. Then lock some fields and look what happens.
Known problems¶
Slow because of the really large Flexforms. Even with “fast” mode where all cell properties are combined into one field which is not editable directly through the Flexform though. New solution: Restructure large parts of the extension so single records get created for each cell and now de/serializiation and/or XML decoding/encoding has to get performed. If you experience long loading times of the wizard please inform me and tell me about the type, size and content of your table and the server hardware you use.
Intention¶
If you like this extension. Or any other of my extension, you are invited to contribute to my idea of a beautiful world. You could spend money to any non-profit environmental or humanitarian organization like Greenpeace, WWF, Global 2000, Amnesty International, Care, etc.
Credits¶
This extensions was sponsored by the Austrian company Active Solution ( http://www.activesolution.at ) for their customer IT-Austria. Thanks to Petra Forman and Markus Thannhäuser from Active Solution and Walter Wasinger from IT-Austria for the good cooperation. Also thanks go to Stefan Beylen for proofreading the documentation.
The work of updating the extension to work with current TYPO3 versions 4.x was partially sponsored by the German company Dynamic Lines GmbH ( http://www.dynamiclines.de/ )
To-Do list¶
- Add more configuration possibilities via TSConfig.
- Make RTE more configurable.
- Make it multi-language compatible
- When item cut from “Normal” clipboard it doesn't get removed.
Changelog¶
Version :¶
Version
Version :
Date
Date :
Changelog
Changelog :
0.0.0¶
Version
0.0.0
Date
( ? )
Changelog
Initial release
0.0.1¶
Version
0.0.1
Date
( ? )
Changelog
Fixed paths to get fetched from TYPO3. Hardcoded before.
0.0.2¶
Version
0.0.2
Date
2005-01-24 20:30 CET
Changelog
Fixed the irritating red “not saved” message appearing after changing cell properties. Table gets saved automatically now.
0.1.0¶
Version
0.1.0
Date
2005-05-02 22:45 CET
Changelog
Completely rewritten !!!* Now completely Flexform based.
* Configuration via 2D optionSplit
* Many other new features: see first documentation paragraph.
0.1.1¶
Version
0.1.1
Date
2005-05-03 19:15 CET
Changelog
Updated manual (now includes screenshots directly - upload limit was raised :)
Added section regarding the “ERROR: NEW4277ac44005ea” error.
0.1.2¶
Version
0.1.2
Date
2005-05-12 18:45 CET
Changelog
Included a workaround for a bug in T3 3.7.0 so now templating should also work in this version if the included patch gets applied.
0.1.3¶
Version
0.1.3
Date
2005-06-17 12:42 CET
Changelog
Updated documentation
0.1.4¶
Version
0.1.4
Date
2005-07-10 19:00 CET
Changelog
Fixed a bug which caused that the content element couldn't be copied or imported.
Included German translations
0.2.0¶
Version
0.2.0
Date
2005-07-23 19:15 CET
Changelog
Introduced “Fast-Mode” which stores the cell properties in a serialized array. This increases speed but cell properties can't get edited from the T3 record editing screen anymore but rather from the table wizard. Also the RTE fields now only get inserted into the Flexform when RTE Mode is switched on. This also increases speed. For speed comparison see: http://www.think- open.org/kraftb/kb_conttable_speedimprovements.pdf
For more information on Fast mode see section “Fast mode” in the documentation.
0.2.1¶
Version
0.2.1
Date
2005-07-29, 15:30 CET
Changelog
Fixed a bug which resulted in not being able to save RTE content. This bug occured only when creating new tables with version 0.2.0 because of the change that the RTE editor is only included when needed.
0.2.2¶
Version
0.2.2
Date
2005-10-28, 08:15 CET
Changelog
Fixed a small issue which caused locked fields to not be set/locked properly.
0.2.3¶
Version
0.2.3
Date
2005-11-03, 23:30 CET
Changelog
Fixed a problem which lead to not working locking.
Completed locking mechanism by adding fields for the last actions which weren't lockable (Hide Cells, Move cells)
0.2.4¶
Version
0.2.4
Date
2005-11-16, 12:30, CET
Changelog
Fixed 2 bugs with RTE mode
0.2.5¶
Version
0.2.5
Date
2006-01-02, 12:30, CET
Changelog
Implemented the Template “Keep” mode. This allows to save a template in such a way that when it get's used only the style definitions get copied to the actual table but not any information about the number of rows and their content: Content stays - Style changes.
0.2.6¶
Version
0.2.6
Date
2006-02-13, 21:15 CET
Changelog
Now works together with kb_pm_paste
0.2.7¶
Version
0.2.7
Date
2009-11-28, 11:50 CET
Changelog
Updated the extension to work with TYPO3 versions 4.2 and 4.3
0.2.8¶
Version
0.2.8
Date
2009-11-28, 12:15 CET
Changelog
Fixed a small issue with dynamically generated content element wizard in table wizardRaised TER state from "alpha" to "stable"Initial import into forge SVN
Updated documentation
0.3.0¶
Version
0.3.0
Date
2009-11-28, 13:00 CET
Changelog
Raised version to 0.3.0Set proper version requirements for TYPO3 and PHP in ext_emconf.php
0.3.1¶
Version
0.3.1
Date
2009-11-30, 12:15 CET
Changelog
Fixed a bug: Commented out not fully implemented feature “DB mode”
0.3.2¶
Version
0.3.2
Date
2009-11-30, 15:15 CET
Changelog
Updated documentation: Added information about sponsor
0.3.3¶
Version
0.3.3
Date
2009-12-02, 13:30 CET
Changelog
Removed debug statementsIncorporated the templavoila xml/api handling classes completly into the extension. So the extension does not depend on specific templavoila versions any moreFixed the new content elements wizard
0.4.0¶
Version
0.4.0
Date
2010-05-05, 12:00 CET
Changelog
Updated all PHP doc references for methods at beginning of files using extdeveval
Updated the copyright date and email address in all files, switched first and lastname of author
Added a link to the table wizard, directly from the Web>Page module using a hook of recent TYPO3 versions
Added support for new RTE in RTE mode: tinymce_rte is now also supported
Fixed an issue with the RTE mode (thanks to Raymond Irwin for pointing this out)
Fixed a charset issue concerning XML/ARRAY conversion of DS and FLEX structures (thanks to Markus Dellmann for pointing out this issue and sponsoring the bugfix)
Removed a debug statement
Removed a path for adding a hook (this was only required in TYPO3 < 3.8.0)
Added a configuration option which allows combining posted cell properties to one POST variable to overcome mod_security/suhosin restrictions when posting too many fields
0.4.1¶
Version
0.4.1
Date
2012-07-12, 12:00 CET
Changelog
Fixed bug: At some places the deprecated/removed method “t3lib_div::GPvar” has been used. Changed this occurences to use “t3lib_div::GP”
Fixed bug: The XCLASSing of “template.php” didn't work anymore because t3lib_div now caches the names of classes instanciated via “t3lib_div::makeInstance”
0.4.2¶
Version
0.4.2
Date
2012-07-13, 20:30 CET
Changelog
Updated documentation
EXT: KB Content Table - 12