From ba44b4bf20280531cf19225875dac7b3ddc4d56c Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Thu, 6 Oct 2016 10:41:59 -0400 Subject: [PATCH] Fix issue processwire/processwire-issues#24 findPagesSelector containing "=page.id" when used outside original intended context, fix ensures it continues to work without dependent selects --- .../Inputfield/InputfieldPage/InputfieldPage.module | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wire/modules/Inputfield/InputfieldPage/InputfieldPage.module b/wire/modules/Inputfield/InputfieldPage/InputfieldPage.module index cae8a24f..4ae02b5b 100644 --- a/wire/modules/Inputfield/InputfieldPage/InputfieldPage.module +++ b/wire/modules/Inputfield/InputfieldPage/InputfieldPage.module @@ -365,7 +365,7 @@ class InputfieldPage extends Inputfield implements ConfigurableModule { $value = null; if($form && (!$subfield || $subfield == 'id')) { // attempt to get value from the form, to account for ajax changes that would not yet be reflected on the page - $in = $form->get($field); + $in = $form->getChildByName($field); if($in) $value = $in->attr('value'); } if(is_null($value)) $value = $page->get($field); @@ -374,6 +374,7 @@ class InputfieldPage extends Inputfield implements ConfigurableModule { $selector = str_replace($tag, "=$value", $selector); } } + return $selector; } @@ -469,7 +470,10 @@ class InputfieldPage extends Inputfield implements ConfigurableModule { } if($template_id) $inputfield->template_id = $template_id; - if($findPagesSelector) $inputfield->findPagesSelector = $findPagesSelector; + + if($findPagesSelector) { + $inputfield->findPagesSelector = self::getFindPagesSelector($page, $findPagesSelector); + } if(strlen($labelFieldFormat) && $labelFieldName === '.') { $inputfield->labelFieldName = $labelFieldFormat;