Display the save button at the top of the page.
This page uses a RowEditor and a couple view helpers (primarily bootstrapForm()) to provide input validation and saving capabilities to a CRUD component.
The stock page controller implements a basic three step execution process:
Sub-classes, such as EditAbstract, can be created that alter this basic page controller flow of execution. EditAbstract, for example, will only call process() if the request is a POST.
$view : \Dewdrop\View\View
A view object available for rendering. Generally, your page should not be rendering any output directly, but instead passing information from models to the view and then rendering the view.
$request : \Dewdrop\Request
An object representing the current HTTP request. The is primarily around to make it easier to test your pages by injecting POST and GET data into the request object.
$rowEditor : \Dewdrop\Fields\RowEditor
The row editor we'll use to actually perform the validation and editing.
$model : \Dewdrop\Db\Table
The primary model from the CRUD component.
$fields : \Dewdrop\Fields
The fields used when rendering the edit form.
__construct(\Dewdrop\Admin\Component\ComponentInterface $component, \Dewdrop\Request $request, string $viewScriptPath = null)
Create a new page with a reference to its component and the file in which it is defined.
Also, by default, the page will be configured to look for view scripts in the view-scripts sub-folder of its component.
On a POST request, validate the user's input. If valid, save using the RowEditor, set a success message and then redirect. Should also behave reasonably well when used as an endpoint for an XHR by returning a success message and the new primary key value.
url(string $page, array $params = array()) : string
As the component this page belongs to for a URL matching the provided page and query string parameters. This method should always be used for generating URLs in your components so that it will play nicely with various WP integration points like submenus.
createResponseHelper(callable $redirector) : \Dewdrop\Admin\ResponseHelper\Standard
Create a response helper object for this page.
If your page would benefit from an alternative response helper with additional methods relevant to your use case, you can override this method and the helper will be injected into the page's process() method rather than the standard helper created in PageAbstract.
getView() : \Dewdrop\View\View
Get a reference to this page's view object.
getRowEditor() : \Dewdrop\Fields\RowEditor