diff --git a/wire/modules/Inputfield/InputfieldSelector/InputfieldSelector.module b/wire/modules/Inputfield/InputfieldSelector/InputfieldSelector.module index af354456..a3236a4e 100644 --- a/wire/modules/Inputfield/InputfieldSelector/InputfieldSelector.module +++ b/wire/modules/Inputfield/InputfieldSelector/InputfieldSelector.module @@ -260,12 +260,13 @@ class InputfieldSelector extends Inputfield implements ConfigurableModule { if(!$this->wire('user')->isLoggedin()) return; $this->set('initValue', $this->sessionGet('initValue')); - $this->setup(); $sanitizer = $this->wire('sanitizer'); foreach($this->sessionVarNames as $key) { $this->set($key, $this->sessionGet($key)); } + + $this->setup(); if($action == 'field') { $out = $this->renderSelectField(); @@ -1273,8 +1274,16 @@ class InputfieldSelector extends Inputfield implements ConfigurableModule { if($type != 'checkbox' && !isset($this->systemFields[$fieldName]) && !isset($this->modifierFields[$fieldName])) { // allow for a "None" option to find pages that have no selections for the field - $selected = $selectedValue == '""' ? ' selected' : ''; - $out .= "" . $this->_('None') . ""; + $none = '0'; + foreach($options as $value => $label) { + // if select is using "0" as a literal selectable value, don't consider it as "None" + if($value === 0 || $value === '0') { + $none = '""'; + break; + } + } + $selected = $selectedValue == $none || $selectedValue == '""' ? ' selected' : ''; + $out .= "" . $this->_('None') . ""; } // render each option