TYPO3 CMS  TYPO3_6-2
ErrorsViewHelper.php
Go to the documentation of this file.
1 <?php
3 
4 /* *
5  * This script is backported from the TYPO3 Flow package "TYPO3.Fluid". *
6  * *
7  * It is free software; you can redistribute it and/or modify it under *
8  * the terms of the GNU Lesser General Public License, either version 3 *
9  * of the License, or (at your option) any later version. *
10  * *
11  * *
12  * This script is distributed in the hope that it will be useful, but *
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- *
14  * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser *
15  * General Public License for more details. *
16  * *
17  * You should have received a copy of the GNU Lesser General Public *
18  * License along with the script. *
19  * If not, see http://www.gnu.org/licenses/lgpl.html *
20  * *
21  * The TYPO3 project - inspiring people to share! *
22  * */
58 
67  public function render($for = '', $as = 'error') {
68  $errors = $this->controllerContext->getRequest()->getErrors();
69  if ($for !== '' && $for !== NULL) {
70  $propertyPath = explode('.', $for);
71  foreach ($propertyPath as $currentPropertyName) {
72  $errors = $this->getErrorsForProperty($currentPropertyName, $errors);
73  }
74  }
75  $output = '';
76  foreach ($errors as $errorKey => $error) {
77  $this->templateVariableContainer->add($as, $error);
78  $output .= $this->renderChildren();
79  $this->templateVariableContainer->remove($as);
80  }
81  return $output;
82  }
83 
91  protected function getErrorsForProperty($propertyName, $errors) {
92  foreach ($errors as $error) {
93  if ($error instanceof \TYPO3\CMS\Extbase\Validation\PropertyError) {
94  if ($error->getPropertyName() === $propertyName) {
95  return $error->getErrors();
96  }
97  }
98  }
99  return array();
100  }
101 }