Neos\FluidAdaptor\ViewHelpers\Form\AbstractFormFieldViewHelper::getNameWithoutPrefix PHP Method

getNameWithoutPrefix() protected method

Get the name of this form element, without prefix.
protected getNameWithoutPrefix ( ) : string
return string name
    protected function getNameWithoutPrefix()
    {
        if ($this->isObjectAccessorMode()) {
            $propertySegments = explode('.', $this->arguments['property']);
            $formObjectName = $this->viewHelperVariableContainer->get(\Neos\FluidAdaptor\ViewHelpers\FormViewHelper::class, 'formObjectName');
            if (!empty($formObjectName)) {
                array_unshift($propertySegments, $formObjectName);
            }
            $name = array_shift($propertySegments);
            foreach ($propertySegments as $segment) {
                $name .= '[' . $segment . ']';
            }
        } else {
            $name = $this->arguments['name'];
        }
        if ($this->hasArgument('value')) {
            /** @var object $value */
            $value = $this->arguments['value'];
            $multiple = $this->hasArgument('multiple') && $this->arguments['multiple'] === true;
            if (!$multiple && is_object($value) && $this->persistenceManager->getIdentifierByObject($value) !== null && !$this->persistenceManager->isNewObject($value)) {
                $name .= '[__identity]';
            }
        }
        return $name;
    }

Usage Example

 /**
  * Get the name of this form element, without prefix.
  *
  * This is done to prevent the extra __identity being added for objects
  * since it leading to property mapping errors and it works without it.
  *
  * @return string name
  */
 protected function getNameWithoutPrefix()
 {
     $name = parent::getNameWithoutPrefix();
     return str_replace('[__identity]', '', $name);
 }