Skip to content

Commit

Permalink
Merge pull request #6270 from graham73may/feature__select-multiple-co…
Browse files Browse the repository at this point in the history
…ntenttypes

Modded core's select field to accommodate for multiple contenttypes.
  • Loading branch information
GwendolenLynch committed Jan 24, 2017
2 parents 6820427 + 4ab588d commit edca9fd
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
5 changes: 5 additions & 0 deletions app/view/twig/editcontent/fields/_select.twig
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@
{% set lookupfieldlist = lookupfield|split(',') %}
{% endif %}
{% set sortingorder = field.sort|default(lookupfieldlist|default([])|first)|default(lookupfield)|default('id') %}

{% if sortingorder == 'contenttype' %}
{% set sortingorder = field.sort|default(lookupfieldlist[1]|default([]))|default(lookupfield)|default('id') %}
{% endif %}

{% set querylimit = field.limit|default(500) %}
{% set wherefilter = field.filter|default({}) %}
{% setcontent lookups = lookuptype where wherefilter order sortingorder nohydrate limit querylimit %}
Expand Down
10 changes: 8 additions & 2 deletions src/Twig/Runtime/RecordRuntime.php
Original file line number Diff line number Diff line change
Expand Up @@ -275,14 +275,20 @@ public function selectField($content, $fieldName, $startempty = false, $keyName
if (is_array($fieldName)) {
$row = [];
foreach ($fieldName as $fn) {
$row[] = isset($c->values[$fn]) ? $c->values[$fn] : null;
if ($fn === 'contenttype') {
$element = $c->contenttype['slug'] . '/' . $element;
$row[] = $c->contenttype['singular_name'];
} else {
$row[] = isset($c->values[$fn]) ? $c->values[$fn] : null;
}
}
$retval[$element] = $row;
} else if ($fieldName === 'contenttype') {
$retval[$element] = $c->contenttype['singular_name'];
} elseif (isset($c->values[$fieldName])) {
$retval[$element] = $c->values[$fieldName];
}
}

return $retval;
}
}

0 comments on commit edca9fd

Please sign in to comment.