Allow multiple regions to be selected for product teasers
This commit is contained in:
@@ -67,8 +67,13 @@ class RegionController extends ActionController
|
|||||||
$regionUid = $this->settings['regionUid'];
|
$regionUid = $this->settings['regionUid'];
|
||||||
$region = $this->regionRepository->findByIdentifier($regionUid);
|
$region = $this->regionRepository->findByIdentifier($regionUid);
|
||||||
}
|
}
|
||||||
|
$additionalRegionUids = GeneralUtility::trimExplode(',', $this->settings['additionalRegionUids'], true);
|
||||||
|
$additionalRegionUids = array_map(function ($uid) {
|
||||||
|
return (int)$uid;
|
||||||
|
}, $additionalRegionUids);
|
||||||
|
$teaserRegionUids = array_merge([$region->getUid()], $additionalRegionUids);
|
||||||
$filterSettings = new FilterSettings();
|
$filterSettings = new FilterSettings();
|
||||||
$filterSettings->setRegionUids([$region->getUid()]);
|
$filterSettings->setRegionUids($teaserRegionUids);
|
||||||
$excludedConceptUids = GeneralUtility::trimExplode(',', $this->settings['excludedConceptUids'], true);
|
$excludedConceptUids = GeneralUtility::trimExplode(',', $this->settings['excludedConceptUids'], true);
|
||||||
$limit = $this->settings['showMoreLink'] ? 4 : 0;
|
$limit = $this->settings['showMoreLink'] ? 4 : 0;
|
||||||
$teasers = $this->productDataService->getTeasergroup($filterSettings, $excludedConceptUids, $limit);
|
$teasers = $this->productDataService->getTeasergroup($filterSettings, $excludedConceptUids, $limit);
|
||||||
|
|||||||
@@ -24,6 +24,20 @@
|
|||||||
</config>
|
</config>
|
||||||
</TCEforms>
|
</TCEforms>
|
||||||
</settings.regionUid>
|
</settings.regionUid>
|
||||||
|
<settings.additionalRegionUids>
|
||||||
|
<TCEforms>
|
||||||
|
<exclude>0</exclude>
|
||||||
|
<label>Weitere Gebiete für Teaser:</label>
|
||||||
|
<config>
|
||||||
|
<type>select</type>
|
||||||
|
<renderType>selectMultipleSideBySide</renderType>
|
||||||
|
<foreign_table>tx_epproducts_domain_model_region</foreign_table>
|
||||||
|
<foreign_table_where>AND tx_epproducts_domain_model_region.hidden = 0 AND tx_epproducts_domain_model_region.deleted = 0 ORDER BY tx_epproducts_domain_model_region.name</foreign_table_where>
|
||||||
|
<minitems>0</minitems>
|
||||||
|
<maxitems>5</maxitems>
|
||||||
|
</config>
|
||||||
|
</TCEforms>
|
||||||
|
</settings.additionalRegionUids>
|
||||||
<settings.showMoreLink>
|
<settings.showMoreLink>
|
||||||
<TCEforms>
|
<TCEforms>
|
||||||
<exclude>0</exclude>
|
<exclude>0</exclude>
|
||||||
|
|||||||
Reference in New Issue
Block a user