Introduction 

What does it do? 

With sponsoring you can create, manage and display projects/promotions like f.e. a competition.

  • Create projects with its ID, description and contact person
  • Assign an Organizer to a project
  • Assign project to a promotion which is based on sys_category in TYPO3
  • Add one or more images
  • Choose from one of the default promotion types like Money and Service and add it to promotion value.

Users Manual 

Target group: Editors

  1. Select a page where you want to insert sponsoring
  2. Insert a new content element of type: Insert Plugin
  3. On tab Plugin select Sponsoring from selectbox.
  4. Confirm reload to load special input fields for our extension (FlexForm).
  5. Save

Project Record 

  1. Select a Storage Page
  2. Create a new record of type Project
  3. Give it at least a name and add some more information.
  4. By default you can insert up to 5 images to project record.

Installation 

Composer 

If your TYPO3 installation works in composer mode, please execute following command:

composer req jweiland/sponsoring
vendor/bin/typo3 extension:setup --extension=sponsoring
Copied!

If you work with DDEV please execute this command:

ddev composer req jweiland/sponsoring
ddev exec vendor/bin/typo3 extension:setup --extension=sponsoring
Copied!

ExtensionManager 

On non composer based TYPO3 installations you can install sponsoring still over the ExtensionManager:

  1. Login

    Login to backend of your TYPO3 installation as an administrator or system maintainer.

  2. Open ExtensionManager

    Click on Extensions from the left menu to open the ExtensionManager.

  3. Update Extensions

    Choose Get Extensions from the upper selectbox and click on the Update now button at the upper right.

  4. Install sponsoring

    Use the search field to find sponsoring. Choose the sponsoring line from the search result and click on the cloud icon to install sponsoring.

Next step 

Configure sponsoring.

Configuration 

Target group: Developers, Integrators

How to configure the extension. Try to make it easy to configure the extension. Give a minimal example or a typical example.

Minimal Example 

  • It is necessary to include static template Sponsoring (sponsoring)

We prefer to set a Storage PID with help of TypoScript Constants:

plugin.tx_sponsoring.persistence {
  # Define Storage PID where project records are located
  storagePid = 4
}
Copied!

TypoScript Setup Reference 

view.templateRootPaths 

Default: Value from Constants EXT:sponsoring/Resources/Private/Templates/

You can override our Templates with your own SitePackage extension. We prefer to change this value in TS Constants.

view.partialRootPaths 

Default: Value from Constants EXT:sponsoring/Resources/Private/Partials/

You can override our Partials with your own SitePackage extension. We prefer to change this value in TS Constants.

view.layoutsRootPaths 

Default: Value from Constants EXT:sponsoring/Resources/Layouts/Templates/

You can override our Layouts with your own SitePackage extension. We prefer to change this value in TS Constants.

persistence.storagePid 

Set this value to a Storage Folder (PID) where you have stored the project records. If you have stored Organizers and Locations in another Storage Folder, you have to add theses PIDs here, too.

Example: 21,45,3234

settings.pidOfMaps2Plugin 

Default: empty

Set this value to the pid where maps2 plugin is located. A link for the address will be redirected to that page.

setting.pidOfDetailPage 

Default: 0

Often it is useful to move the detail view onto a separate page for design/layout reasons.

settings.pageBrowser.* 

itemsPerPage 

Amount of records on a page

_LOCAL_LANG.. 

As an integrator you can override each key of language file:

EXT:sponsoring/Resources/Private/Language/locallang.xlf

Example:

plugin.tx_sponsoring._LOCAL_LANG.de.listMyProjects = Show my projects
Copied!

_CSS_DEFAULT_STYLE 

This will include a default CSS Style to show a red border around input fields in Frontend, if an sponsoring field was filled with an invalid value.

If you have your own CSS we prefer to remove this setting:

plugin.tx_sponsoring._CSS_DEFAULT_STYLE >
Copied!

Administrator manual 

This chapter describes how to manage the extension from a superuser point of view.

Routes 

With TYPO3 9 you have the possibility to configure RouteEnhancers

Example Configuration 

routeEnhancers:
  SponsoringPlugin:
    type: Extbase
    extension: Sponsoring
    plugin: Sponsoring
    routes:
      -
        routePath: '/first-sponsoring-page'
        _controller: 'Project::list'
      -
        routePath: '/show/{project_title}'
        _controller: 'Project::show'
        _arguments:
          project_title: project
    requirements:
      project_title: '^[a-zA-Z0-9\-]+\-[0-9]+$'
    defaultController: 'Project::list'
    aspects:
      project_title:
        type: PersistedAliasMapper
        tableName: tx_sponsoring_domain_model_project
        routeFieldName: path_segment
Copied!

Upgrade 

If you update EXT:sponsoring to a newer version, please read this section carefully!

Update to Version 8.0.0 

We have remove the hard dependency to service_bw2 and all related parts in domain model Project, TCA and translation files. If you still need these implementation you have to add that stuff with help of your site-package extension again.

Update to Version 5.0.0 

We have remove the GetPromotions ViewHelper. Please visit your overwritten sponsoring templates for list and search actions. Replace sp:getPromotions() with just promotions and remove the sp ViewHelper registration at top of file.

Update to Version 4.0.0 

We have removed TYPO3 9 compatibility

As f:widget.paginate is deprecated and POST requests are not allowed anymore in this widget, we have rewritten the widget to new TYPO3 Pagination API.

Please remove the f:widget.paginate from Templates and insert this code:

<f:render partial="Component/Pagination"
          arguments="{pagination: pagination, paginator: paginator, actionName: actionName}" />
Copied!

Update to Version 3.0.6 

We have changed some method arguments, please flush cache in InstallTool

Update to Version 3.0.0 

We have added column path_segment to project table which you can use in your own RouteEnhancer configuration. If you have a lot of projects you can use our UpgradeWizard to prefill path_segment with a sanitized version of project name column.

We have removed TYPO3 8 compatibility and added TYPO3 10 compatibility instead.

ChangeLog 

Version 8.0.0 

  • [TASK] Add Project model persistence configuration
  • [TASK] Rename and simplify organizer field in project model
  • [TASK] Remove hard dependency on EXT:service_bw2
  • [TASK] Update allowed file types in TCA configuration
  • [TASK] Remove redundant TCA columns from configuration
  • [TASK] Simplify plugin registration in ext_localconf.php
  • [TASK] Add missing newline in ext_conf_template.txt
  • [TASK] Update comment in .gitignore file
  • [TASK] Remove unused and redundant documentation files
  • [TASK] Correct inconsistent HTML indentation in templates
  • [TASK] Adjust XML formatting in language files
  • [TASK] Refactor plugin registration and configuration
  • [TASK] Apply code style improvements
  • [TASK] Update and optimize code quality tools

Version 7.1.1 

  • [TASK] Removed SQL table definitions for Sponsoring module as core handle this by default
  • [BUGFIX]: Adjusted TCA datetime configurations and removed deprecated properties

Version 7.1.0 

  • [BUGFIX]: Resolved issues with date formatting in TCA definitions.
  • [BUGFIX]: Added missing configuration fields (pages, recursive) for the Sponsoring plugin to ensure correct backend display.
  • [BUGFIX]: Corrected invalid Controller Namespaces.
  • [BUGFIX]: Removed outdated ViewInterface dependency from controllers to align with modern Extbase standards.
  • [BUGFIX]: Resolved issues within the Pagination class to ensure correct record navigation.
  • [BUGFIX]: Fixed incorrect property type declarations.

Version 7.0.2 

  • [TASK] Updated wizard title with [extension] name format

Version 7.0.1 

  • [BUGFIX] Remove deprecated usage of SoftRef parser: images

Version 7.0.0 

  • Fixed TYPO3 13 LTS Version compatibility
  • Remove older version compatibility

Version 5.0.2 

  • Remove exclude from path_segment
  • Update .editorconfig
  • Update .gitignore

Version 5.0.1 

  • Remove GetPromotions ViewHelper

Version 5.0.0 

  • Add TYPO3 11 compatibility
  • Add item for newContentElementWizard
  • Integrate AbstractController into ProjectController

Version 4.0.0 

  • Remove TYPO3 9 compatibility
  • Use new pagination API
  • Add Events to all Controller Actions

Version 3.1.0 

  • Set promotion type as multiple side by side

Version 3.0.7 

  • Update translation for "Organizational unit"

Version 3.0.6 

  • Move SlugHelper from constructor argument into getSlugHelper()

Version 3.0.4 

  • Bugfix: Property "fields" must be in array of generatorOptions of SlugUpdater

Version 3.0.3 

  • Remove CSH

Version 3.0.2 

  • Add UID to slug while running Slug Updater to prevent duplicates

Version 3.0.1 

  • Use !empty instead of count for performance reasons
  • Update slugs also for hidden records by start-/endtime

Version 3.0.0 

  • Remove TYPO3 8 compatibility
  • Add TYPO3 10 compatibility
  • Add UpgradeWizard to prefill path_segment for RouteEnhancer

Contribute 

Contribution to sponsoring is very welcome.

If you wish to contribute, please follow these conventions:

Writing Issues 

  • If you find a problem in the extension, please write an issue.
  • If you can fix the problem yourself, please submit a pull request. In this case, it is not necessary to create an issue first.

Submitting a Pull Request 

Please see the general GitHub documentation for more information, for example Creating a pull request