5.0.0 

Breaking 

  • Remove support for TYPO3 v12.

Features 

  • Add support for TYPO3 v14.
  • Handle images and other files properly via FAL upon import. Target file directory is now part of the import configuration.
  • Import opening hours as inline database records ( tx_thuecat_opening_hours) and expose a display-ready, computed shape via Domain\Model\Frontend\Place::getComputedOpeningHours() and getComputedSpecialOpeningHours(). The shape groups records into validity periods, lists every weekday Monday-first, keeps all time spans of a day and marks days without hours as closed. A OpeningHours/PerDayTable partial renders it. The current open/closed status is intentionally left to client-side logic.

Fixes 

Nothing

Tasks 

Nothing

Deprecation 

  • The json-based media storage has been superseeded by proper FAL handling. The json-based output logic is still in

place. The next import will copy and relate the files as needed. With the next fitting version, the json-based fields will be removed.

Deprecated, triggering E_USER_DEPRECATED on use:

  • Domain\Model\Frontend\Media::getMainImage(), getImages(), getExtraImages(), getEditorialImages() and getAllImages() (the json-blob read accessors).
  • Domain\Model\Frontend\Base::getMedia() (hands out the json-blob carrier).

Use the FAL fields instead, available as native Extbase properties on Base: getMainImage() ( main_image), getMediaFiles() ( media_files) and getEditorialImages() ( editorial_images). Re-run the import to populate main_image and media_files; editorial_images is maintained in the backend. Templates should switch from {record.media.*} to these properties.

  • The editorial_images field is now handled as the FAL field it always has been. Replace template output from {entity.media.editorialImages} to {entity.editorialImages} to make use of the full FAL provided functionality.
  • The json-based opening hours storage has been superseeded by inline database records. The json-based output logic is still in place. The next import will create the inline records as needed. With the next fitting version, the json-based fields will be removed.

    Deprecated, triggering E_USER_DEPRECATED on use:

    • Domain\Model\Frontend\Place::getOpeningHours(), getMergedOpeningHours(), getSpecialOpeningHours() and getMergedSpecialOpeningHours() (the json-blob read accessors).

    The legacy \Domain\Model\Frontend\OpeningHours, MergedOpeningHours and MergedOpeningHourWeekDay models are deprecated alongside them.

    Use getComputedOpeningHours() / getComputedSpecialOpeningHours() instead. Re-run the import to populate the inline records. Templates should switch from {record.openingHours} / {record.mergedOpeningHours} to the OpeningHours/PerDayTable partial.