Пример #1
0
 public function buildForm()
 {
     $translator = $this->getTranslator();
     $serviceLocator = $this->getServiceLocator();
     $url = $serviceLocator->get('ViewHelperManager')->get('url');
     $templateSelect = new ResourceSelect($serviceLocator);
     $templateSelect->setName('o:resource_template[o:id]')->setAttribute('id', 'resource-template-select')->setAttribute('data-api-base-url', $url('api/default', ['resource' => 'resource_templates']))->setLabel($translator->translate('Resource Template'))->setEmptyOption($translator->translate('Select Template'))->setOption('info', $translator->translate('A pre-defined template for resource creation.'))->setResourceValueOptions('resource_templates', [], function ($template, $serviceLocator) {
         return $template->label();
     });
     $this->add($templateSelect);
     $classSelect = new ResourceSelect($serviceLocator);
     $classSelect->setName('o:resource_class[o:id]')->setAttribute('id', 'resource-class-select')->setLabel($translator->translate('Class'))->setEmptyOption($translator->translate('Select Class'))->setOption('info', $translator->translate('A type for the resource. Different types have different default properties attached to them.'))->setResourceValueOptions('resource_classes', [], function ($resourceClass, $serviceLocator) {
         return [$resourceClass->vocabulary()->label(), $resourceClass->label()];
     });
     $this->add($classSelect);
     $inputFilter = $this->getInputFilter();
     $inputFilter->add(['name' => 'o:resource_template[o:id]', 'required' => false]);
     $inputFilter->add(['name' => 'o:resource_class[o:id]', 'required' => false]);
 }
Пример #2
0
 public function buildForm()
 {
     parent::buildForm();
     $this->setAttribute('enctype', 'multipart/form-data');
     $translator = $this->getTranslator();
     $serviceLocator = $this->getServiceLocator();
     $auth = $serviceLocator->get('Omeka\\AuthenticationService');
     $itemSetSelect = new ResourceSelect($serviceLocator);
     $itemSetSelect->setName('o:item_set')->setAttribute('required', false)->setAttribute('multiple', true)->setAttribute('id', 'select-item-set')->setAttribute('data-placeholder', $translator->translate('Select Item Sets...'))->setLabel($translator->translate('Item Sets'))->setOption('info', $translator->translate('Select Items Sets for this resource.'))->setResourceValueOptions('item_sets', [], function ($itemSet, $serviceLocator) {
         return $itemSet->displayTitle();
     });
     if (!$itemSetSelect->getValueOptions()) {
         $itemSetSelect->setAttribute('disabled', true);
         $itemSetSelect->setAttribute('data-placeholder', $translator->translate('No item sets exist'));
     }
     $this->add($itemSetSelect);
     $inputFilter = $this->getInputFilter();
     $inputFilter->add(['name' => 'o:item_set', 'required' => false]);
 }