diff --git a/administrator/components/com_templates/src/Model/TemplateModel.php b/administrator/components/com_templates/src/Model/TemplateModel.php index e75946afbd990..f29a555b890de 100644 --- a/administrator/components/com_templates/src/Model/TemplateModel.php +++ b/administrator/components/com_templates/src/Model/TemplateModel.php @@ -1810,12 +1810,20 @@ public function getMediaFiles() $path = Path::clean(JPATH_ROOT . '/media/templates/' . ($template->client_id === 0 ? 'site' : 'administrator') . '/' . $template->element . '/'); $this->mediaElement = $path; + if (!is_dir($path)) { + // Just in case a template does not include any media + Folder::create($path); + } + if (!is_writable($path)) { $app->enqueueMessage(Text::_('COM_TEMPLATES_DIRECTORY_NOT_WRITABLE'), 'error'); } - if (is_dir($path)) { - $result = $this->getDirectoryTree($path); + $result = $this->getDirectoryTree($path); + + if (empty($result)) { + // Make sure empty folder appears in 'Templates: Customise' page. + $result = ['.']; } return $result;