‪TYPO3CMS  ‪main
TypeSelect.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
21 
28 {
32  protected ‪$matchArray = [
33  'fieldConfig' => [
34  'config' => [
35  'type' => 'select',
36  ],
37  ],
38  ];
39 
47  public function ‪generate(array $data): string
48  {
49  $result = [];
50  if (isset($data['fieldConfig']['config']['items']) && count($data['fieldConfig']['config']['items']) > 1) {
51  $numberOfItemsToSelect = 1;
52  if (isset($data['fieldConfig']['config']['minitems'])) {
53  $numberOfItemsToSelect = $data['fieldConfig']['config']['minitems'];
54  }
55  $isFirst = true;
56  foreach ($data['fieldConfig']['config']['items'] as $item) {
57  if ($isFirst) {
58  // Ignore first item
59  $isFirst = false;
60  continue;
61  }
62  // Ignore divider
63  if (isset($item['value'])) {
64  $value = $item['value'];
65  if ($value !== '--div--') {
66  if (count($result) <= $numberOfItemsToSelect) {
67  $result[] = $value;
68  }
69  if (count($result) === $numberOfItemsToSelect) {
70  break;
71  }
72  }
73  }
74  }
75  }
76  return implode(',', $result);
77  }
78 }
‪TYPO3\CMS\Styleguide\TcaDataGenerator\FieldGenerator\TypeSelect\generate
‪string generate(array $data)
Definition: TypeSelect.php:46
‪TYPO3\CMS\Styleguide\TcaDataGenerator\FieldGenerator\AbstractFieldGenerator
Definition: AbstractFieldGenerator.php:29
‪TYPO3\CMS\Styleguide\TcaDataGenerator\FieldGenerator
Definition: AbstractFieldGenerator.php:18
‪TYPO3\CMS\Styleguide\TcaDataGenerator\FieldGenerator\TypeSelect\$matchArray
‪array $matchArray
Definition: TypeSelect.php:31
‪TYPO3\CMS\Styleguide\TcaDataGenerator\FieldGeneratorInterface
Definition: FieldGeneratorInterface.php:26
‪TYPO3\CMS\Styleguide\TcaDataGenerator\FieldGenerator\TypeSelect
Definition: TypeSelect.php:28