예제 #1
0
 /**
  * 
  * @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;
 }
예제 #2
0
 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));
         }
     }
 }