/** * * @param string $bundleName The name of the bundle * @return FrontendModule[] Returns all bundle modules allowing custom templates */ protected function BundleModules($bundleName) { $moduleNames = PathUtil::FrontendModules($bundleName); $result = array(); foreach ($moduleNames as $moduleName) { $type = ClassFinder::CalcModuleType($bundleName, $moduleName); $module = ClassFinder::CreateFrontendModule($type); if ($module instanceof FrontendModule && $module->AllowCustomTemplates()) { $result[] = $module; } } return $result; }
private function AddModulesField() { $name = 'Module'; $select = new Select($name, ''); $select->AddOption('', Trans('Core.PleaseSelect')); $this->AddField($select); $this->SetRequired($name); foreach (PathUtil::Bundles() as $bundle) { $modules = PathUtil::FrontendModules($bundle); foreach ($modules as $moduleName) { $type = ClassFinder::CalcModuleType($bundle, $moduleName); $module = ClassFinder::CreateFrontendModule($type); if ($module instanceof FrontendModule && self::Guard()->Allow(BackendAction::UseIt(), $module->ContentForm())) { $this->AddModuleTypeOption($select, $type); } //$select->AddOption($type, Trans($type)); } } }