Seblod is a best thing happen in Joomla ! but as developer, you sometime like to extend seblod to have field the way you wanted, this article explain on how seblod field works. At this time of writing there's no official developer guide in seblod, so this is solely based on my experience on working with seblod for over 3 years.
Seblod field is working in two level of depth: Form Field (field that joomla user sees) and Construction Field (field that made Form field, storage and behavior set here). 

Form Field

There are two type of the form field:

  • Bind to specific content type
  • Independent for any content type

On your first several project, you likely to use the bind type, it indicates by a locked icon on content type screen.

Note: when you see this padlock active, every field you create will be a bind one


You use Independent type, for field that likely need for multiple usage, for example a social tag field . You need to have function for article to be able to share in Twitter and Facebook. By build a social tag field, you can use in multiple content type.

A form field is required to build a Content Types. It has  many field types and you can see on the List Field. When setting up a form field.  Each parameter usually self-explainatory like Default Value, Max Length, etc. Two thing that you need to aware is:

  • Format of the value stored
  • Joomla Object Type
  • Location of the value stored (Storage location)

Format of the value stored

There are 3  type of value format:

  • Standard. Usually use single value in single field
  • JSON. Create multiple-value in single field in JSON Format
  • Custom. Create multiple -value in single field in native SEBLOD Format

Location of the value stored (Storage location)

There are 5 storage object type:

  • Free Type. You have option to store anywhere
  • Article. Store in relation with  #__content
  • Category. Store in relation with  #__categories
  • User.  Store in relation with  #__users
  • Usergroup. Store in relation with  #__usergroup

Two more option that you able to set:

  • Field. Related with field column on joomla core table based on Storage object you set above
  • Alter. The decision when you need to modify joomla core table OR use additional SEBLOD’s custom field table.

When you manage an article, If your storage  field location is in introtext, you have to use Custom Format. When you manage a category,  you also have to use Custom Format in Description

Technical notes
For additional seblod custom field table, the rules of additional table’s name  as follow

Form Field


Table in Database

Bind Mode


#__cck_store_form_<content type name>

Unbind Mode


#__cck_store_item_<content type name>

Bind Mode



Unbind Mode




Construction Field

Construction Field is highly related with understanding #__cck_core_fields table works
One of characteristic of Construction Field is where storage is set to ‘dev’.  Another thing to look is the ‘storage_field’.  “storage_field “  stored column name  of where the value of Form Field stored
So, let’s take a look on ‘core_defaultvalue’ field. The objective for this field is to set a default value in Form field.

Now, see how’s the process behind the scene works. If you run query for ‘core_defaultvalue’ in name field on  ‘#__cck_core_fields’, and you look at ‘storage’ and ‘storage_field’ you’ll find two value:
‘storage’ is set to ‘dev’, ‘storage_field’ is set to ‘defaultvalue’

What happen is..when you create an Form Field,  for example a Text Field, you’ll be ask for a default value and ‘core_defaultvalue’ will handle this. If you set a value in default value field,  it will be stored in defaultvalue column on ‘#__cck_core_fields’.