Inline Edits With PHP/AJAX: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 8: | Line 8: | ||
* Assign the container a class that will serve as a selector for inline edits. Something like `status-cell`, `in-stock-cell`, `access-cell`, etc. | * Assign the container a class that will serve as a selector for inline edits. Something like `status-cell`, `in-stock-cell`, `access-cell`, etc. | ||
* The container has a `data-id` attribute with the parent record's id as its value. | * The container has a `data-id` attribute with the parent record's id as its value. | ||
* Variable name | |||
** The PHP variable used to access the value displayed in the cell is typically `$row` on listings pages and `$input` on details pages. | |||
** The content template will have to accommodate whatever variable is used on its parent page. | |||
=== Editable content === | === Editable content === | ||
Revision as of 13:07, 6 September 2014
Markup
Editable container
Add a `<td> or <div> container as a container for the inline edits.
- The container's content is changed to accommodate the edits, but not the container itself.
Assign the container a class that will serve as a selector for inline edits. Something likestatus-cell,in-stock-cell,access-cell, etc.The container has adata-idattribute with the parent record's id as its value.Variable nameThe PHP variable used to access the value displayed in the cell is typically$rowon listings pages and$input` on details pages.- The content template will have to accommodate whatever variable is used on its parent page.
Editable content
Create an include file for the flattened content that can be shared between listings and details pages.
- path:
[SECTION_BASE_DIR]_templates/content/[content_type]-cell.php - The actual content of this file doesn't affect the process; it can be anything.
Editing form
Create an include file to be inserted into the DOM by the editing handler.
- path:
[SECTION_BASE_DIR]_templates/forms/[content_type]-edit-form.php - Include a hidden error message container with class
alert alert-error. - Hidden form inputs:
id: parent record id[class_id_param]: parent record id parameter as defined in the parent PHP class- Any filter values needed to present options during the process.
- A form input for the property being edited.
- Submit buttons are optional. Ideally an
onchangeor Enter key keystroke handler will cause the inline form to be submitted.
Examples
- Littledamien storage CMS > package status container
- Damien Jay Comics books CMS > in-stock container