• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!


Creating your own pages

Page history last edited by majd87@... 16 years, 1 month ago

To generate a CRUD, CodeExtinguisher needs to know what table you're using, what controller is associated with the page, and what kind of plugins you want to populate the form. Because the process of creating a new controller, writing the PHP syntax for the array, and hand-writing all the options can be very repetitive, a default controller is provided for you. The controller is called CRUD and is located in codex/application/controllers/crud.php. If you opt to use the CRUD controller, then you don't need to configure a table, or a controller name, as the controller generates them automatically. You do however, still need to write your form configuration, as well as any optional parameters you would like to include.


To generate a basic CRUD page, you simply create the table in your database, and CodeExtinguisher will take care of the rest for you. The form that gets generates however is very basic, and often needs to be customized. To do that, you create a file in the definitions/ directory whose name correlates to the table name. The only semantic requirement for the file is to contain the form_setup directive, which outlines which plugins are associated with what fields.


If you want to create a new page called Posts, you first create the table in phpMyAdmin (or whatever database management software you prefer), and then you create a file called posts.yml in the definitions/ directory with the following format:



If you would like to add validation rules, then you define them in the rules directive. Your file would now look like:


  first_field: trim|required


These options (rules, form_setup) are called directives, and there are a few directives you can define:


db_table  yes  The name of the database table associated with that page 
form_setup  yes  The form layout
controller_name  yes  The name of the controller (used to build the links) 
table_access_restrictions  no  Imposes restrictions on the content that the user can see in the Overview page 
order_by  no  The default field to order the results by
order_type   no  The default type of ordering  
page_header  no  The name to be displayed in the crumbs and the title bar of the browser 
view_mode  no  The view mode to use in the Overview page
rules  no  Validation rules 
display_fields  no  The table fields to display in the Overview page 
on_one_page   no  The number of results to display on each page (pagination) 
first_item  no  The first item to display (this is set by default) 
add_link  no  The link to the "Add New" page (this is set by default) 
edit_link  no  The link to the "Edit Existing Item" page (this is set by default) 
add_action  no  The action of the "Add New" form (this is set by default) 
edit_action  no  The action of the "Edit Extisting Item" form (this is set by default) 
delete_action  no  The action of the "Delete Selected" form (this is set by default) 
search_action  no  The action of the search form (this is set by default) 
controller_link  no  The link to the controller 



Note:  CodeExtinguisher will automatically generate links for you. If you create your own controller, then you need to stop CodeExtinguisher from generating the link (by adding it to codex_exclude_tables in config/codex.php) and adding it to codex_navigation in the same file.

Comments (0)

You don't have permission to comment on this page.