The schema-validation is limited by the current predefined structure. On the other hand the schema files could be a very important source of documentation.
ExampleData:
items:
foo:
itemType: 'type1'
option1: 'option required for type 1'
| # | |
| # ATTENTION UNTESTED PSEUDO-CODE TO SHOW THE PRINCIPLE IDEA | |
| # | |
| # THIS DOES NOT WORK YET | |
| # | |
| prototype(Neos.Fusion:RawCollection) { | |
| // store __node reference in the rendered result | |
| // if item is a node and the value is an array | |
| [email protected] { |
| public function initializeUploadAction() | |
| { | |
| if ($this->request->getParentRequest()->hasArgument('uploadFiles')) { | |
| $uploadFiles = $this->request->getParentRequest()->getArgument('uploadFiles'); | |
| $resources = []; | |
| foreach ($uploadFiles as $uploadFile) { | |
| $resource = ['tmp_name' => $uploadFile['tmp_name'], 'name' => $uploadFile['name']]; | |
| $newResource = $this->resourceManager->importUploadedResource($resource); | |
| $resources[] = $newResource; | |
| } |
Thesis: Structural Editing is like SquelPro on the NodeData-Table with the knowledge of NodeTypes, Pathes, Dimensions, Workspaces and Constraints
Example use cases:
Structural Editing is included as an alternative to the Content Module for a site and can be used to handle and structure content that is not necessary a website.
| <f:if condition="{node.context.targetDimensions.language} != {node.dimensions.language.0}"> | |
| The language fallback is active. | |
| </f:if> |
| //create logger | |
| $this->logger = \TYPO3\Flow\Log\LoggerFactory::create('myLoggerName', 'TYPO3\Flow\Log\Logger', '\TYPO3\Flow\Log\Backend\FileBackend', array( | |
| 'logFileURL' => FLOW_PATH_DATA . 'Logs/myLoggerName.log', | |
| 'createParentDirectories' => TRUE, | |
| 'severityThreshold' => LOG_INFO, | |
| 'maximumLogFileSize' => 10485760, | |
| 'logFilesToKeep' => 1, | |
| 'logIpAddress' => TRUE | |
| )); |