sf_books: Managing books the easy way

Extension key

sf_books

Package name

evoweb/sf-books

Version

8.1

Language

en

Description

Helps managing books in your library by providing organization options

Copyright

2004-2024

Author

Sebastian Fischer

License

This document is published under the Open Publication. license.

Rendered

Thu, 11 Sep 2025 17:42:26 +0000


The content of this document is related to TYPO3, a GNU/GPL CMS/Framework available from http://typo3.org


Table of Contents

Introduction

This Documentation was written for version 5.0.x of the extension.

What does it do?

Managing your books:

Purpose of this extension is to manage few to a lot of books. There is a list- and a singleview for the frontend. In listview a pagebrowser and a searchfield makes book finding an ease.

Books can have category, serie, number, title, author, ISBN-Number, Description, Cover and Extras.

In listview number, title, author and isbn-number are possible sortfields.

Searching books is done on fields title, author, isbn-number and description.

Installation

Download via Extension Manager

In the TYPO3 Backend go to Admin Tools > Extensions. Change in the dropdown on the top left to 'Get Extensions', enter the extension key 'sf_books' in the text field below the headline 'Get Extensions' and hit go. In the result list install the extension by hitting the action for that.

Download via Composer

Add evoweb/sf-books to the require in your composer.json.

Enter on shell
composer require evoweb/sf-books
Copied!

Include TypoScript

Include static file "Book Library" in your typoscript record or import in your sitepackage and modify the constants to match the page setup you have added.

Include Routing configuration

To have speaking urls you need to add the following import in your site config. This allows each of the plugins to render seo friendly urls.

config/sites/[main]/config.yaml
imports:
    - { resource: "EXT:sf_books/Configuration/Routes/Default.yaml" }
Copied!

Configuration

Introduction

There are configurations for listView and singleView and more general parts like templateFile or pidList. In all fields related stdWraps fields from tx_sfbooks_books are available for field and data like uid.

plugin.tx_sfbooks

Settings for all plugins

Settings and view in both plugin configurations

.. sfbooks-Configuration:: templateRootPaths
Data type

array of file paths with stdwrap

Default

none

Used to define several paths for templates, which will be tried in reversed order (the paths are searched from bottom to top). The first folder where the desired layout is found, is used. If the array keys are numeric, they are first sorted and then tried in reversed order.

Example:

EXT:site_package/Configuration/TypoScript/setup.typoscript
plugin.tx_sfbooks {
   view {
      templateRootPaths {
         10 = EXT:sitedesign/Resources/Private/Templates
         20 = EXT:sitemodification/Resources/Private/Templates
      }
   }
}
Copied!
.. sfbooks-Configuration:: pagination
Data type

string

Default

none

Allows to configure what pagination class should be used. If no class name is given or the given class does not implement the PaginationInterface, the default SimplePagination gets used.

Example:

EXT:site_package/Configuration/TypoScript/setup.typoscript
plugin.tx_sfbooks {
   settings {
      pagination = TYPO3\CMS\Core\Pagination\SlidingWindowPagination
   }
}
Copied!
.. sfbooks-Configuration:: itemsPerPage
Data type

integer

Default

10

Amount of list entries per page.

Example:

EXT:site_package/Configuration/TypoScript/setup.typoscript
plugin.tx_sfbooks {
   settings {
      itemsPerPage = 10
   }
}
Copied!
.. sfbooks-Configuration:: numberOfLinks
Data type

integer

Default

5

If a SlidingWindowPagination or compatible pagination is used, this defines the amount of pages in the pagination list.

Example:

EXT:site_package/Configuration/TypoScript/setup.typoscript
plugin.tx_sfbooks {
   settings {
      numberOfLinks = 3
   }
}
Copied!
.. sfbooks-Configuration:: groupAuthors
Data type

boolean

Default

1

Choose weather to group the author list by first letter or not.

Example:

EXT:site_package/Configuration/TypoScript/setup.typoscript
plugin.tx_sfbooks {
   settings {
      groupAuthors = 1
   }
}
Copied!
.. sfbooks-Configuration:: groupSeries
Data type

boolean

Default

1

Choose weather to group the series list by first letter or not.

Example:

EXT:site_package/Configuration/TypoScript/setup.typoscript
plugin.tx_sfbooks {
   settings {
      groupSeries = 1
   }
}
Copied!
.. sfbooks-Configuration:: orderings
Data type

array

Default

1

Combinations of fields with order directions

Example:

EXT:site_package/Configuration/TypoScript/setup.typoscript
plugin.tx_sfbooks {
   settings {
      orderings {
        title = ASC
      }
   }
}
Copied!

Breaking Changes

28. July 2023

Change typoscript parameter

Rename TypoScript parameter settings.limit into settings.itemsPerPage. This also relates to the plugin settings where limit is renamed into itemsPerPage to.

Drop ViewHelper

As of version 8.x the SortViewHelper is dropped because its never used.

13. March 2021

Replace pagination widget by pagination API

Usage of f:widget.paginate is replaced with paginator and pagination objects with usage of Paginator.html partials.

Routes configuration

Routes configuration files are moved from /Configuration/Yaml to /Configuration/Routes

03. May 2020

Cleanup of plugins

Due to a more restricted handling of resolving controllers and actions in links every plugin is reduced to it's main data models. The following plugins are modified:

Plugin Controller before change after change
Book Category Series Search BookController, CategoryController CategoryController, BookController SeriesController, BookController SearchController, BookController, AuthorController BookController CategoryController SeriesController SearchController

n consequence you need to check whether your pages are still displaying all informat

here are settings for the link generation authorPageId, bookPageId, categoryPageId, educed flexibility. Have a look into the TypoScript constants editor.

leanup of flexforms ------------------- he field settings.templatePath got removed with view.templateRootPaths.200. By this emplates is necessary anymore. But the new field needs to be filled to get it workin

7. April 2017 =============

emove viewhelper ---------------- n favor of the core the widget viewhelper was dropped. Please replace 'sfb:widget.pa nd check if configuration still works.

emplate behaviour ----------------- nly valid template file type since version 4 are html files. Every other template fi

Updating

Add path_segment information

Since version 6.0 of sf_books the extension support route generation.

There in the tables author, books, categories and series got path_segment fields added. These fields need to be filled for the url generation. To automatize this process there are four upgrade wizards available, which can be executed in the Admin Tools > Upgrade > Upgrade Wizard.

Testing

Setting up configuration for Functional Testing in PhpStorm

Sitemap