This page is still a beta!

1.9. Reference

General (global arrays)

Property:

Data type:

Description:

Default:

template

array-> Local

Integration of your template in the Browser plugin/flexform

Tutorial:

http://typo3.org/documentation/document-library/extension-manuals/browser_tut_templating_en/current/

Example:

plugin.tx_browser_pi1 {

  template {

    extensions {

        // BEGIN of your configuration

        // [String/Array] extension key

      org {

          // [String/Array] template name (inern)

        news {

            // [String] name for plugin/flexform

          name = Org: Nachrichten

            // [String] path to the template

          file = EXT:org/res/news/401/default.tmpl

            // [Integer/CSV] Comma seperated list of

            //   the views id, which can process

            //   the template

          csvViews  = 401

        }

      }

        // END of your configuration

    }

  }

}

localTable

-> Local

autoconfig

-> Local

format

array

Configuration for the PHP method strftime().

  1. strftime (format string):PHP format (see PHP Documentation "Date and Time Functions", method strftime()

  2. strftime.utf8_encode (boolean):If you have problems with multi byte chars like German Umlaute (Ä,Ö,Ü, ß), activate or deactivate this property

Example:

plugin.tx_browser_pi1 {

  format {

    strftime = %a, %d.%b.%y

    strftime {

      utf8_encode = 1

    }

  }

}

See the example

general_stdWrap

-> Local

navigation.modeSelector

array

Wrapping of the items in the tabs (mode selector) before wrapped with a link. Sometimes it is useful for the CSS.

Example:

plugin.tx_browser_pi1 {

  navigation.modeSelector.wrap = <span>|</span>

}

empty

document_stdWrap

-> Local

displaySingle

-> Local

displayList

-> Local

upload

-> Local

advanced

-> Local

views

array

See the reference table "Views" below (page 23)

andWhere

-> Local

See the property "n.andWhere" below (page 38)

marker

-> Local

_LOCAL_LANG

array

See the reference table "_LOCAL_LANG" below (page 43)

Local (every view)

Local is a special property in Browser:

  1. Every property is the default for all views.

  2. But you can copy the properties to every view.Thus it is possible to configure each view differently with a minimum off input

Example

The case: you need for the list view 1 another template.

Line 2: You copy the property array template

Line 3: You change the value of the field you need.

The benefit is, that the changing has no effect to other views.

  1. plugin.tx_browser_pi1.views.list.1 {

  2.   template < plugin.tx_browser_pi1.template

  3.   template.file = fileadmin/templates/my.tmpl

  4. }

There is another example for the property displayList in the tutorial "Tutorial Basics".

Property:

Data type:

Description:

Default:

template

array

file: Path to the default HTML template.

Tutorial:

See "Tutorial Basiscs"

Example:

plugin.tx_browser_pi1.template {

  file = EXT:browser/res/default.tmpl

}

See the example

autoconfig

-> autoconfig

localTable

string / array

file: Path to the default HTML template.

Tutorial:

See "Tutorial Basiscs"

Example:

plugin.tx_browser_pi1.template {

  localTable = tt_news

  localTable {

    uid = uid

    pid = pid

  }

}

upload

string

Path to upload folder of your images or documents

Example:

plugin.tx_browser_pi1 {

  upload = uploads/tx_ships

}

empty

general_stdWrap

array

Text will be wrapped as RTE-Text, but without any <p>-tags.

If a field has the property handleAs = text, it won't be processed with general_stdWrap but with displayList.content_stdWrap or displaySingle.content_stdWrap. See the example in  displaySingle.content_stdWrap.

Example:

plugin.tx_browser_pi1 {

  general_stdWrap < lib.parseFunc_RTE

  general_stdWrap {

    parseFunc {

      nonTypoTagStdWrap {

        encapsLines {

          nonWrappedTag >

        }

      }

    }

  }

}

See the example

document_stdWrap

array

Wrapping of fields which should handled as documents.

Example:

plugin.tx_browser_pi1 {

  document_stdWrap {

    icon = 1

    stdWrap {

      noTrimWrap = || |

    }

  }

}

See the example

displaySingle

array

Configuration of

  1. the display of markers in the frontend and

  2. images

  3. in a single view.

It is nearby the displaySingle property in the extension tt_news.

If you want to know more, please read the Reference in the tt_news manual.

The SEO fields title, description and keywords have the stdWrap property.

Tutorials:

Tutorial Basics

Tutorial Images

Example:

plugin.tx_browser_pi1.displaySingle {

  seo {

    htmlHead {

      title = 0

      meta {

        description = 0

        keywords    = 0

      }

    }

  }

  display {

    title      = 1

    table {

      summary  = 1

      caption  = 1

    }

    backbutton = 1

    searchform {

      wrapSwordInResults = 1

      wrapSwordInResults {

        0.wrap = <span style="background:#ffff7f">\            |</span>

        ...

      }

    }

  }

  templateMarker = ###TEMPLATE_SINGLE###

  imageCount     = 4

  imageWrapIfAny = \    <div class="news-single-img"> | </div>

  content_stdWrap {

    parseFunc < lib.parseFunc_RTE

  }

  caption_stdWrap {

    wrap = \      <p class="news-single-imgcaption"> | </p>

    trim = 1

  }

  imageBoxWrap {

    // [String] Wrap code for every \       image/imagecaption block

    wrap = <span class="single-imagebox \           single-imagebox-###IMAGE_COUNT###"> | \           </span>

  }

See the example

  image {

    // [String] path and file name of the image, \       which should displayed, if a record hasn't \       any image

    file = EXT:browser/res/images/\           alternate_image_400x300.gif

    file.maxW = 240

    file.maxH = 180

    wrap =

    imageLinkWrap = 1

    imageLinkWrap {

      enable   = 1

      bodyTag  = <body bgColor="#ffffff">

      wrap = <a href="javascript:close();"> | </a>

      width    = 500m

      height   = 500

      JSwindow = 1

      JSwindow {

        newWindow = 1

        expand = 17,20

      }

    }

  }

  firstImageIsPreview       = 0

  forceFirstImageIsPreview  = 0

}

displayList

array

Configuration of

  1. the display of markers in the frontend and

  2. images

  3. in a list view.

It is nearby the displayList property in the extension tt_news.

If you want to know more, please read the Reference in the tt_news manual.

The SEO fields title, description and keywords have the stdWrap property.

References:

See n.displayList.display on page 41.

Example:

plugin.tx_browser_pi1.displayList {

  singlePid =

  seo {

    htmlHead {

      title = 0

      meta {

        description = 0

        keywords    = 0

      }

    }

  }

  display {

    searchform {

      ...

      wrapSwordInResults = 1

      wrapSwordInResults {

        0.wrap = <span style="background:#ffff7f">\            |</span>

        ...

      }

    }

    table {

      summary   = 1

      caption   = 1

    }

    jssAlert    = 1

  }

  templateMarker = ###TEMPLATE_LIST###

  # Don't display caption in List view

  caption_stdWrap.if.directReturn = 0

  imageCount = 1

  imageWrapIfAny =

  imageBoxWrap {

    // [String] Wrap code for every \       image/imagecaption block

    wrap = <span class="list-imagebox \           list-imagebox-###IMAGE_COUNT###"> | \           </span>

  }

  image {

    // [String] path and file name of the image, \       which should displayed, if a record hasn't \       any image

    file = EXT:browser/res/images/\           alternate_image_400x300.gif

    file.maxW     = 120

    file.maxH     =  90

    imageLinkWrap = 1

    imageLinkWrap {

      enable   = 1

      bodyTag  = <body bgColor="#ffffff">

      wrap = <a href="javascript:close();"> | </a>

      width    = 500m

      height   = 500

      JSwindow = 1

      JSwindow {

        newWindow = 1

        expand    = 17,20

      }

    }

  }

See the example

singlePid: Default is the current page id

  master_templates {

    selectbox = SELECTBOX

    selectbox {

      ... -> See "Browser Tutorial Search"

    }

  }

}

displayList. selectBox_orderBy

You will get a select box for ordering records in the list view, if you don't use the marker ###ITEM###.

Tutorial:

Browser Tutorial Marker (en)

Example:

plugin.tx_browser_pi1.displayList {

  selectBox_orderBy {

    // [Boolean] 1: Display the select box for    //   ordering (default), 0: don't display.

    display = 1

    templateMarker = ###TEMPLATE_SELECTBOX_VALID###

    selectbox = SELECTBOX

    selectbox {

      ...

    }

  }

}

andWhere

-> array

See the property "n.andWhere" below (page 38)

advanced

-> array

See the section Advanced below

views.list

-> view.list

See table "views.list" below on page 28.

views.single

-> view.single

See table "views.single" below.

_LOCAL_LANG

-> _LOCALLANG

See table "_LOCAL_LANG" below on page 43.

Advanced

You should configure the array advanced only, if you are familiar with the Browser.

Advanced is local available. TypoScript snippet:

  1. plugin.tx_browser_pi1.views.single.1 {

  2.   advanced < plugin.tx_browser_pi1.advanced

  3.   advanced.sql.devider.childrenRecords >

  4. }

Property:

Data type:

Description:

Default:

development

array

Please read the comment in the TypoScript code.

And sorry, that there isn't any other documentation.

performance

array

Please read the comment in the TypoScript code.

And sorry, that there isn't any other documentation.

recursionGuard

int

The Browser uses some methods recursive. The recursion guard prevents unlimited loops and take care about performance.

You can increase the value of the recursion guard.

Example:

plugin.tx_browser_pi1.advanced {

  recursionGuard = 10000

}

10000

localization

-> array

See the section Localization below.

realUrl

-> array

See the section realUrl in the Reference  below.

security

array

Please read the comment in the TypoScript code.

And sorry, that there isn't any other documentation.

sql

array

Please read the comment in the TypoScript code.

And sorry, that there isn't any other documentation.

tca

array

Please read the comment in the TypoScript code.

And sorry, that there isn't any other documentation.

a-z_Browser

You can display your matched items with the A-Z-Browser like the examples below:

  1. Default

All | 0-9 | A | B | ... | XYZ | Others

  1. A small one

All | 0-9 | A-E | F-J | K-P | R-Z | Others

Tutorial

See Tutorial Navigation:

Property:

Data type:

Description:

Default:

navigation

array

Array for configuring the

  1. a-z-browser

  2. modeSelector

  3. page browser

  4. record browser

plugin.tx_browser_pi1 {
  navigation {
    a-z_Browser {
    }
    modeSelector {
    }
    pageBrowser {
    }
    record_browser {
    }
  }
}

See Tutorial Navigation

autoconfig

Tutorial

Property:

Data type:

Description:

Default:

relations

array

Array with your list views.

Tutorial:

Tutorial Databases

Example:

plugin.tx_browser_pi1.autoconfig {

  relations = 1

  relations {

    oneWayOnly = 1

    simpleRelations = 0

    simpleRelations {

      selfReference = 0

    }

    mmRelations = 1

    TCAconfig {

      type = 1

      type {

        csvValue = select

      }

    }

    csvDontUseFields =

    left_join = 1

  }

}

autoDiscover

array

Example:

plugin.tx_browser_pi1.autoconfig {

}

See table Local

Localization

plugin.tx_browser_pi1.advanced.localization

realURL

Property:

Data type:

Description:

Default:

realURL

array

Array for configuring realURL in context with localization.

defaultLanguageLink (boolean):

  1. Default: 1

  2. 0: Link to the single with the uids of the current records

  3. 1: Link to the single with the uids of the default language records

Background:

The extension realurl is using the uid of the default language records usually.

- Advantage

  1. You can switch the languages in single mode.

- Disadvantage

  1. The realurl path is using the record segment in default language in every language

You change this behavior:

The extension realurl is using than the uid of the current record.

- Advantage

  1. The realurl path is using the record segment in the current language.

- Disadvantage

  1. You can't switch the languages in single mode.

Example:

plugin.tx_browser_pi1.advanced.localization {

  realURL {

    defaultLanguageLink = 1

  }

}

1

TCA

Property:

Data type:

Description:

Default:

TCA

array

Array for configuring TCA behavior in context with localization.

TCA.field.appendix (string):

Fields with this appendix will be used for translation. I.e. The overlay value from tt_news_cat.title_lang_ol will overwrite the value in tt_news_cat.title

  1. Default: lang_ol

TCA.value.devider (string):

Devider for seperating language entries like de:Aufmacher|fr:Accroche or Aufmacher|Accroche

  1. Default: |

TCA.value.langPrefix (boolean):

  1. Default: 1

  2. 1: lang_ol values have a lang_prefix like en:Lead Story|de:Aufmacher|fr:Accroche

  3. 0: lang_ol values are without lang_prefix like Lead Story|Aufmacher|Accroche

Example:

plugin.tx_browser_pi1.advanced.localization {

  TCA {

    field {

      appendix   = _lang_ol

    }

    value {

      devider    = |

      langPrefix = 1

    }

  }

}

lang_ol

|

1

realUrl.linkToSingle

plugin.tx_browser_pi1.advanced.realUrl.linkToSingle

realURL

Property:

Data type:

Description:

Default:

realURL

array

Array for configuring realURL in context of SEO - Search Engine Optimisation.

You can control links to a single view with the properties below.

You can add your own piVars, if it would be necessary.

Background:

It would be the best to have a link to a single view only with the page id and the id of the record. Than you will have a short URL and a unique URL.

If you have some more parameters, they will enable to visit the same content with different URL. Search Engines don't like this, because it seems, that you provide double content.

Tutorial:

Browser Tutorial RealURL (en), extkey: browser_tut_realurl_en

Example:

plugin.tx_browser_pi1.advanced.realUrl {

  linkToSingle

    realURL {

      dont_display_piVars = 1

      dont_display_piVars {

        azTab    = 1

        mode     = 1

        pointer  = 1

        plugin   = 1

        sort     = 1

        sword    = 0

      }

    }

  }

}

views.list

Property:

Data type:

Description:

Default:

n

array

Array with your list views.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    ...

  }

}

n.name

string

Name of the list view. Name will be displayed in the plugin.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    name = Organiser: Events

  }

}

n.template

array

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    template < plugin.tx_browser_pi1.template

    temlate {

      ...

    }

  }

}

See table Local

n.relations.type

array

Array with your database relations.

type is mm only until now.

Commendation:

You can build the relation for all possibilities you need and copy it to every view (like the example above).

Browser will use only the relations, it need for building the query of the view.

Tutorial:

Tutorial Database

Debugging:

See "Debugging SQL statements" on page 20.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    relations.mm = ...

    ...

  }

  2 < .1

}

n.record

array

Array with

  1. the uid field name of the main record (the record with the id for the link to a single view)

  2. the pid field name of the main record.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    record {

      uid = tx_ships_main.uid

      pid = tx_ships_main.pid

    }

  }

}

n.select

string,stdWrap

The query with the field names, which you want display in the frontend.

You don't need the uid and the pid of the main record (see property record above).

Browser builds SQL statements according to the limit by TYPO3 - i. e. fe-user-rights, hidden records.

Tutorial:

See Tutorial Quick Start above

Tutorial Basics

Debugging:

See "Debugging SQL statements" on page 20.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    select = tt_news.title, tt_news_cat.title

  }

}

plugin.tx_browser_pi1.views.list {

  1 {

    select = COA

    select {

      10 = TEXT

      10 {

        value = tt_news.title

        lang {

          de = tt_news.title_de

        }

        wrap = |,

      }

      20 = TEXT

      20 {

        value = tt_news_cat.title

        lang {

          de = tt_news_cat.title_de

        }

        wrap = |,

      }

    }

  }

}

n.showUid

string

You can set the name for the piVar[showUid]. It is helpfull, if you are use more than one plugin with different databases like 'tt_news' and 'fe_users' for example - and if your are using realUrl.

In the case below the record id of the first list view will get the parameter tx_browser_pi1[showUid]=X - this is the default, now alias for the showUid isn't configured.

The record id of the second list view will get the parameter tx_browser_pi1[feuserUid]=X

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    ...

  }

  2 {

    showUid = feusersUid

  }

}

n.select.deal_as_table

array

If you are using the SQL manual mode with aliases, you have to help the Browser to allocate the proper table for operations. There is the array deal_as_table for this case.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    select  = or.uid AS `or.uid`, \              CONCAT(or.or_code, ' ', or.or_name) \              AS `or.or_name`

    select {

      deal_as_table {

        0 {

          statement = CONCAT(or.or_code, ' ', \                      or.or_name) AS `or.or_name`

          alias     = or.or_name

        }

      }

    }

  }

}

n.groupBy

string,

stdWrap

If you like to display your data grouped, please use groupBy.

The groupBy won't be a part of the SQL query but will be processed by PHP.

Example for stdWrap see n.select above

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    groupBy = tt_news_cat.title

  }

}

This property is incomplete! If you are using groupBy the A-Z-Browser and the page browser can't count the records propper.

n.groupBy.dontConsolidate

boolean

If you are group data by a field of a foreign table and you are displaying more than one field from the foreign table, it is possible, that you won't get a proper result. Try dontConsolidate in this case.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    groupBy {

      dontConsolidate = 1

    }

  }

}

0

n.where

string,

stdWrap

DANGEROUS! You can write your own where clause.

Be aware in case of an own configuration, that you have to configure enable fields like hidden, deleted, starttime and endtime by yourself.

Filter doesn't work in case of own where clause.

Example for stdWrap see n.select above

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    where = tx_ships_special.uid = 35

  }

}

n.andWhere

string,

stdWrap

You can add any condition to the where clause.

If you need a table field in your clause, you have to allocate the table name separated by commas to the value "tables".

The allocated table names have to be a part of your defined relations.

Example for stdWrap see n.select above

Debugging:

See "Debugging SQL statements" on page 20.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    andWhere = tx_ships_special.uid = 35

  }

}

n.orderBy

string,

stdWrap

You can sort every view in your own way, if you need it.

orderBy won't be a part of the SQL query but will be processed by PHP multisort since Browser 3.1.0

Example for stdWrap see n.select above

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    orderBy = tt_news.datetime desc, \              tt_news_cat.title

  }

}

Values from the select property

n.orderBy.foreignTable

string

You can order children records (foreign tables) by a SQL query.

The code will be send as a real SQL query in contrast to the property orderBy above!

Foreign table has to be the name of the foreign table like in the example below. It will be used for the table.field marker.

In the example below the browser will handle the result of the sql query in this way:

  1. uid -> tx_org_department.uid

  2. title -> tx_org_department.title

You will need the marker ###UID_LOCAL###. The marker will be replaced by the uid of the current local table.

Browser  Tutorial Database (en):

http://typo3.org/documentation/document-library/extension-manuals/browser_tut_search_en/current/

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    orderBy {

      tx_org_department (

SELECT tx_org_department.uid AS 'uid',

       tx_org_department.title AS 'title'

FROM   tx_org_department,

       tx_org_headquarters_mm_tx_org_department

WHERE  tx_org_headquarters_mm_tx_org_department.\       uid_local    = ###UID_LOCAL###

  AND  tx_org_headquarters_mm_tx_org_department.\       uid_foreign = tx_org_department.uid

ORDER BY       tx_org_headquarters_mm_tx_org_department.\       sorting

)

    }

  }

}

n.random

boolean

Generate records by a random order.

Be aware!

  1. random has priority: orderBy will be ignored!

  2. the Browser plugin doesn't have to be cached

No cache

Please use the plugin "Browser (no cache)"

The whole page will not be cached!

Tutorial

Browser Tutorial Several Plugins (en)

Section: No Cache

http://typo3.org/extensions/repository/view/browser_tut_severalplugins_en/current/

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    random = 1

  }

}

n.override

array

You can override the parts select, from, where, andWhere and orderBy of any SQL query. Every part is optional.

The override option makes sense, if you aren't satisfied with the query statements processed by the browser.

Every item has the stdWrap property. Example for stdWrap see n.select above.

andWhere has only an effect, if you don't use where!

Example:

plugin.tx_browser_pi1.views.list {

  1.override {

    select   = tt_news.title AS 'tt_news.title', \               tt_news_cat.title AS \               'tt_news_cat.title'

    from     = ...

    where    = ...

    andWhere = ...

    orderBy  = ...

  }

}

n.limit

string

Limit the result

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    limit = 0,3

  }

}

n.search

string

You can search in more fields than displayed.

Tutorial

Tutorial Search

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    search = tt_news.title, tt_news.bodytext, \             tt_news.short, tt_news_cat.title

  }

}

Values from the select property

n.handleAs

array

You can handle fields in a special way.

  1. imagewill be wrapped as an image.You have to configure the property upload. See table "Local"  property upload on page 23.

  2. imageCaptionwill be wrapped as the image caption.

  3. imageAltTextwill be wrapped as the image alt tag.

  4. imageTitleTextwill be wrapped as the image title tag.

  5. documentwill be wrapped as link to the document with a mime type icon.

Tutorial:

Tutorial Database

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    handleAs {

      image          = tx_ships_main.images

      imageCaption   = tx_ships_main.caption

      imageAltText   = tx_ships_main.caption

      imageTitleText = tx_ships_main.caption

      document       = tx_ships_main.documents

   }

  }

}

n.csvLinkToSingleView

string

By default every item in the list links to the single view. If you don't want that, use csvLinkToSingleView (comma separated values).

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    csvLinkToSingleView = tt_news.title

  }

}

n.document_stdWrap

array

Copy the default configuration from document_stdWrap and change it.

Wrapping of documents.

See property document_stdWrap in the table "Local" on page 24.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    document_stdWrap < \      plugin.tx_browser_pi1.document_stdWrap

    document_stdWrap.stdWrap {

      noTrimWrap >

      wrap = <br />

    }

  }

}

See table Local

n.displayList

array

Copy the default configuration from displayList and change it.

Wrapping of images and configuration of displaying markers.

See property displayList in the table "Local" on page 27.

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    displayList < \      plugin.tx_browser_pi1.displayList    displayList {

      ...

    }

  }

}

See table Local

n.displayList.display

array

If you don't want the item, set the value to 0.

  1. table.summary: use the <table summary="..."> porperty

  2. table.caption: use the <table><caption>...</caption> tag

  3. jssAlert: Link to a alert box, if the isn't any single view.

Example:

plugin.tx_browser_pi1.views.list.1.displayList {

  display {

    table {

      summary     = 1

      caption     = 1

    }

    jssAlert      = 1

  }

}

Like the example

n.table.field

stdWrap

Every table field has the stdWrap property.

Tutorial:

Tutorial Basics

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    tt_news.title {

      crop = 10 | ... | 1

    }

  }

}

n.marker

array,stdWrap

Every view has the marker property.

Tutorial:

Tutorial Basics

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    marker {

      my_marker {

        value   = My Marker

        lang.de = Mein Marker

    }

  }

}

views.single

Property:

Data type:

Description:

Default:

n

array

See table views.list

n.template

array

See property template in the table "Local" on page 23.

Tutorial:

Tutorial Basics

Example:

plugin.tx_browser_pi1.views.single {

  1 {

    template < plugin.tx_browser_pi1.template

  }

}

See table Local

n.relations.type

array

See table views.list

n.record

array

See table views.list

n.select

string

See table views.list

n.andWhere

array

See table views.list

n.orderBy

string

See table views.list amongst others

orderBy is different from the SQL orderBy statement. There are several causes. On important cause is, that you can't order records from the local table (main table) and foreign tables (children tables) within one SQL query.

Since version 3.4.3 it is possible to order children records too. See the example below:

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    select  = ...

    orderBy (      tx_organiser_cal_mm_calentrance.sorting,      tx_organiser_calentrance.title    )

  }

}

Comment:

There is this relation in the example above (you can't see it):

tx_organiser_cal -> tx_organiser_cal_mm_calentrance \  -> tx_organiser_calentrance

It is like:

event -> mm table -> entrance fees

The orderBy clause from above will have the effect, that the titles of the entrance fees (values like: "students 10 EUR, adults 16 EUR, ..." will first ordered by the values of the field sorting in the mm table and second will be ordered by the title.

The browser detects a context between mm tables and foreign tables!

The orderBy clause from above will have any effect to all other children tables.

Values from the select property

n.orderBy.foreignTable

string

You can order children records (foreign tables) by a SQL query.

The code will be send as a real SQL query in contrast to the property orderBy above!

Please refere to views.list above

n.search

string

See table views.list

Values from the select property

n.handleAs

array

You can handle fields in a special way.

  1. titleheadline in the single view

  2. imagewill be wrapped as an image.You have to configure the property upload. See table "Local"  property upload on page 23.

  3. imageCaptionwill be wrapped as the image caption.

  4. imageAltTextwill be wrapped as the image alt tag.

  5. imageTitleTextwill be wrapped as the image title tag.

  6. textwill be wrapped as text in the single view in the template image-text.

  7. documentwill be wrapped as link to the document with a mime type icon.

Tutorial:

Tutorial Basics

Tutorial Images

Example:

plugin.tx_browser_pi1.views.single {

  1 {

    handleAs {

      title          = tx_ships_main.title

      image          = tx_ships_main.images

      imageCaption   = tx_ships_main.caption

      imageAltText   = tx_ships_main.caption

      imageTitleText = tx_ships_main.caption

      text           = tx_ships_main.history

      document       = tx_ships_main.documents

   }

  }

}

n.document_stdWrap

array

See table views.list

See table Local

n.displaySingle

array

Copy the default configuration from displaySingle and change it.

Wrapping of images and configuration of displaying markers.

See property displaySingle in the table "Local" on page 25.

Example:

plugin.tx_browser_pi1.views.single {

  1 {

    displaySingle < \      plugin.tx_browser_pi1.displaySingle    displaySingle {

      ...

    }

  }

}

See table Local

n.table.field

stdWrap

See table views.list

n.marker

array,stdWrap

Every view has the marker property.

Tutorial:

See "Self-defined Markers".

Example:

plugin.tx_browser_pi1.views.list {

  1 {

    marker {

      my_marker {

        value   = My Marker

        lang.de = Mein Marker

    }

  }

}

TT_CONTAINER

The TT_CONTAINER is deprecated! Use COA instead. See the Tutorial/Manual of Browser for BZD Staff Directory.

Tutorial / Manual

TT_CONTAINER is a short form for TypoScript Template Container.

Property:

Data type:

Description:

Default:

tableFieldUid

string

Deprecated!

Syntax:

table.field: name of the table + dot + name of the field

Tutorial:

Debugging:

Example:

plugin.tx_browser_pi1.views.single.1 {

  ttContainer  = TT_CONTAINER

  ttContainer {

    tableFieldUid = tx_civserv_form.uid

    limit         = -1

    wrap          (

        <h2>Forms</h2>

        <ul>|</ul>

)

    noRecord {

      value        (

         <h2>Forms</h2>

         <ul>

           <li>

             There isn't any form.

           </li>

         </ul>

)

    }

    10 = TTC_STDWRAP

    10 {

      ...

    }

    20 = TTC_COA

    20 {

     

    }

  }

}

limit

int

noRecord

array->stdWrap

...

has the stdWrap property

ttc_stdwrap

array->TTC_STDWRAP

ttc_coa

array->TTC_COA

tt_container

array->TT_CONTAINER

TTC_COA

The TTC_COA is deprecated! Use COA instead. See the Tutorial/Manual of Browser for BZD Staff Directory.

Property:

Data type:

Description:

Default:

Deprecated!

Example:

plugin.tx_browser_pi1.views.single.1 {

  ttContainer  = TT_CONTAINER

  ttContainer {

    ...

    20 = TTC_COA

    20 {

     

    }

  }

}

TTC_STDWRAP

The TTC_STDWRAP is deprecated! Use COA instead. See the Tutorial/Manual of Browser for BZD Staff Directory.

Property:

Data type:

Description:

Default:

Deprecated!

Example:

plugin.tx_browser_pi1.views.single.1 {

  ttContainer  = TT_CONTAINER

  ttContainer {

    ...

    10 = TTC_STDWRAP

    10 {

      ...

    }

  }

}

_LOCAL_LANG

With the _LOCAL_LANG array you can control the values of the tabs in the mode selector and the translation for the table fields.

Tutorials

Label fields

Use localized tables and extensions:

Property:

Data type:

Description:

Default:

_LOCAL_LANG

array

Array with the translations for the tabs in the mode selector, for SEO - Search Engine Optimisation, table summary and table caption and for the fields

There are the following rules:

  1. Tabs:view_mode_nview: list or singlen: number of the view (1, 2, 3, ...)

  2. Tables:Browser generates HTML tables, which are conform with the guidelines of the Web Accessibility Initiative (WAI). view_mode_n_summary: <table summary="value">view_mode_n_caption:      <caption>value</caption>

  3. Fields:table_fieldtable: name of the table (i. e. tt_news)field: name of the field (i. e. title)

Example:

plugin.tx_browser_pi1 {

  _LOCAL_LANG {

    default {

      list_mode_1   = My tab in the view list 1
      list_mode_2   = My tab in the view list 2
      list_mode_1_titleTag = My HTML title tag 1
      list_mode_2_titleTag = My HTML title tag 2
      list_mode_1_keywords = keyword 1, ..., ....
      list_mode_2_keywords = keyword 1, ..., ....
      list_mode_1_summary = My table summary list 1
      list_mode_2_summary = My table summary list 2
      list_mode_1_caption = My table caption list 1
      list_mode_2_caption = My table caption list 2

     

      single_mode_1 = My tab in the view single 1
      single_mode_2 = My tab in the view single 2
      single_mode_1_titleTag = ###TABLE.FIELD### ...
      single_mode_2_titleTag = ###TABLE.FIELD### ...
      single_mode_1_keywords = ###TABLE.FIELD###, ..
      single_mode_2_keywords = ###TABLE.FIELD###, ..
      single_mode_1_summary = Summary single list 1
      single_mode_2_summary = Summary single list 2
      single_mode_1_caption = Caption single list 1
      single_mode_2_caption = Caption single list 2

     

      tt_news_title     = News Header
      tt_news_cat_title = Category

    }

    de {

      ...

    }

  }

}