‪TYPO3CMS  9.5
AutocompleteController.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
21 {
25  public function ‪indexAction()
26  {
27  $this->view->assign('id', $this->widgetConfiguration['for']);
28  }
29 
34  public function ‪autocompleteAction($term)
35  {
36  $searchProperty = $this->widgetConfiguration['searchProperty'];
37  $query = $this->widgetConfiguration['objects']->getQuery();
38  $constraint = $query->getConstraint();
39  if ($constraint !== null) {
40  $query->matching($query->logicalAnd($constraint, $query->like($searchProperty, '%' . $term . '%', false)));
41  } else {
42  $query->matching($query->like($searchProperty, '%' . $term . '%', false));
43  }
44  $results = $query->execute();
45  ‪$output = [];
46  foreach ($results as $singleResult) {
47  $val = ‪\TYPO3\CMS\Extbase\Reflection\ObjectAccess::getProperty($singleResult, $searchProperty);
48  ‪$output[] = [
49  'id' => $val,
50  'label' => $val,
51  'value' => $val
52  ];
53  }
54  return json_encode(‪$output);
55  }
56 }
‪TYPO3\CMS\Fluid\ViewHelpers\Widget\Controller
Definition: AutocompleteController.php:2
‪TYPO3\CMS\Fluid\ViewHelpers\Widget\Controller\AutocompleteController\autocompleteAction
‪string autocompleteAction($term)
Definition: AutocompleteController.php:34
‪$output
‪$output
Definition: annotationChecker.php:113
‪TYPO3\CMS\Extbase\Reflection\ObjectAccess\getProperty
‪static mixed getProperty($subject, $propertyName, $forceDirectAccess=false)
Definition: ObjectAccess.php:54
‪TYPO3\CMS\Fluid\ViewHelpers\Widget\Controller\AutocompleteController\indexAction
‪indexAction()
Definition: AutocompleteController.php:25
‪TYPO3\CMS\Fluid\Core\Widget\AbstractWidgetController
Definition: AbstractWidgetController.php:25
‪TYPO3\CMS\Fluid\ViewHelpers\Widget\Controller\AutocompleteController
Definition: AutocompleteController.php:21