Inline Edits With PHP/AJAX

From Littledamien Wiki
Jump to navigation Jump to search

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 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.
  • 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

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 onchange or Enter key keystroke handler will cause the inline form to be submitted.

Examples