Introduction 

What does it do? 

With itmedia2 you can build your own little industry directory for your TYPO3 website. It comes with a list and a configurable detail view. Above the list view we implemented an A-Z navigation to jump directly to industry directory entries which will start with clicked starting letter.

This extension is a lightweight version of yellowpages2 without a frontend form, without mailing, without scheduler task.

Users Manual 

Target group: Editors

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

Plugin Options 

District

Reduce industry directory records on website to this district

Company Record 

  1. Select a Storage Page
  2. Create a new record of type Company
  3. Give it a title. We will use the first letter of title for our glossary navigation.
  4. Enter a description and assign some trades to it.
  5. By default you can insert up to 5 images, but only one logo.

Installation 

Composer 

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

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

If you work with DDEV please execute this command:

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

ExtensionManager 

On non composer based TYPO3 installations you can install itmedia2 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 itmedia2

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

Next step 

Configure itmedia2.

Extension Settings 

Some general settings for itmedia2 can be configured in Admin Tools -> Settings.

Tab: Basic 

poiCollectionPid

poiCollectionPid
type

int

Default

Only valid, if you have installed EXT:maps2, too.

While creating location records we catch the address and automatically create a maps2 record for you. Define a storage PID where we should store these records.

TypoScript 

itmedia2 needs some basic TypoScript configuration. To do so you have to add an +ext template to either the root page of your website or to a specific page which contains the itmedia2 plugin.

  1. Locate page

    You have to decide where you want to insert the TypoScript template. Either root page or page with itmedia2 plugin is OK.

  2. Create TypoScript template

    Switch to template module and choose the specific page from above in the pagetree. Choose Click here to create an extension template from the right frame. In the TYPO3 community it is also known as "+ext template".

  3. Add static template

    Choose Info/Modify from the upper selectbox and then click on Edit the whole template record button below the little table. On tab Includes locate the section Include static (from extension). Use the search above Available items to search for itmedia2. Hopefully just one record is visible below. Choose it, to move that record to the left.

  4. Save

    If you want you can give that template a name on tab "General", save and close it.

  5. Constants Editor

    Choose Constant Editor from the upper selectbox.

  6. itmedia2 constants

    Choose PLUGIN.TX_ITMEDIA2 from the category selectbox to show just itmedia2 related constants

  7. Configure constants

    Adapt the constants to your needs. We prefer to set all these pidOfListPage and pidOfDetailPage constants. That prevents you from setting all these PIDs in each plugin individual.

  8. Configure TypoScript

    As constants will only allow modifying a fixed selection of TypoScript you also switch to Info/Modify again and click on Setup. Here you have the possibility to configure all itmedia2 related configuration.

View 

templateRootPaths

templateRootPaths
type

array

Default

EXT:itmedia2/Resources/Private/Templates/

Path

plugin.tx_itmedia2.view.*

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

partialRootPaths

partialRootPaths
type

array

Default

EXT:itmedia2/Resources/Private/Partials/

Path

plugin.tx_itmedia2.view.*

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

layoutsRootPaths

layoutsRootPaths
type

array

Default

EXT:itmedia2/Resources/Layouts/Templates/

Path

plugin.tx_itmedia2.view.*

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

Persistence 

storagePid

storagePid
type

int

Default
Path

plugin.tx_itmedia2.persistence

Set this value to a Storage Folder (PID) where you have stored the records.

Settings 

pidOfMaps2Plugin

pidOfMaps2Plugin
type

int

Default
Path

plugin.tx_itmedia2.settings

Define the page UID where the EXT:maps2 plugin is located to show an address on a map.

pidOfDetailPage

pidOfDetailPage
type

int

Default
Path

plugin.tx_itmedia2.settings

If you have inserted the Industry Directory plugin for detail view onto another page, you can set its PID to this property here.

glossary.mergeNumbers

glossary.mergeNumbers
type

int

Default

1

Path

plugin.tx_itmedia2.settings

Merge record titles starting with numbers to 0-9 in glossary.

pageBrowser.itemsPerPage

pageBrowser.itemsPerPage
type

int

Default

15

Path

plugin.tx_itmedia2.settings

Reduce result of records to this value for a page

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:
  Itmedia2Plugin:
    type: Extbase
    extension: Itmedia2
    plugin: Directory
    routes:
      -
        routePath: '/first-company-page'
        _controller: 'Company::list'
      -
        routePath: '/company-page-{page}'
        _controller: 'Company::list'
        _arguments:
          page: '@widget_0/currentPage'
      -
        routePath: '/company-by-letter/{letter}'
        _controller: 'Company::list'
      -
        routePath: '/show/{company_title}'
        _controller: 'Company::show'
        _arguments:
          company_title: company
    requirements:
      letter: '^(0-9|[a-z])$'
      company_title: '^[a-zA-Z0-9]+$'
    defaultController: 'Company::list'
    aspects:
      company_title:
        type: PersistedAliasMapper
        tableName: tx_itmedia2_domain_model_company
        routeFieldName: path_segment
Copied!

Upgrade 

If you update itmedia2 to a newer version, please read this section carefully!

Update to Version 3.0.11 

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

Update to Version 3.0.0 

We have removed column wsp_member as this column was a specific column for one of our customers. If you have used it you have to add it back with help of EXT:extender.

We have removed column icon from table sys_category. That way we also have removed fallbackIconPath, too. If you have used it you have to add it back with help of EXT:extender.

We are using the API of glossary2 now. Please check, if your own queries are still working.

ChangeLog 

Version 5.0.2 

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

Version 5.0.1 

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

Version 5.0.0 

  • [TASK] Compatibility fixes for TYPO3 13 LTS
  • [TASK] Removed deprecated API Usages
  • [TASK] SiteSets added for more flexibility

Version 4.0.0 

  • [TASK] TYPO3 12 LTS Compatibility Fixes
  • [TASK] Removed and Replaced all obsolete and deprecated functions
  • [TASK] Update wizards namespace and registration method changes
  • [TASK] Event dispatcher replaced with PSR-14 Events
  • [TASK] Updated badges of README.md

Version 3.2.1 

  • Add badges to README.md
  • Add .crowdin.yml to .gitattribute

Version 3.2.0 

  • Add TYPO3 11 compatibility
  • Update documentation
  • Remove unused session object from controller
  • Use 4 space indents in fluid templates
  • Migrate makeCategorizable to TCA

Version 3.1.0 

  • Use inject methods in controller
  • Update files for github actions
  • Set dependency for glossary2 to 5.0.0

Version 3.0.12 

  • Add compatibility to yellowpages2 ^5.0

Version 3.0.11 

  • Move SlugHelper from constructor argument into getSlugHelper()

Version 3.0.8 

  • Remove title from SVG icons

Version 3.0.7 

  • Add getFirstLogo to company model

Version 3.0.6 

  • Remove GROUP BY from query, as it is not compatible with pageBrowser

Version 3.0.5 

  • Use translation of core/frontend instead of lang in TCA
  • Update translation of post address and contact

Version 3.0.4 

  • Replace Google+ column with Instagram

Version 3.0.3 

  • Add getter to get first main trade

Version 3.0.2 

  • Register Slug UpgradeWizard

Version 3.0.1 

  • Remove useless translations

Version 3.0.0 

  • Add TYPO3 10 compatibility
  • Remove TYPO3 8 compatibility
  • Add new Extbase table mapping
  • Remove old main trade updater
  • Remove TYPO3 columns from ext_tables.sql
  • Add TYPO3 license file
  • Remove Travis implementation
  • Add github actions
  • Add path_segment. Add SlugUpdater
  • Restructure TCA fields

Version 2.0.1 

  • Set maps2 requirement to verison 7.1.3

Version 2.0.0 

  • Solve doc header conflict in Category model
  • Move ext_icon to Resources/Public/Icons
  • Respect strict_types in AbstractController
  • Respect PSR-2

Sitemap