An inputfield that renders at runtime, with no data saved to the database.
Not a proper fieldtype because it doesn't save data to the database. The fieldtype only exists to provide a convenient way to add an inputfield to templates that will render some markup at runtime.
For a field named "my_field"...
- Inputfield markup will be rendered from a file at
/site/templates/RuntimeOnly/my_field.php. In addition to the standard ProcessWire variables this file receives:
$page- the page being edited.
$field- the Field object.
$inputfield- the Inputfield object.
- JS file
/site/templates/RuntimeOnly/my_field.jswill be added to admin if that file exists.
- CSS file
/site/templates/RuntimeOnly/my_field.csswill be added to admin if that file exists.
Output formatting for
$page will be off in the context of Edit Page so if you want to use the formatted value of a field in your RuntimeOnly code you should use $page->getFormatted(). E.g.
$value = $page->getFormatted('some_field_name');
If the RuntimeOnly field is used inside a Repeater field then you can get the Repeater page it is on via
$repeater_page = $inputfield->hasPage; // Use $repeater_page as needed echo "The name of the repeater page is $repeater_page->name";