ExpressionEngine Docs

Fieldtype Bridge


To make your fieldtype compatible with Pro Variables, you can choose to return TRUE for the content type pro_variables in your accepts_content_type method. You can also use specific methods which are called. As a rule, these methods are named var_x, where x is the original method name.

Note: The var_display_field method must be defined in your fieldtype in order to show up in Pro Variables.

Properties

Fieldtypes that are called by Pro Variables have the following properties available:

$this->content_type

Always set to pro_variables.

$this->id

The variable ID; NULL when new or not known.

$this->name

The variable name; NULL when new or not known.

$this->row

The entire variable row, including variable data, label, and more.

$this->settings

The (decoded) variable settings.

Methods

You can use the following methods in your fieldtype to further enhance Pro Variables compatibility.

var_display_field (required)

Displays the input field on the module home page. You can access the current variable id with $this->id.

Arguments

  • $data (string) — The current variable data.

Return

A string containing the HTML to be used in the module’s home page.

var_display_settings

If the fieldtype has settings, use this method to display them. You can access the current variable id with $this->id.

Arguments

  • $settings (array) — The current variable’s settings.

Return

An array containing two elements: the name/label in the first element, the form element(s) in the second.

var_save_settings

Use this method to catch the settings values before saving them to the database.

Arguments

  • $settings (array) — The posted variable’s settings.

Return

An associative array containing the settings to be saved.

var_post_save_settings

Use this method for additional processing when a (new) variable has been saved to the database.

Arguments

  • $settings (array) — The posted variable’s settings.

Return

NULL

var_save

Use this method to catch the variable value before saving it to the database.

Arguments

  • $data (string) — The posted variable data.

Return

A string containing the modified variable data to be saved.

var_post_save

Use this method to do something after the variable value has been saved to the database.

Arguments

  • $data (string) — The current variable data.

var_replace_tag

Use this method for displaying the variable value in your templates, using the {exp:pro_variables:parse}, {exp:pro_variables:single} and {exp:pro_variables:pair} tags.

Arguments

  • $data (string) — The current variable’s value.
  • $tagparams (array) — The tag parameters.
  • $tagdata (string) — The current tag data.

Return

A string containing the modified tagdata.

var_delete

Use this method for additional processing before a variable is deleted.

Arguments

  • $id (int) — The ID of the variable about to be deleted.

Return

NULL