TYPO3 xBlog: Icon

xBlog - Frontend-Simplifier

Classification

xblog

Version

main

Language

en

Description

Quickly assemble a TYPO3 frontend! Publish the data from the tables pages, tt_content and from any other database! No need to set up typoscript.

Keywords

blog, browser, cal, calendar, cloud, news, pagination, paging, tag, tagcloud

Website

https://typo3-xblog.de/

Copyright

2018-2024

Authors

Dirk Wildt (Die Netzmacher, verdigado eG), Liss Dunphy (verdigado eG)

Email

http://wildt.at.die-netzmacher.de

License

This document is published under the Open Publication License available from http://www.opencontent.org/openpub/

Rendered

Tue, 22 Apr 2025 12:25:50 +0000

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

Table of Contents

Sorry, manual isn't up to date

Introduction

Quickly assemble a TYPO3 frontend! Publish the data from the table pages, tt_content and from any other database! No need to set up typoscript.

  • xBlog allows you to publish data from any extension.
  • A list view has up to six columns. You design tile layouts with the mouse.
  • Plugins like categories, mini-calendar, search form or teaser can be placed anywhere on the website.
  • You create search forms with radio buttons, check boxes and select boxes with a user interface.
  • Along with the Publish extension, xBlog enables frontend editing for almost any spreadsheet.

Under Construction

xBlog is under construction. If you like to get news about the progress, please subscribe to my newsletter at

Please take a look into the sections What does it not do? and the to-do-list.

Table of Contents

Columns and Grids

You can setup columns and grids for list views:

  • These columns are possible: 1, 2, 3, 4 and 6.
  • These grid layouts for a record are possible:

    • Margin content in left or right column or at the top or bottom
    • These proportions are possible: 25/75, 33/66, 50/50, 66/33, 75/25

All samples below neither need any own css nor any own typoscript.

TYPO3 xBlog sample: 1 column, margin content at the left, proportion 33/66

TYPO3 xBlog sample: 1 column, margin content at the left, proportion 33/66

TYPO3 xBlog sample: 2 columns, margin content at the right, proportion 66/33

TYPO3 xBlog sample: 2 columns, margin content at the right, proportion 66/33

TYPO3 xBlog sample: TYPO3 xBlog sample: 3 columns, margin content at the top

TYPO3 xBlog sample: 3 columns, margin content at the top

TYPO3 xBlog sample: 4 columns, margin content at the top

TYPO3 xBlog sample: 4 columns, margin content at the top

TYPO3 xBlog sample: 6 columns, margin content at the top

TYPO3 xBlog sample: 6 columns, margin content at the top

Form

Form

TYPO3 xBlog Form

You can build your own forms with the xBlog plugin Form.

The illustration above displays a form with

  • a search field
  • a select box for categories
  • a select box with decenniums

See more at

Slider

TYPO3 xBlog Slider

TYPO3 xBlog Slider

Use the xBlog slider to insert records of each extension into the slider.

Use the xBlog slider to arrange images above or below, to the left, or to the right of the text.

You need nothing but the extension Slick Slider (EXT:slick).

See more details at

Single Views

TYPO3 xBlog sample: single view

TYPO3 xBlog sample: single view

TYPO3 xBlog sample: another single view

TYPO3 xBlog sample: another single view

TYPO3 xBlog sample: single view with a single plugin

TYPO3 xBlog sample: single view with a single plugin

Wizard

TYPO3 xBlog wizard

TYPO3 xBlog wizard

xBlog

TYPO3 xBlog: tab table

TYPO3 xBlog: tab table

TYPO3 xBlog: tab bridge

TYPO3 xBlog: tab bridge

TYPO3 xBlog: tab list

TYPO3 xBlog: tab list

TYPO3 xBlog: tab image

TYPO3 xBlog: tab image

TYPO3 xBlog: tab datesheet

TYPO3 xBlog: tab datesheet

TYPO3 xBlog: tab category

TYPO3 xBlog: tab category

TYPO3 xBlog: tab template

TYPO3 xBlog: tab template

TYPO3 xBlog: tab control

TYPO3 xBlog: tab control

Form

TYPO3 xBlog Form

TYPO3 xBlog Form with two rows and four items

TYPO3 xBlog Form Field with Tab General

TYPO3 xBlog Form Field with Tab General

TYPO3 xBlog Form Field with Tab Source

TYPO3 xBlog Form Field with Tab Source

TYPO3 xBlog Form Field with Tab Setup

TYPO3 xBlog Form Field with Tab Setup

TYPO3 xBlog Form Field with Tab Period

TYPO3 xBlog Form Field with Tab Period

See more at

Slider

TYPO3 xBlog Slider

TYPO3 xBlog Slider

xBlog Slider is a content element included in the slick slider only.

See more details at

Columns and Grids

You can setup columns and grids for list view by the plugin:

  • [Table]
  • These grid layouts for a record are possible:

    • Margin content in left or right column or at the top or bottom
    • These proportions are possible: 25/75, 33/66, 50/50, 66/33, 75/25

All samples below neither need any own css nor any own typoscript.

TYPO3 xBlog tab Table: Setup the maximum amount of records per page

TYPO3 xBlog tab Table: Setup the maximum amount of records per page

TYPO3 xBlog tab List: TYPO3 xBlog tab List: Setup the amount of columns

TYPO3 xBlog tab List: Setup the amount of columns

TYPO3 xBlog tab Template: Setup the type of the grid and the proportions of the columns

TYPO3 xBlog tab Template: Setup the type of the grid and the proportions of the columns

Filter

Single Filter

TYPO3 xBlog single filter

TYPO3 xBlog single filter

Sample with a single filter.

Here: News with the category "TYPO3 xBlog" are displayed.

Multiple Filters

Depending on the foreign table, xBlog displays the possible values for the comparison.

TYPO3 xBlog multiple filter

TYPO3 xBlog multiple filter

Sample with multiple filters.

Here: Records are displayed

  • whose date is current (deactivated)
  • and the place is Passau
  • or whose category is politics or sponsorship

What does it do?

xBlog enables you to blog any data out of

  • API tables like pages and tt_content
  • any table of any extension

You can use xBlogs unlimited per page. A smart session management will keep in mind the state of each xBlog plugin.

But xBlog is under construction, important features aren't ready-to-use. See details at the

Current Version

The current version supports:

  • list views with

    • datesheets
    • filters
    • images
  • single views with

    • datesheet
    • images
    • media
  • mini views
  • pagings
  • RSS feeds
  • simple search form
  • slider
  • session management
  • tag cloud

What does it not do?

xBlog is under construction, importend features aren't ready to use :(

The current version doesn't support ready-to-use:

  • maps

Controlling

The controlling of xBlog plugins should be easy:

  • Users control relevant properties by the flexforms
  • Administrators control properties by the constant editor

The bridge

The core of xBlog is the bridge.

For example: a list view is publishing usually the elements:

  • a title
  • a subtitle
  • a short (sometimes)

An administrator allocates to each element fields like

  • subtitle: margin_subtitle // teaser_subtitle // subtitle // my_extension_subtitle

This means:

xBlog is looking for a value from a field margin_subtitle and if it is empty, xBlog looks for a value from a field teaser_subtitle, and if it is empty, it takes the next for rendering. And so on.

This concept enables a ready-to-use configuration for most of use cases.

Session Management

xBlog plugins are controlled by session parameters by default.

This will keep in mind the state of each xBlog plugin. For example:

A visitor can leave a page with three xBlogs (one with paging on page 6, one with a single view). If the visitor comes back, the xBlogs will display the last selection (here: one with paging on page 6, one with a single view).

Advantages:

  • user friendly guided tours
  • short URI in a lot of cases

You can disable the session management by the extension manager.

Main

Name

xBlog or xBlog Main.

Description

The main xBlog displays a powerfull listview and a single view. These plugin can display a single view like a text with image element.

Type

standalone plugin

Views

list and single

Condition

TypoScript for xBlog Main is included.

Table of Contents

Category

Name

xBlog Category

Description

The xBlog +Category displays categories. You can place the plugin anywhere, it can be on a different page than the xBlog plugin with the result list.

Type

extension plugin

Views

categories

Conditions

xBlog Main is set up. TypoScript for xBlog +Category is included.

Form

Name

xBlog Form

Description

Individual search form. For the list view. Needs a main or a mini xBlog. If you need a simple search form only, please use +xBlog Search.

Type

extension plugin

Views

list

Conditions

xBlog Main is set up. TypoScript for xBlog form is included.

What does it do?

The xBlog plugin Form enables you, to create a form by a web interface.

Tables

You can use any main table and its related tables.

Type of fields --------------

  • Button: magnifier, reset or send
  • Checkbox
  • Placeholder: only for layout
  • Radiobuttons
  • Search Word: full text search
  • Select
  • Select (Period): month, year, decennium
  • Select (Scope)

Period

Type "Select (Period)" delivers three modes. See below.

Condition: Field must be a timestamp.

month

This is a list of twelve months.

The website visitor can search for records of a month of the current year.

Example for an item: February

year

This is a list of years.

The website visitor can search for records of a selected year.

You can control the start and the amount of the years.

Example for an item: 1999

decennium

This is a list of decenniums.

The website visitor can search for records of a selected decennium.

You can control the start and the amount of the decenniums.

Example for an item: 1970-1980

Scope

Condition: Field must be an integer.

Visitors of your website can filter scopes (areas) like range of prices (squaremeters, kilowatts and so on).

Example:

  • ... - 10.000 EUR
  • 10.000 - 20.000 EUR
  • 20.000 - 30.000 EUR
  • 30.000 - 40.000 EUR
  • 40.000 EUR - ...

Screenshots

Mini

Name

xBlog Mini

Description

The xBlog Mini plugin is optimsed for list views in marginal columns.

Type

extension plugin

Views

list

Conditions

xBlog Main is set up. TypoScript for xBlog Mini is included.

Mini Calender

Name

xBlog Mini Calender

Description

The xBlog Mini Calender plugin displays years and months of your calender records or news records. You can place the plugin anywhere, it can be on a different page than the xBlog plugin with the result list.

Type

extension plugin

Views

period (years and months)

Conditions

xBlog Main is set up. TypoScript for xBlog Mini Caldendar is included.

Paging

Name

xBlog Paging

Description

The xBlog Paging plugin is the paginator for the list view of an xBlog Main or an xBlog +Mini. xBlog Paging plugin can placed everywhere at the webiste and several times like on top and at the bottom of a list.

Type

extension plugin

Views

list

Conditions

xBlog Main or xBlog +Mini are set up. TypoScript for xBlog Paging is included.

RSS feed

Name

xBlog RSS

Description

You can publish your records as an RSS feed with the xBlog RSS plugin.

Type

extension plugin

Views

list

Conditions

xBlog Main is set up. TypoScript for xBlog RSS is included.

Slider

Name

xBlog Slider

Description

e xBlog Slider plugin is optimised for displaying records as slides.

Type

extension plugin

Views

list

Conditions

Blog Main is set up. EXT:slick is installed. TypoScript for xBlog Slider is included.

Best Practise

xBlog Slider

Table of Contents

TYPO3 xBlog Slider and the Slick Slider (schematic representation)

TYPO3 xBlog Slider and the Slick Slider (schematic representation)

xBlog Slider (default)

Conditions

Workflow

Pages

You need three pages:

  1. Page for the single view for an xBlog Main plugin.
  2. A folder for the xBlog Slider plugin.
  3. Page with the slider for the slick slider plugin

Plugins

  1. Add the xBlog Main to the page from above. Adapt it to your needs. Select a news table for example.
  2. Add the xBlog Slider to the folder from above. Connect it with the xBlog Main from above.

* List title: leave it empty! #. Add the slick slider plugin to the page from above. Include the xBlog Slider. Adapt it to your needs.

TYPO3 xBlog Slider and the Slick Slider (schematic representation)

TYPO3 xBlog Slider and the Slick Slider (schematic representation)

Third party extension

Conditions

Workflow

Pages

You need two pages:

  • a folder for the xBlogSlider plugin.
  • a page with the slick slider.

Plugins

Add the plugin [xBlog: Slider] to the folder from above. Adapt it to your needs:

  • [List]: title: leave it empty!
  • [Template]: Html Framework: [Foundation]
  • [Controlling]

    • Field "xBlog for the single view": [Third party plugin]
    • Field "Page of the single view": Page which contains the third party plugin
    • Field "Parameters for the third party plugin": The needed parameters. There are samples below the current field.

Add the slick slider plugin to the page from above. Include the xBlog Slider. Adapt it to your needs.

Sample with EXT:news

Please refer to Users > Best Practice > Slider > News

Tag Cloud

Name

xBlog Tag Cloud

Description

Tag cloud based on keywords.

Type

extension plugin

Views

list

Conditions

xBlog Main is set up. TypoScript for xBlog Tag Cloud is included.

Teaser

Name

xBlog Teaser

Description

Teaser with images in one or two columns.

Type

extension plugin

Views

list

Conditions

xBlog Main is set up. TypoScript for xBlog teaser is included.

Filter

Filter is a tab in the flexform of xBlogMain, xBlogMini and xBlogSlider. You can limit the selection of records displayed in the frontend.

Screenshots

Please refer to Screenshots

Tables

You can filter the main table and related tables.

Assistent

There are the four assistent modes:

  • Suggestion (foreign tables only): the easiest way
  • Default: similar to suggestions but a little bit more design freedom
  • Ready-to-use statements. Currently
* >= NOW()
  • <= NOW()
  • SQL-Professional: best design freedom, but you need to know a bit about SQL

Combining filters

You can combine filters unlimited.

Maybe you will have unexpected results. In this case please refer to the section * Known Bugs > Filter.

Frontend Editing

Setup

You enable frontend editing in the xBlog plugin:

Tab [Advanced]:

  • [X] Publish: Logged-on users can publish their own content

Tab [Publish]

  • Page with the edit form: select the publish plugin
  • Storage folder of the records: select a folder

Requirements

A page with a publish plugin and a powermail plugin must be set up. Please refer to the manual of Publish.

Images

Size

There are three modes for sizing images:

  • System (default): width and height will taken from TypoScript constants. See Administrator > Setup > Constant Editor > Images.
  • Record: width and height will taken from the record (from croping or from width and height). Available in single view only.
  • Plugin: width and height will taken from the plugin

Plugin

You find the select box with the three modes here:

  • Plugin > Feature: Image Size in list view Size in single view

pair: routes; realurl

Real URL

If you are using tables of extensions, which are set up for Real URL, you should maintain one property in the xBlogMain plugin.

xBlogMain plugin

  • xBlogMain plugin > Plugin > Controlling > Real URL parameter for

The select field "Real URL parameter for" provides these parameters:

  • Calendar
  • Datesheet
  • Default
  • Download
  • Event
  • Job
  • Location
  • News
  • Organiser
  • Service
  • Staff

Routes

The xBlog delivers a template for using routes. See: administrators-bestpractice-url-routes

EXT:news

Pages

You need two pages:

  • a folder for the xBlogSlider plugin.
  • a page with the slick slider.

xBlogSlider

Add the plugin [xBlog: Slider] to the folder from above. Adapt it to your needs:

  • Origin

    • Table: News
    • Record Storage Page: folder with your news
    • Other fields: adapt it to your needs
  • Profile

    • Profile: Default (showUid)
    • Other fields: adapt it to your needs
  • Slide

    • Adapt it to your needs
  • Feature

    • Adapt it to your needs
  • Feature: Image

    • Adapt it to your needs
  • Template

    • Layout: "Default". Or if you like a slider with images only and without any text, select: "Margin / Images only"
    • Other fields: adapt it to your needs
  • Destination

    • Page with the single view: the page with the news plugin, which displays the single view
    • Page of the single view: the page with the news plugin, which displays the single view
    • Parameters for the third party plugin: &tx_news_pi1[news]=|&tx_news_pi1[controller]=News&tx_news_pi1[action]=detail

Slick Slider

Add the slick slider plugin to the page from above. Adapt it to your needs:

  • Slick Items

    • Records: include the xBlogSlider from above
  • Slick Slider

    • Adapt it to your needs.

More about the xBlogSlider plugin

Please refer to Users > Plugins > Slider

Installation

  • Install this extension and enable it.
  • Include the static templates of xBlog. It is recommended to include it at the root page.
  • Setup user access for the plugin fields

    • Modul Web > List
    • Usergroup > Access Lists
    • Allowed excludefields > Page Content Plugin Options xblog_pi...

Extension Manager

Features

Session Management

xBlog plugins are controlled by session parameters by default. Advantages:

  • user friendly guided tours
  • short URI in a lot of cases

If you don't like session management, you can disable it here.

Simplify

Mode

You can control the amount of entries in the table select box auf the plugin.

  • free: all tables will be displayed: TYPO3-API-tables and all tables of all extensions
  • creative: tables of all extensions will be displayed
  • user-friendly: only by TCA enabled tables will be displayed. See section TCA > enabled

TCA

Parent Fields

Fields, which can contain the parent id. Comma separated list. Example: parent, uid_parent.

Params

  • pointer: Parameter name for the piVar

Images

xBlog - Base - Fields - Image

Field which will processed automatically

xBlog - Main - Images - default icons

Default icons

xBlog - Main - Images - Size

Default width and height for images in list and single views.

User can select the mode / workflow. See User > Best Practice > Images

xBlog - Image - view

Paths for FLUID-Templates

Main

Controll some properties for the list- and single-view.

Please setup xBlog by the TypoScript Constant Editor.

Fields list

  • title: fields for the title
  • subtitle: fields for the subtitle
  • short: fields for the short

Fields single

  • title: fields for the title
  • subtitle: fields for the subtitle
  • short: fields for the short
  • bodytext: fields for the bodytext

HTML Wraps List

  • title: html wrap for the title
  • subtitle: html wrap for the subtitle
  • short: html wrap for the short
  • item: html wrap for an item
  • list: html wrap for the whole list
  • prompt: html wrap for the prompt (if there isn't any result)

HTML Wraps Single

  • title: html wrap for the title
  • subtitle: html wrap for the subtitle

View

Paths to the fluid templates

Mini

Controll some properties for the mini-view, the marginal view.

Please setup xBlog by the TypoScript Constant Editor.

Fields list

  • title: fields for the title
  • subtitle: fields for the subtitle
  • short: fields for the short

HTML Wraps List

  • title: html wrap for the title
  • subtitle: html wrap for the subtitle
  • short: html wrap for the short
  • item: html wrap for an item
  • list: html wrap for the whole list
  • prompt: html wrap for the prompt (if there isn't any result)

View

Paths to the fluid templates

Paging

Controll some properties for the paging plugins.

Please setup xBlog by the TypoScript Constant Editor.

Init

  • dontLinkActivePage: Don't link the active page
  • Display the paging even if there isn't any page or one page only
  • hscText: Enable htmlspecialchars(). Set this to false if you want f.e use images instead of text for links like 'previous' and 'next'
  • pagefloat
  • tableParams

Wrap

  • activeLinkWrap
  • browseBoxWrap
  • browseLinksWrap
  • disabledLinkWrap
  • inactiveLinkWrap
  • showResultsNumbersWrap
  • showResultsWrap

View

Paths to the fluid templates

RSS Feed

Conditions

  • TypoScript templates are included:

    • xBlog [0.1.0] Base
    • xBlog [1.0.0] Main
    • xBlog [20.0.0] RSS

Constant Editor

XBLOG - RSS - FIELDS - LIST

Property
title
Data type
string
Description

fields for the title. Devided by //

Default
marginal_title // teaser_title // title // header
Property
short
Data type
string
Description

fields for the short. Devided by //

Default
marginal_short // marginal_subtitle // teaser_short // teaser_subtitle // short // subtitle // subheader // abstract // description // title // header

Slider

Conditions

  • The extension Slick Slider (EXT:slick) must be installed.
  • TypoScript templates are included:

    • xBlog [0.1.0] Base
    • xBlog [1.0.0] Main
    • xBlog [7.0.0] +Slider

Constant Editor

XBLOG - SLIDER - FIELDS - LIST

Property
title
Data type
string
Description

fields for the title. Devided by //

Default
marginal_title // teaser_title // title // header
Property
subtitle
Data type
string
Description

fields for the subtitle. Devided by //

Default
marginal_subtitle // teaser_subtitle // subtitle // subheader
Property
short
Data type
string
Description

fields for the short. Devided by //

Default
marginal_short // teaser_short // short // abstract // description // bodytext

config.treeConfig.rootUid

The xBlog plugins using page selectors with a pagetree. Editors haven't access to the root page usually.

You must configure the root uid for editors.

pages.TSconfig

Please add the code-snippet from below to the page TSconfig of your root pages of your projects, where 124 is the id of the current root page:

TCEFORM.tt_content.pi_flexform.xblog_pi1.ctrl.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi1.ctrl.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi2.ctrl.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi2.ctrl.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi3.ctrl.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi3.ctrl.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi8.ctrl.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi8.ctrl.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi9.table.settings\.flexform\.pi9\.ctrl\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi9.table.settings\.flexform\.pi9\.ctrl\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi11.table.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi11.table.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi12.ctrl.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi12.ctrl.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi13.ctrl.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi13.ctrl.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi14.table.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi14.table.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi16.table.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi16.table.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi17.table.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi17.table.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi18.table.settings\.flexform\.pi\.table\.pidList.config.treeConfig.rootUid = 124
TCEFORM.tt_content.pi_flexform.xblog_pi18.table.settings\.flexform\.pi\.table\.pidSingle.config.treeConfig.rootUid = 124
Copied!

Automatic Configuration

xBlog has a migration script. This script generates the needed page TSconfig automatically.

See Administrators > Migration > Page TSconfig

Route Enhancer

xBlog has a rady-to-use configuration for your route enhancer.

Add to your typo3conf/sites/<my_site>/config.yaml the following line:

imports:
    - { resource: "EXT:xblog/Configuration/Routes/Default.yaml" }
Copied!

What does ist do?

The configuration takes care for a human readable URL for

  • the page browser
  • the category filter
  • the fe_users table
  • the tables of the Organiser (EXT:org)

Adaption for your extension

If you like to adapt the configuration to your extension please

  • copy EXT:xblog/Configuration/Routes/Default.yaml to EXT:my_ext/Configuration/Routes/Default.yaml
  • Adapt your file to your needs
  • Add to your typo3conf/sites/<my_site>/config.yaml the following line:
imports:
    - { resource: "EXT:my_ext/Configuration/Routes/Default.yaml" }
Copied!

Enabled

xblog.enabled

If this property is disabled, this table will not be provided in the Flexforms of the xBlog plugins. Has an effect only, if xBlog is running in the so called user-friendly mode.

Values (boolean)

  • 0: disabled
  • 1: enabled

Sample

$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['enabled'] = 1;
Copied!

xBlog Mini Calendar

xblog.plugins.pi17.datefield

The xBlog plugin Mini Calendar (pi17) needs to know which is the date field of a record of a table.

If you want to use your records with the xBlog mini calendar plugin, you need to set the property. See sample below.

Value (string): a datefield

For example:

  • a calender record has a start date usually
  • a news record has a publishing date usually
  • a staff record has a birthday date usually

Sample

$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['plugins']['pi17']['datefield'] = 'datetime'
Copied!

Flexform defaults

You can define default values for each table that is inherited by the main xBlog plugin. You can use these values to set default layouts for list and detail views of addresses, calendar entries, messages, or employees.

Table of Contents

Default Prompts

xblog.defaultprompts

The xBlog plugin is set up step by step automatically: the user has to save the plugin twice. The necessary messages are set here.

Sample

$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['defaultprompts'] = [
  '1' => [
    'dependsOn' => [
      'field' => 'settings.flexform.pi.table.table',
      'sheet' => 'table'
    ],
    'prompt'    => 'LLL:EXT:org/Resources/Private/Language/Ext/xblog.xlf:promptTableInitial01'
  ],
  '2' => [
    'dependsOn' => [
      'field' => 'settings.flexform.pi.table.selectOrderField',
      'sheet' => 'table'
    ],
    'prompt'    => 'LLL:EXT:org/Resources/Private/Language/Ext/xblog.xlf:promptTableInitial02'
  ],
]
Copied!

Configuration example online

https://gitlab.die-netzmacher.de/typo3/org/-/blob/master/Configuration/TCA/tx_org_news.php

Default Values

xblog.defaults

This is where the default values are set. The field name corresponds to that in the flex form. Unfortunately, it is not possible to define a default value for all fields contained in the flex form. At present, this option is also limited to selection boxes.

Sample

$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['defaults'] = [
  'settings.flexform.pi.bridge.imageField'          => 'image',
  'settings.flexform.pi.bridge.mediaField'          => 'documents',
  'settings.flexform.pi.bridge.category'            => 'tx_org_newscat',
  'settings.flexform.pi.bridge.relatedrecord'       => 'related',
  'settings.flexform.pi.table.selectOrderField'     => 'datetime',
  'settings.flexform.pi.table.selectOrderDirection' => 'DESC',
  'settings.flexform.pi1.list.morebutton'           => 'bottom',
  'settings.flexform.pi1.profile.datetimefield'     => 'datetime',
  'settings.flexform.pi1.profile.showUid'           => 'newsUid',
  'settings.flexform.pi1.tmpl.grid'                 => '8',
  'settings.flexform.pi1.tmpl.marginPosition'       => 'right', 
]
Copied!

Configuration example online

https://gitlab.die-netzmacher.de/typo3/org/-/blob/master/Configuration/TCA/tx_org_news.php

showUid

xblog.showUid

The xBlog controls with the showUid URL parameter and Fluid templates. Usually you select the value for the showUid in the flexform.

But if the table has this TCA property configures, the showUid for this table is determined. A user don't need to decide, what is a proper showUid.

If this property isn't enabled, this table will not be displayed in the flexforms of the xBlog plugins.

Value (string): a defined showUid from the list below.

Sample

$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['showUid'] = 'newsUid';
Copied!

Defined showUids

boardUid, calUid, downloadUid, eventUid, feuserUid, itemUid, jobUid, locationUid, newsUid, organiserUid, serviceUid, showUid and staffUid

Sample

Configuration Array

$TCA = [
  'ctrl' => [
    'extensions' => [
      'xblog' => [
        'enabled' => true,
        'showUid' => 'newsUid',
        'plugins'   => [
          'pi17' => [
            'datefield' => 'datetime',
          ],
          'pi18' => [
            'tagcloudfield' => 'seo_keywords',
          ],
        ],
      ],
    ],
  ],
],
Copied!

tx_org_news

If you like to extend any table of the TYPO3 database, please use an own file in TCA/Overrides like:

  • EXT:your-extension-key/Configuration/TCA/Overrides/tx_org_news.php
$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['enabled'] = 1;
$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['showUid'] = 'newsUid';
$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['plugins']['pi17']['datefield'] = 'datetime'
$GLOBALS['TCA'][tx_org_news]['ctrl']['extensions']['xblog']['plugins']['pi18']['tagcloudfield'] = 'seo_keywords'
Copied!

Ready to use

The tables of the extension Organiser – TYPO3 for Lobby and Organisers – has a TCA, which is configured for the xBlog.

The Organiser tables are ready to use.

Caching

Caching is supported by the EXT:cache

It works ready to use with all tables of the EXT:org

If you like to cache own tables, you have to add one line configuration to the TCA and two lines to the FLUID template of your extension.

Please refer to the manual of the EXT:cache.

EXT:quick_shop

You can run an ecommerce store with xBlog. Check out the movie

See details at EXT:quick_shop

Individual Templates

You can use your own fluid templates for each xBlog plugin.

Setup

xBlog

Constant Editor: Category [XBLOG - MAIN - VIEW]

Other Plugins

Constant Editor: Category [XBLOG - (other plugin) - VIEW]

Replace "(other plugin)" with the plugin of your choice like DATESHEET, IMAGE, MEDIA, ...

Selector

You can offer editors different layouts. They can select the layout in the template selector. See

  • xBlog > [Plugin] > [Template] > External Template

Setup

Page TsConfig

Using the following Page TsConfig the editor can select the layouts in the xBlog plugin:

tx_xblog.templateLayouts {
  1 = A custom layout
  99 = LLL:fileadmin/somelocallang/locallang.xlf:someTranslation
}
Copied!

You can use any number to identify your layout and any label to describe it.

Fluid Template

Now it is possible to use a condition in the template to change the layouts, and e.g. load a different partial:

<f:if condition="{settings_flexform_pi1_tmpl_externalTemplate} == 1">
  <f:then>
    <!-- your layout with the index 1 //-->
  </f:then>
  <f:else if="{settings_flexform_pi1_tmpl_externalTemplate} == 99">
    <!-- your layout with the index 99 //-->
  </f:else>
  <f:else>
    <!-- default xBlog layout //-->
  </f:else>
</f:if>
Copied!

As you can see in this example a different partial is loaded if the layout 99 is used.

See fluid templates at

  • Resources/Private/View/2ndContent/Templates/Main/List.html
  • Resources/Private/View/2ndContent/Templates/Main/Single.html

Team with third party plugins

You can enjoy both:

  • The list view and the slider functionality of xBlog
  • The single view functionality of any other extension

See an example at

Users > Plugins > Slider > Extensions

page TSconfig

If you have setup a page TSconfig, you MUST update it. This update is supported by an update script.

Table of Contents

Run it!

pages.TSconfig

This migration script updates the page TSconfig of your root pages:

  • it removes configuration, which starts with 'TCEFORM.tt_content.pi_flexform.xblog_pi...'
  • it adds up-to-date configuration

Root pages have a world icon in the page tree. They have enabled the property is_siteroot.

vendor/bin/typo3cms migration:migrate \
  --configuration EXT:xblog/Configuration/Migration.php \
  --key update_pages \
  --dryrun 0
Copied!

Samples

dryrun is true by default.

Test for a special root page and its subpages

Run the migration script with the key update_pages for the page with the id 124 only and without any execution (dryrun):

vendor/bin/typo3cms migration:migrate \
  --configuration EXT:xblog/Configuration/Migration.php \
  --key update_pages \
  --limitToPage 124 \ 
  --recursive 0 \
  --dryrun 0
Copied!

danp_tagcloud

If you like move from EXT:danp_tagcloud to EXT:xblog, there is a migration script, which migrate danp_tagcloud plugins to xBlog Tag Cloud plugins.

See: migration_danptagcloud2xblog

If migration_danptagcloud2xblog isn't published, please send an e-mail to support@verdigado.com.

tt_news

If you like move from EXT:tt_news to EXT:org with EXT:xblog, there is a migration script, which migrate tt_news records to tx_org_news and tt_news plugins to xblog plugins.

See: migration_ttnews2orgxblog

If migration_ttnews2orgxblog isn't published, please send an e-mail to support@verdigado.com.

Conventions

TCA

Please use for the lables of your tables the field title. If you use another label, you can get unexpected results like empty tags.

Core

TypoScript Registers

The TypoScript of xBlog is using a lot of registers. This enables a dynamic workflow.

For example: content can calculated depending on delivered parameters in an URI and depending of the setup of a plugin.

The core of these registers are:

  • xBlogMainList
  • xBlogMainSingle
  • xBlogMini

They contain all data for the views list, single and mini. Content of these registers will delivered to the fluid templates.

If you like to improve the TypoScript code, it would be a good idea, to use the TypoScript Object Browser and to look for the registers from above in the TypoScript code.

Bridge

xBlog doesn't have its own database. It prompts the content of fields of foreign tables and extensions to the frontend.

These fields must registered. A lot of default fields are registered by default.

There is something like a bridge, to connect fields of foreign databases with the frontend.

You are controlling registered fields by the Constant Editor. Please refer to

Look for the sections 'fields'.

If there is a need for a new field with a new workflow, you should register it. Please refer to

single: FLUID;1stPlugin
single: FLUID;2ndContent

Fluid Templates

There are two categories of Fluid templates:

  • first level
  • second level

You don't need to touch first level templates. They are templates for running xBlog by its controllers only.

The setup of the content in the frontend is done by second level templates. If you like to adapt frontend output to your needs, templates of the second level empowers you.

Setup

You can include your own layout, partials and templates by the Constant Editor. See

Directories

Resources/Private/View/
├── 1stPlugin           <- don't touch this level
│   ├── Layouts
│   ├── Partials
│   └── Templates
├── 2ndContent
│   ├── Layouts
│   ├── Partials
│   └── Templates
└── FluidStyledContent
    └── Foundation
Copied!

01 Storage

  • Location of your Fluid partials.
  • Your templates are partials only.
  • Partials must called 01, 02, 03, ...

Below is a sample with four additional Fluid partials.

EXT:my_ext/Resources/Private/View/xblog/
├── 1stPlugin
│   └── Partials
│       └── Externaltemplate
│           ├── List
│           │   ├── 01.html
│           │   ├── 02.html
│           │   ├── 03.html
│           │   └── 04.html
│           └── Single
│               ├── 01.html
│               ├── 02.html
│               ├── 03.html
│               └── 04.html
└── 2ndContent
    └── Partials
        └── Externaltemplate
            ├── List
            │   ├── 01.html
            │   ├── 02.html
            │   ├── 03.html
            │   └── 04.html
            └── Single
                ├── 01.html
                ├── 02.html
                ├── 03.html
                └── 04.html
Copied!

1stPlugin

Storage

Location of your first partial:

EXT:my_ext/Resources/Private/View/xblog/
└── 1stPlugin
    └── Partials
        └── Externaltemplate
            ├── List
            │   └── 01.html
            └── Single
                └── 01.html
Copied!

Content

For technical reasons, partials are required for the 1stPlugin. All list partials have the same code, as do all partials for the single view.

List

All partials on this level have the same code. Partials must called 01, 02, 03, ...

<!-- EXT:my_ext/Resources/Private/View/xblog/1stPlugin/Partials/Externaltemplate/List/01.html -->
<f:render partial="Main/List" arguments="{_all}" />
Copied!

Single

All partials on this level have the same code. Partials must called 01, 02, 03, ...

<!-- EXT:my_ext/Resources/Private/View/xblog/1stPlugin/Partials/Externaltemplate/Single/01.html -->
<div id="x{tt_content.uid}" class="{piWrapClass}">
  <f:format.raw>{content}</f:format.raw>
</div>
Copied!

2ndContent

Storage

Location of your first partial:

EXT:my_ext/Resources/Private/View/xblog/
└── 2ndContent
    └── Partials
        └── Externaltemplate
            ├── List
            │   └── 01.html
            └── Single
                └── 01.html
Copied!

Content

  • You are controlling your content with the partials of the 2ndContent level.
  • Partials must called 01, 02, 03, ...

List

This is a sample with debug output, fields from the main table and fields from a category table delivered by a view helper.

{namespace vh=MyVendor\MyExt\ViewHelpers}
<!-- EXT:my_ext/Resources/Private/View/xblog/1stPlugin/Partials/Externaltemplate/Single/01.html -->
<f:debug title="my-id@jzgasdf32">{data}</f:debug>
<f:debug title="my-id@jgfjgaezf">{_all}</f:debug>
<div class="row">
  <div class="columns small-12 medium-3 col-sm-12 col-md-3">
    <f:render partial="Method/Typolink/Image" arguments="{_all}" />
  </div>
  <div class="columns small-12 medium-9 col-sm-12 col-md-9">
    <h4 class="text-overflow-ellipsis">
      {data.title}
    </h4>
    <div class="row">
      <div class="columns small-12 medium-9 col-sm-12 col-md-9">
        <f:if condition="{data.category}" > 
          <div class="row">
            <div class="columns small-3 col-sm-3">
              Category:
            </div>
            <div class="columns small-9 col-sm-9">
              <f:variable name="category"><vh:getcategory uid="{data.category}"/></f:variable>
              {category.title}
            </div>
          </div>
          ...
Copied!

Single

This is a sample with debug output, fields from the main table and fields from a category table delivered by a view helper.

{namespace vh=MyVendor\MyExt\ViewHelpers}
<!-- EXT:my_ext/Resources/Private/View/xblog/2ndContent/Partials/Externaltemplate/Single/01.html -->
<f:debug title="my-id@dukieug">{data}</f:debug>
<f:debug title="my-id@kdvhdfa">{_all}</f:debug>
<h2>{data.title}</h2>
<div class="columns small-12 medium-3 col-sm-12 col-md-3">
    <f:render partial="Legresources/ImageSingleView" arguments="{_all}" />
</div>
<div class="columns small-12 medium-9 col-sm-12 col-md-9">
  <div class="row">
    <div class="columns small-12 large-12 col-sm-12 col-lg-12">
      <f:if condition="{data.category}" > 
        <div class="row">
          <div class="columns small-3 col-sm-3">
            Category:
          </div>
          <div class="columns small-9 col-sm-9">
            <f:variable name="category"><vh:getcategory uid="{data.category}"/></f:variable>
            {category.title}
          </div>
        </div>
      </f:if>
      ...
Copied!

03 TypoScript

Include your Fluid partials by TypoScript in the constant field.

Code snippet from below must be placed below the static templates from the xblog!

plugin.tx_xblog_pi1 {
  view {
    1stPlugin {
      partialRootPath   = EXT:my_ext/Resources/Private/View/xblog/1stPlugin/Partials/
    }
    partialRootPath   = EXT:my_ext/Resources/Private/View/xblog/2ndContent/Partials/
  }
}
Copied!
xBlog plugin: templates

xBlog plugin with four additional templates

04 Plugin

You add your Fluid templates / partials to the xBlog plugin by page TypopScript

Page TsConfig

With hard coded labels:

tx_xblog.templateLayouts {
  1 = List
  2 = Edit
  3 = Status
  4 = Bookings
}
Copied!

Or localised (recommended):

tx_xblog.templateLayouts {
  1 = LLL:EXT:my-ext/Resources/Private/Language/tsconfig.xlf:tx_xblog.templateLayouts.1
  2 = LLL:EXT:my-ext/Resources/Private/Language/tsconfig.xlf:tx_xblog.templateLayouts.2
  3 = LLL:EXT:my-ext/Resources/Private/Language/tsconfig.xlf:tx_xblog.templateLayouts.3
  4 = LLL:EXT:my-ext/Resources/Private/Language/tsconfig.xlf:tx_xblog.templateLayouts.4
}
Copied!

Adapt a field

Sometimes xBlog doesn't discover a field - for example a title field.

Maybe the title field of your extension isn't called 'title' but 'my_extension_title'.

In these case - xBlog manages title fields by default - you don't need to develop the xBlog extension. You have to setup it only. Please refer to

Look for field sections.

Register a new field

Steps

  • Place your field in the fluid template
  • Register a field in TypoScript (optional)

Fluid Template

Sample code for the fluid template and a new field bycycle_fitting from an extension like tx_myextension.

Non registered field

Nothing to do in TypoScript.

<f:format.html>{data.bycycle_fitting}</f:format.html>
Copied!

Registered field

A registered field must registered within your TypoScript (see below).

<f:format.html>{xBlogFieldBycycleFitting}</f:format.html>
Copied!

TypoScript

If you like to work with registered fields in your fluid templates, you have to register these fields within TypoScript. See the workflow below.

Registered fields are part of the TypoScript FLUIDTEMPLATE.

Each of the three "core" registers - xBlogMainList, xBlogMainSingle, xBlogMini - has an element renderObj:

renderObj = FLUIDTEMPLATE
renderObj {
  variables {
    registered_field_1 = ...
    registered_field_2 = ...
    ...
Copied!

See the TypoScript path for xBlogMainSingle below:

plugin.tx_xblog_pi1.settings.views.single.content.30.30.single.20 {
  xBlogMainSingle {
    cObject {
      renderObj {
        variables =
Copied!

If you don't know, how to find one of the three core registers - xBlogMainList, xBlogMainSingle, xBlogMini -, please refer to

Field definition

Example: Your field label is bycycle_fitting.

A field definition can be:

xBlogFieldBycycleFitting = TEXT
xBlogFieldBycycleFitting {
  field = bycycle_fitting
  wrap = <p class="fittings">|</p>
}
Copied!

The complete code would be:

plugin.tx_xblog_pi1.settings.views.single.content.30.30.single.20 {
  xBlogMainSingle {
    cObject {
      renderObj {
        variables {
          xBlogFieldBycycleFitting = TEXT
          xBlogFieldBycycleFitting {
            field = bycycle_fitting
            wrap = <p class="fittings">|</p>
          }
          ...
Copied!

Prompt registers

  • Look for method _flexformValuesToRegister() in your controller.
  • Insert a var_dump like in the code snippet below.
private function _flexformValuesToRegister()
{
  $this->_flexformValuesToRegisterPi1();
  // var_dump( __METHOD__, __LINE__, $GLOBALS[ 'TSFE' ]->register );
  // die();
}
Copied!

Real URL

Since the xBlog takes care of data from third-party extensions, the third-party extensions must ensure that the real URL is set up correctly.

However, the xBlog supports the so-called showUid parameter of every Real URL configuration by default. In addition, the xBlog supports the following parameter via its main plugin:

  • calUid
  • downloadUid
  • eventUid
  • jobUid
  • locationUid
  • newsUid
  • organizerUid
  • serviceUid
  • staffUid

These parameters are defined in the flex form of the xBlogMain plugin.

If you need another parameter, please send an email to the developer. See support.

Developers of third party extensions

If you are a developer of a third party extension and you want to improve your extension for Real URL, you will find a good configuartion sample at the EXT:org. See:

If link doesn' run, pleaser refer to the index of the manual and look for "Real URL":

ControllingUserfunc

User functions in context with plugin controlling.

RemoveShowUidFromSession

Returns true, if a showUid - the id of a single view - should removed from the session.

10 = USER
10 {
  userFunc = Netzmacher\Xblog\Userfunc\ControllingUserfunc->RemoveShowUidFromSession
  showUid = {$plugin.tx_xblog.configuration.params.showUid}
}
Copied!

PointerUserfunc

User functions in context with the paging.

Begin

Get the begin value for a select statement within a CONTENT object.

You need to define the pointer only, if you are using another value than 'pointer'.

10 = CONTENT
10 {
  select {
    ...
    begin {
      cObject = COA
      cObject {
        10 = USER
        10 {
          userFunc = Netzmacher\Xblog\Userfunc\PointerUserfunc->Begin
          pointer = mypointer
        }
      }
    }
    ...
  }
}
Copied!

SessionUserfunc

User functions in context with the session management.

SetXblogVar

Write any value of an xBlog variable to the session.

  // Sample: 
  // Write the current value of the URL param tx_blog[pointer] into the session for the tx_blog array with the element 123
  // 123 (if uid is 123), mypointer, GP:tx_xblog|pointer 
  //
10 = USER
10 {
  userFunc = Netzmacher\Xblog\Userfunc\SessionUserfunc->SetXblogVar
  uid = TEXT
  uid {
    field = uid
  }
  param = TEXT
  param {
    value = mypointer
  }                
  value = TEXT
  value {
    data = GP:tx_xblog|pointer
    intval = 1
  }
  dontClearCache = 1
}
Copied!

Get the value from above from the session

  // Sample: 
  // Get the param mypointer from the session from the tx_blog array with the element 123
  // data = session: tx_blog|123|mypointer
  //
data {
  cObject = COA
  cObject {
    10 = TEXT
    10 {
      value = session: tx_xblog|
    }
    20 = TEXT
    20 {
      field = uid
    }
    30 = TEXT
    30 {
      value = |mypointer
    }
  }
}
Copied!

0.22

0.22.0

  • The flexform for RSS feeds is improved
  • Properties of all RSS-plugins MUST SET UP MANUALLY!

0.20

0.20.48

  • Flexform property for the profile is moved.
  • If you have used antother profile than the default, you MUST UPDATE the showUid in every flexform!Filter
  • Default profile uses the param showUid.

0.20.36

  • Flexform values got user access property
  • Admins must config user access for page contents xblog_*, if there are accounts for users.

To-do list

Details @ TODO.md

Filter

Security

Security! TCA form filter fields expertsql and value isn't secured! Look for: :todo: security

Localisation

Must checked, if xBlog supports localisation out-of-the-box.

Plugins

Devlopment of:

  • Map plugin

Workarounds

  • Solve workaround #i0039

Workspaces

Must checked, if xBlog supports workspaces out-of-the-box.

Conventions

TCA

Please use for the lables of your tables the field title. If you use another label, you can get unexpected results like empty tags.

Filter and Forms

xBlog

If the xBlog is the only xBlog plugin, the filter should work without errors. In combination with other xBlogs and especially with the xBlogForm, unexpected results can occur.

xBlogForm

xBlogFrom and xBlog should work reliably as long as there is only one xBlog on the page and no filters are activated for that xBlog.

Table of Contents

Too few entries in the hit list?

If you combine filters, the number in the hit list may be fewer than expected. If so, please check whether the data records are assigned to the individual filter criteria.

This is not a real mistake.

No entry in $TCA

Prompt (sample)

There is no entry in the $TCA array for the table "ERROR at settings.register.flexform.pi3.paging.pi3__pi1_table". This means that the function enableFields() is called with an invalid table name as argument.

Cause

Probably you have included xBlog static templates twice.

Solution

Check your TypoScript with the TypoScript Analyser. If xBlog static templates are included twice, please remove one of them.

TYPO3 xBlog: TCA selectTree

TCA renderType "selectTree" with a missing page tree

TCA selectTree

Error

The selectTree displays only the item "Page".

Error occurs with user access only. Error doesn't occurs with admin access.

Cause

TCA configuration for selectTree is missing.

Check it!

There must be a configuration like in the illustration below:

TYPO3 xBlog: TCA selectTree

Solution

Please refer to config.treeConfig.rootUid

Table name required

Error from below should not occur any longer. But if not, please contact the developer @ http://wildt.at.die-netzmacher.de

Prompt

Oops, an error occurred! ConnectionPool->getConnectionForTable() requires a table name to be provided.

Cause

The cause is likely: An xBlog paging plug-in is not connected to a proper xBlog. Or an xBlog paging plugin is connected to a proper xBlog, but this xBlog is hidden.

Solution

Please check the configuration of your xBlog paging plugin.

What's new

11.3

xBlogForm

  • all fields of foreign tables are available now, but fields of relations to other tables
  • fields of foreign tables have the properties radio buttons, checkboxes and selectboxes now

xBlogTagCloud

  • new modus: take tags from related category tables

11.1

What's new in further versions

10.0

  • Extension manager: flag for siteconfiguration prompt in frontend
  • calendar link to an inquiry form
  • Prompt in backend, if site configuration (config.yaml) is not proper
  • xBlogMain plugin: Images have the new property display: list, single, both (default)

0.40

0.47

  • Short for single view. CSS for dateline in single view

0.46

  • Archived News
  • Automatic RSS TypoScript template for page with module xblog-rss
  • Do not display a record twice on the same page

Caching

0.45.0

Proper caching

Flexform default values

0.44.0

Dynamically Flexform default values. Depending on the selected table.

xBlog Tag Cloud

0.43.0

New plugin.

xBlog Mini Calendar

0.42.0

New plugin.

Simplified Configuration

0.41.0

Simplify xblog plugin: Display tables dependent on TCA.ctrl-section and extension-manager in simplify mode 'user-friendly'.

Sorting Children Records

0.40.1

Children records will be sorted by TCA ctrl sortBy

0.30

xBlog Category

0.36.0

New plugin.

Categorie Relations

0.35.1

xBlogMain: relation categories

Display selected record

0.34.1

xBlogMain: New option 'Display the selected record from below, if no other single record should displayed.'

Migration Script page TSconfig

0.33.0

Migration script for page.TSconfig: config.treeConfig.rootUid

Frontend Editing

0.31.0

Frontend-Editing: from TYPO3 10.4 only!

fe_user

0.30.19

xBlog: view for fe_user

Table Layout

0.30.17

xBlogMain: table layout

Quick Shop

0.30.2

Module for quick shop

0.20

Single Record

0.25.4

Display a single record

Bootstrap

0.20.19

CSS support for bootstrap.

Compatibility

0.20.8

TYPO3 10.4

SEO

0.20.8

  • Integration of rx_shariff.
  • Upgrade for Seo Dynamic Tag 5.

xBlogMain

News

0.20.12

Prepended date.

Paging

0.20.19

Paging property.

xBlog Teaser

0.20.8

New plugin.

0.9

Controlling third party extensions

The xBlog Main plugin and the xBlog Slider plugin can used for the single view of any other extension.

See example at

Real URL

Support for Real URL

Template Selector

You can offer editors different layouts. They can select the layout in the template selector. See at

xBlogSearch

Hand on sword from xBlogSearch to xBlogForm.

0.8

0.8.16/0.8.24

Filter

xBlog plugins got the tab filter:

  • xBlog Main
  • xBlog Mini
  • xBlog RSS
  • xBlog Slider

Screenshot at

0.8.15

Manual

New sections:

RSS Feed

New plugin. Details at Administrators > Setup > Constant Editor > RSS Users

0.8.14

Manual

New sections among others:

Plugin xBlog Slider

New plugin xBlog Slider:

0.8.8

Columns and Grids

You can setup columns and grids for list views:

  • These columns are possible: 1, 2, 3, 4 and 6.
  • These grid layouts for a record are possible:

    • Margin content in left or right column or at the top or bottom
    • These proportions are possible: 25/75, 33/66, 50/50, 66/33, 75/25

Drag in Wizard

New categorie xBlog with nine plugins.

Two of them are disabled.

HTML framework

  • Fluid Styled Content is supported
  • Foundation framework is supported

Localisation

German translation

Plugins

New plugins:

  • Datesheet
  • Image
  • Media
  • Search

Improved plugins:

  • xBlog (list- and single-view)
  • xBlog Mini
  • xBlog Paging

0.7

xBlog Image

Renders the images of a single view

0.6

Integration in Depth

New manual section at

Process as Text with Image

xBlogMain plugin has the new tab [Item] with the property "Process as ...".

New property has the options:

  • Default

    • Process the record by the fluid template of the xblog
    • Curently there isn't any adequate rendering for images
    • But the xblog default item respects the responsive framework foundation
  • Text with pictures (content element). This is Work in progess

    • Process the record by TypoScript property tt_content.textpic
    • If field values of the record has same labels like an element of the tt_content table, you will get a proper image rendering. But header is missing! This is a todo.
    • This process doesn't respect the foundation framework

Session Management

See at

User Functions

New user function ControllingUserfunc at

0.4

Manual

New sections

Controlling

0.4.0

Controlling is proper:

  • If an xBlog is exclusive - it handles only data, which are sent to it - it is controlled by the paging element only, which is connected with this xBlog.
  • If an xBlog isn't exclusive - it handles all sended data - it is controlled by any paging element.
  • Session works proper. Pointer values for each xBlog are managed proper.

0.2

Website

0.2.0

Main and Mini

0.2.0

If you have select a table you can select order field and order direction now.

0.1

Paging

0.1.0

There is a third plugin ready: [xBlog: Paging]

0.0

Mini view

There is a second plugin ready: [xBlog: Mini]

Initial Release

Sitemap

Index