Skip to content

Commit

Permalink
Fix settings field params via URL
Browse files Browse the repository at this point in the history
  • Loading branch information
engram-design committed Feb 28, 2019
1 parent d28c16a commit 9d38a88
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
23 changes: 23 additions & 0 deletions src/elements/Item.php
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,29 @@ public function getInList()
return false;
}

public function setFieldValuesFromRequest(string $paramNamespace = '')
{
$this->setFieldParamNamespace($paramNamespace);
$values = Craft::$app->getRequest()->getParam($paramNamespace, []);

foreach ($this->fieldLayoutFields() as $field) {
// Do we have any post data for this field?
if (isset($values[$field->handle])) {
$value = $values[$field->handle];
} else if (!empty($this->_fieldParamNamePrefix) && UploadedFile::getInstancesByName($this->_fieldParamNamePrefix . '.' . $field->handle)) {
// A file was uploaded for this field
$value = null;
} else {
continue;
}

$this->setFieldValue($field->handle, $value);

// Normalize it now in case the system language changes later
$this->normalizeFieldValue($field->handle);
}
}


// URLs
// -------------------------------------------------------------------------
Expand Down
23 changes: 23 additions & 0 deletions src/elements/ListElement.php
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,29 @@ public function getOwner()
return null;
}

public function setFieldValuesFromRequest(string $paramNamespace = '')
{
$this->setFieldParamNamespace($paramNamespace);
$values = Craft::$app->getRequest()->getParam($paramNamespace, []);

foreach ($this->fieldLayoutFields() as $field) {
// Do we have any post data for this field?
if (isset($values[$field->handle])) {
$value = $values[$field->handle];
} else if (!empty($this->_fieldParamNamePrefix) && UploadedFile::getInstancesByName($this->_fieldParamNamePrefix . '.' . $field->handle)) {
// A file was uploaded for this field
$value = null;
} else {
continue;
}

$this->setFieldValue($field->handle, $value);

// Normalize it now in case the system language changes later
$this->normalizeFieldValue($field->handle);
}
}


// URLs
// -------------------------------------------------------------------------
Expand Down

0 comments on commit 9d38a88

Please sign in to comment.