/** * @return Psc|CMS\AutoCompleteMeta|Traversable(Collection) von Entities */ public function getAvaibleItems() { if (!isset($this->avaibleItems)) { if (!$this->entityMeta instanceof \Psc\CMS\EntityMeta) { throw new \Psc\Exception('Erst dpi() aufrufen oder avaibleItems setzen. (EntityMeta fehlt)'); } $this->avaibleItems = $this->entityMeta->getAutoCompleteRequestMeta(); } return $this->avaibleItems; }
public function dpi(EntityMeta $entityMeta, DCPackage $dc, AutoCompleteRequestMeta $requestMeta = NULL) { $this->entityMeta = $entityMeta; $this->dc = $dc; if (isset($requestMeta)) { $this->requestMeta = $requestMeta; } else { $this->requestMeta = $this->entityMeta->getAutoCompleteRequestMeta(); } return $this; }
public function __construct(EntityMeta $entityMeta, $maxResults = 15) { $acRequest = $entityMeta->getAutoCompleteRequestMeta(array('term' => NULL)); $item = new stdClass(); $item->genitiv = $entityMeta->getGenitiv(); $item->fields = \Psc\FE\Helper::listStrings($entityMeta->getAutoCompleteFields(), ', ', ' oder '); $item->type = $entityMeta->getEntityName(); $item->url = $acRequest->getUrl(); $item->label = $entityMeta->getLabel(EntityMeta::CONTEXT_AUTOCOMPLETE); $item->data = array(); parent::__construct($item); $this->maxResults = $maxResults; // copy from meta // (hier die setter nehmen falls wir mal den search panel schön bauen sollten ;)) $this->setLabel($entityMeta->getAutoCompleteHeadline()); $this->setAutoCompleteDelay($entityMeta->getAutoCompleteDelay()); $this->setAutoCompleteBody($acRequest->getBody()); $this->setAutoCompleteMinLength($entityMeta->getAutoCompleteMinLength()); }