/** * action show * * @return mixed */ public function showAction() { // No media provided => Skip if (!$this->settings['media']) { return ''; } // Fetch media records $mediaUids = array_map('intval', explode(',', $this->settings['media'])); $mediaRecords = $this->mediaRepository->findByUids($mediaUids); // Keep original order of items $mediaSorted = array(); foreach ($mediaUids as $uid) { foreach ($mediaRecords as $record) { if ($record->getUid() === $uid) { $mediaSorted[] = $record; break; } } } $this->view->assign('media', $mediaSorted); }