FieldtypeRuntimeOnly by Robin S

An inputfield that renders at runtime, with no data saved to the database.

Fieldtype Runtime Only

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.js will be added to admin if that file exists.
  • CSS file /site/templates/RuntimeOnly/my_field.css will be added to admin if that file exists.

Tips


Output formatting

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');

Repeaters

If the RuntimeOnly field is used inside a Repeater field then you can get the Repeater page it is on via $inputfield->hasPage. E.g.

$repeater_page = $inputfield->hasPage;
// Use $repeater_page as needed
echo "The name of the repeater page is $repeater_page->name";

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer