Please see https://www.seblod.com/resources/manuals/advanced/understanding-the-storage instead of this article.
==========================================================================================
SEBLOD / Joomla
The first thing to understand is that SEBLOD is a Joomla! extension without hack, so Seblod work exactly on the same objects as Joomla, so on the same tables:
- Article: #__content
- Users: #__users
- Categories: #__categories
- ...
So, what is different? If SEBLOD don't do more than Joomla!, what is it's utiliy?
SEBLOD let you custom all Joomla! objects by creating custom content types based on thoses objects, and for that, store extra fields in extra tables linked with Joomla! tables.
- Padlock closed: this field will be only available for THIS content type, and SEBLOD create a new table for that: "#__cck_store_form_nameOfContentType"
- Padlock opened: this field will be also available for all other content types, and SEBLOD already have a table for that: "#__cck_store_item_nameOfStorageObject"
Object Article
Now, when you create a extra field (not existing in Joomla) in a content type based on Article Object, SEBLOD can store fields in two differents tables, depending on the access you want for this field.
- Padlock closed: this field will be only available for THIS content type, and SEBLOD create a new table for that: "#__cck_store_form_nameOfContentType"
- Padlock opened: this field will be also available for all other content types, and SEBLOD already have a table for that: "#__cck_store_item_content"
Object User
Now, when you create a extra field (not existing in Joomla) in a content type based on object User, SEBLOD can store fields in two differents tables, depending on the access you want for this field.
- Padlock closed: his field will be only available for THIS content type, and SEBLOD create a new table for that: "#__cck_store_form_nameOfContentType"
- Padlock opened: this field will be also available for all other content types, and SEBLOD already have a table for that: "#__cck_store_item_users"
Now that we know where fields are stored, How are they stored ??
Storage has 3 settings
Format - Object - name
STORAGE FORMAT NONE
fields are not store. Often used on content type like "Contact" or "Share", ....
STANDARD STORAGE FORMAT
Standard | Article | Field_name
- to be used in 99% of cases.
- One form field = One database column, as plain text.
- This is a prefered storage format
CUSTOM STORAGE FORMAT
Custom | Article | database_column_fieldname
- Mandatory storage for plugins fields:
- FieldX
- GroupX.
NOTE: for working without hack, but to make a bridge with Joomla, SEBLOD use the introtext to store an ID. So the standard introtext field use also this custom storage. But it's not because the introtext field that uses this storage is preferred to store multiple fields here. therefore, do not use the column "introtext" to store your FieldX and GroupX fields. You can store them in other columns/databases, same as with Standard storage format.
JSON STORAGE FORMAT
JSON | Article | database_field_column [field_name]
- Used by Joomla to store fields like metadata.
I want to store my data as integer format, how to do that?
After the storage configuration in a field, a checkbox "Alter" give access to choose the storage format for the data in databse. By default for most of fields, SEBLOD set it as VARCHAR(255). Here you can choose other format.
If the format you need is not in the select, you have to go directly in the database to fixe it manually.