FluidTYPO3\Flux\Form\Field\Select::getItems PHP 메소드

getItems() 공개 메소드

public getItems ( ) : array
리턴 array
    public function getItems()
    {
        $items = array();
        if (TRUE === $this->items instanceof QueryInterface) {
            $items = $this->addOptionsFromResults($this->items);
        } elseif (TRUE === is_string($this->items)) {
            $itemNames = GeneralUtility::trimExplode(',', $this->items);
            if (!$this->getTranslateCsvItems()) {
                foreach ($itemNames as $itemName) {
                    array_push($items, array($itemName, $itemName));
                }
            } else {
                foreach ($itemNames as $itemName) {
                    $resolvedLabel = $this->resolveLocalLanguageValueOfLabel('', $this->getPath() . '.option.' . $itemName);
                    array_push($items, array($resolvedLabel, $itemName));
                }
            }
        } elseif (TRUE === is_array($this->items) || TRUE === $this->items instanceof \Traversable) {
            foreach ($this->items as $itemIndex => $itemValue) {
                if (TRUE === is_array($itemValue) || TRUE === $itemValue instanceof \ArrayObject) {
                    array_push($items, $itemValue);
                } else {
                    array_push($items, array($itemValue, $itemIndex));
                }
            }
        }
        $emptyOption = $this->getEmptyOption();
        if (FALSE !== $emptyOption) {
            array_unshift($items, array($emptyOption, ''));
        }
        return $items;
    }

Usage Example

예제 #1
0
 /**
  * @return array
  */
 public function getItems()
 {
     $basicItems = parent::getItems();
     if (0 < count($basicItems)) {
         return $basicItems;
     } else {
         $actions = $this->getActions();
         if (0 === count($actions)) {
             $actions = $this->getActionsForExtensionNameAndPluginName($this->controllerExtensionName, $this->pluginName);
         }
         return $this->buildItemsForActions($actions);
     }
 }