Domain model with images


I need to include an overwiev image to my domain model.
It has to be there because the models (like projects in crowd funding) will have a lot of sorting possibilities.

  1. What is the correct Type to deal with images in a domain model?
  • upload/select (from a collection) /crop an Image
  • display it in a fluid template

Is there any example?

Thanks again

  • If you want plain Flow take a look at \TYPO3\Flow\Resource\Resource that ist the most basic reprensentation of an upload Flow has. U can use this in your templates f:uri.resource view helper but scaling and cropping will be difficult
  • To scale images you can also use \TYPO3\Media\Domain\Model\Image … which can be rendered and scaled with the view helper
  • For cropping take a look at the \TYPO3\Media\Domain\Model\ImageVariant model that can also be rendered with the media-viewHelpers. Getting a user-interface for cropping like in the neos inspector will be not that easy since this part was not made to be reused in flow. In Neos all that comes for free.

Thanks a lot Martin.

In my case, we have a Neos backend module for the Projects (domain model).
For the actionNew and actionEdit, I’d like to have an “image chooser” in the forms.
More or less like the one in the inspector.
In Neos there will be a plugin for the project overview (list of all projects) with that images.

By the way: a date chooser is also needed.

Have a nice day

I see no good way to reuse the whole inspector editors currently. At least as long as you do’nt create your module as an ember app. I have no experience with ember but it might work.

With the react rewrite things might become easier since there you have a separate package with the reusable ui-components . Nevertheless in that case your be-module has to be a react-app.

For your current problem i suggest to use the js-tools you like, with a matching datepicker and autosuggest function and provide an json-endpoint to select assets.

Or if you like comfort find a way to use cr-documents to manage your data. Keep in mind that a document not necessarily has to be accessible from the frontend.