Introduction

What does it do?

schooldirectory is an extension for TYPO3 CMS. It is useful to manage and display schools for a city.

Features

  • Create school records
  • Assign schools to addresses. Which school is responsible for which address?
  • Differ school records by their type

Users Manual

Target group: Editors

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

School Record

  1. Select a Storage Page
  2. Create a new record of type School
  3. Give it a title.
  4. Enter a description which will be shown on configured detail page
  5. By default you can insert up to 5 images to schoole record.

Installation

Composer

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

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

If you work with DDEV please execute this command:

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

ExtensionManager

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

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

Next step

Configure schooldirectory.

Extension Settings

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

Tab: Basic

poiCollectionPid

Default: 0

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.

Configuration

View

view.templateRootPaths

Default: Value from Constants EXT:schooldirectory/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:schooldirectory/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:schooldirectory/Resources/Layouts/Templates/

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

Persistence

persistence.storagePid

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

Example: plugin.tx_schooldirectory.settings.pidOfMaps2Plugin = 21,45,3234

Settings

settings.pidOfMaps2Plugin

Default: 0

Example: plugin.tx_schooldirectory.settings.pidOfMaps2Plugin = 12

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

setting.pidOfDetailPage

Default: 0

Example: plugin.tx_schooldirectory.settings.pidOfDetailPage = 84

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

setting.pidOfSearchPage

Default: 0

Example: plugin.tx_schooldirectory.settings.pidOfSearchPage = 86

Define the page UID where you have inserted the search plugin of schooldirectory.

settings.list.image.*

Here you can define the width and height of images in list view.

Example:

settings {
  list {
    width = 50c
    height = 50c
    minWidth = 50
    maxWidth = 50
    minHeight = 50
    maxHeight = 50
  }
}
Copied!

settings.show.image.*

Here you can define the width and height of images in show view.

Example:

Example:

settings {
  show {
    width = 240c
    height = 180c
  }
}
Copied!

settings.glossary.mergeNumbers

Default: 1

Example: plugin.tx_schooldirectory.settings.glossary.mergeNumbers = 0

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

settings.pageBrowser.itemsPerPage

Default: 15

Example: plugin.tx_schooldirectory.settings.pageBrowser.itemsPerPage = 20

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:
  SchooldirectoryPlugin:
    type: Extbase
    extension: Schooldirectory
    plugin: List
    limitToPages: [27]
    routes:
      -
        routePath: '/{letter}'
        _controller: 'School::list'
      -
        routePath: '/schulen/s/info/{school_title}'
        _controller: 'School::show'
        _arguments:
          school_title: school
    requirements:
      letter: '^(0-9|[a-z])?$'
      school_title: '^[a-zA-Z0-9\-_]+$'
    defaultController: 'School::list'
    aspects:
      school_title:
        type: PersistedAliasMapper
        tableName: tx_schooldirectory_domain_model_school
        routeFieldName: path_segment
      letter:
        type: StaticValueMapper
        map:
          0-9: 0-9
          'a': 'a'
          'b': 'b'
          'c': 'c'
          'd': 'd'
          'e': 'e'
          'f': 'f'
          'g': 'g'
          'h': 'h'
          'i': 'i'
          'j': 'j'
          'k': 'k'
          'l': 'l'
          'm': 'm'
          'n': 'n'
          'o': 'o'
          'p': 'p'
          'q': 'q'
          'r': 'r'
          's': 's'
          't': 't'
          'u': 'u'
          'v': 'v'
          'w': 'w'
          'x': 'x'
          'y': 'y'
          'z': 'z'
          '': ''
Copied!

Upgrade

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

Update to Version 6.0.0

We have added TYPO3 11 compatibility.

We have moved Schooldirectory.js from TypoScript to f:asset VH. Please update your own partials to load that file with f:asset.

Update to Version 5.0.0

We have removed TYPO3 9 compatibility.

As ViewHelper widgets are deprecated since TYPO3 10, we have completely reworked the Ajax Search Widget. Further we are using the the Paginator API. So please update following Fluid Templates:

  • Partials/School/List.html
  • Partials/School/Search.html
  • Templates/District/Search.html
  • Templates/School/List.html
  • Templates/School/Search.html

We have completely rewritten the JavaScript. If you have a modified version, please update to your needs.

Update to Version 4.0.3

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

Update to Version 4.0.0

We have remove TYPO3 8 compatibility. We have added TYPO3 10 compatibility. Please execute the schooldirectory UpgradeWizards in Installtool.

Known Problems

It may happen that AJAX requests will not work in development mode, because of appended "Parse time" by TYPO3.

ChangeLog

Version 7.0.0

  • Add TYPO3 12 compatibility
  • Removed older version compatibility

Version 6.0.0

  • Add TYPO3 11 compatibility

Version 5.1.6

  • Use correct controller for district

Version 5.1.5

  • Remove vendor name from district plugin

Version 5.1.4

  • Remove vendor name from plugin definition
  • Remove definition for AjaxController
  • Use FQCN for controller definition

Version 5.1.3

  • Don't show selectbox if there are no options

Version 5.1.2

  • Repair autofill of select fields after starting a search request

Version 5.1.1

  • Add settings for glossary

Version 5.1.0

  • Use inject methods in controller
  • Set glossary2 dependency to 5.0.0

Version 5.0.0

  • Removed TYPO3 9 compatibility

Version 4.0.3

  • Move SlugHelper from constructor argument into getSlugHelper()

Version 4.0.1

  • Add documentation
  • Add cool new SVG Icons for table and extension
  • Add Services.yaml for TYPO3 10 compatibility

Version 4.0.0

  • Remove TYPO3 8 compatibility
  • Add TYPO3 10 compatibility
  • Remove title from SVG icons
  • Replace Google+ with Instagram
  • Restructure TCA
  • Add path_segment
  • Remove @lazy from 1to1 relations

Sitemap

Index