.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt ========= EXT: news ========= :Created: 2006-04-05T09:44:51 :Changed by: Rupert Germann :Changed: 2009-11-27T13:54:30 :Email: rupi@gmx.li :Info 2: :Info 3: :Info 4: .. _EXT-news: EXT: news ========= Extension Key: **tt\_news** Copyright 2000-2009,Rupert Germann, , This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 \- a GNU/GPL CMS/Framework available from www.typo3.com .. _Table-of-Contents: Table of Contents ----------------- **EXT: news 1** **Introduction 1** What does it do? 1 NOTE: This manual does not contain all new features an changes from tt\_news 3.0. See document “tt\_news\_3.0\_changes.sxw” in the extensions doc/ folder for a more detailed description of the changes in tt\_news 3.0 1 Screenshots 3 **Users manual 7** How to update: 7 Installation 10 Quick start: 12 The tt\_news content element 15 The tt\_news database-record 19 Categories 21 The tt\_news\_cat database-record 24 The category menu (CATMENU) 25 The SINGLE view 27 The Archive 28 The Search 29 Version Preview 30 Troubleshooting 30 **Administration 32** Link Configuration 32 User Tsconfig 34 Page TSconfig 35 The Rich-Text-Editor 35 Rights & Permissions 37 Caching 37 **Configuration 39** Files: 39 Reference 41 TypoScript Examples: 60 Registers 62 RealUrl and SimulateStaticDocuments 63 Date and Time formats 65 Multilanguage News 66 XML feeds from tt\_news 69 **Extending tt\_news 72** **List of tt\_news add-ons 72** **Sponsoring tt\_news development 73** **Known problems 73** **To-Do 73** **Changelog 73** .. _Introduction: Introduction ------------ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ **NOTE:** This manual does not contain all new features an changes from tt\_news 3.0. See document “tt\_news\_3.0\_changes.sxw” in the extensions doc/ folder for a more detailed description of the changes in tt\_news 3.0 Extension for displaying and managing news. **Features:** - 3 types of news items: standard news articles, external links and links, pointing to internal pages. - Full multilanguage support - News-articles can be related to each other and/or to internal pages. If two news articles are related, the link back to the source article is inserted automatically. - The view of the complete news article (single view) can be splitted to multiple pages. Pagebreaks can be inserted manually by a userdefined “pagebreak token” or after a certain amount of words. - All types of mediafiles can be assigned to news-articles. - Very flexible news content-element with the following functions: several List views, Latest, Archive-menu, 2 different Single-views, Search, a menu from nested categories (CATMENU) and a special kind of single view: the “version preview”. - The appearance of the news plugin on the website can easily be changed by editing the html-template. - 2 different html templates included: A table-based template which is kown from older tt\_news versions and a new CSS-based template (see screenshots below). - News-categories, that can be assigned to news (multiple selections possible). Categories can also be nested to each other. News can be selected (or de-selected) for display by their categories or parent- categories. - All category trees in BackEnd forms can be expanded and collapsed. If you have a huge category tree this will speed up the rendering of the tree significantly. - Category-images and category-titles can act as link to a specific page or function as category-selector. - The Single view of an article can show a list of news, having the same categories assigned as the current article. - In the BackEnd categories can be used to configure the editing permissions for news records. A list of allowed categories can be configured for a BackEnd usergroup. If a member of this group tries to edit a news record that does have at least one category assigned that is not in this list saving of the record will be disabled. - Internal search function with configurable “search fields” (can be combined with the category-selector function to filter results by categories). - “Editlock”: By activating the checkbox “Restrict editing by non- Admins” a news record can be locked for editing by non-admin users. - “Automatic archiving”: After a given number of days has passed, news are automatically in the archive, no need to set an archivedate manually for each item. - Supports caching and Indexing: If caching is enabled news-articles are indexed by the extension “indexed search”. - Supports “direct preview”: When the “save & view” button in a news record (in the BackEnd) has been pressed the “single view” of this record will be opened on the website. (see section “Page TSconfig”) - Several possibilities to add user-defined scripts to process the output of the extension f.e. to add your own markers and templateparts. (-> see sections “Configuration/files” and “Extending tt\_news” for some examples) - Supports export to the following XML-feed formats: RSS 0.91, RSS 2, RDF Atom 0.3 and Atom 1.0. - Supports versioning and workspaces. “Versioning preview” is supported with a special mode of the tt\_news content element (VERSION\_PREVIEW) which will be available if the extension “version” is installed. - “Context sensitive help” (CSH) for all fields in the tt\_news and tt\_news\_cat BackEnd forms. .. _New-in-tt-news-3-0: New in tt\_news 3.0 """"""""""""""""""" - New backEnd module to manage news records and categories: “news admin” - FE plugin changes:- OptionSplit for many parameters (even in flexform)- New Display modes (CODEs) and template parts- Build-in processing of generic markers (thanks to Ringer Gerorg ;-) ) - Easy update: new updater script which fixes the most common migration problems - Serious speed improvements: internal caching of processing intensive values - Improved usability: reorganized constant editor options, plugin flexform and news record form. See document “tt\_news\_3.0\_changes.sxw” in the extensions doc/ folder for a more detailed description of the changes in tt\_news 3.0 .. _Compatibility: Compatibility """"""""""""" This version of tt\_rews requires at least TYPO3 4.1.0 to run, some features require TYPO 4.2 or 4.3 (which is recommanded to use). **WARNING !! Do not install this tt\_news version on TYPO3 prior to version 4.1.0 because it requires features that are not present in older TYPO3 versions. Don't even try it, because it might break your TYPO3 installation!** **PHP version:** tt\_news should work on all PHP versions that are also supported by TYPO3 (from 5.2.x to 5.3.0). **MySQL version:** 5.x. .. _Screenshots: Screenshots ^^^^^^^^^^^ **List View & Archive-menu:** News extension in a two column design, showing the Archive-menu (AMENU) in the left column and the “LIST” view in the normal column. |img-1| **Latest news:** |img-2| **Search-Form:** |img-3| **Single View:** For news with type “normal news” the single view shows the full article with related news, links and - not in this image - attached files and “related news by category”. |img-4| **The category menu (CATMENU)** The catmenu offers 3 different render modes.The left image shows the catmenu in mode “nestedWraps”, the middle and rightcatmenu are working in mode “tree” or “ajaxtree”. The right one uses userdefined icons (See section “The category menu”) |img-5| **News Database record in BackEnd:** The editing form is divided in sections (Tabs) grouping fields by their purpose. Here you see all possible fields, including the secondary options. Of course it is possible to hide some fields. So the editors see only e.g. “datetime”, "title" and "bodytext". |img-6| **Tab “Relations” in the tt\_news database record** The field “related news” supports the new “suggest” wizard from TYPO3 4.3 |img-7| **The “news-admin” Backend module** Since version 3.0 tt\_news comes with a BackEnd module for managing news and news categories. |img-8| .. _Users-manual: Users manual ------------ .. _How-to-update: How to update: ^^^^^^^^^^^^^^ Did you really make a backup of your site? If yes, then go ahead and update tt\_news with the extension manager. The first screen you'll see will look like this: |img-9| Note the unobtrusive “Updater Box” in the upper right corner. This box offers a direct link to the new updater script. But first update all required database tables. Then open the updater. Only opening the updater does not change anything in your installation, the script only reads data from the database and from the filesystem to check for setting that should be changed. The updater screen starts with a warning message that you should read at first: |img-10| The boxes below the warning message inform you about what checks have been done and what the results are. The following checks are executed: - Search for outdated static TS templates - Search for non existing HTML templates - Search "Startingpoint" ("pages") in FF (flexform settings) - Search "recursive" in FF - Search "no page Browser" in FF - Search "listLimit" in FF If you see only green checkmarks and “Nothing to do” messages you can stop here and quit the updater (this happens f.e. on a fresh install). In case the updater has found something that needs to be fixed you'll see yellow exclamation marks and “DO IT” buttons. Let's have a closer look on the “Search for outdated static TS templates” function. This function searches the database for template records (table: sys\_template) with outdated references to the static TS templates from tt\_news. The references to static extension templates in field “Include static (from extensions)” are stored with the path and since I moved the folder for the static templates to pi/static/ the old paths will not fit anymore. To fix those references you could edit all your TS templates, but since there could be quite a lot of these template records (depending on your sites configuration) I thought it'd be a good idea to let a script do this work. If you also think like this, click on the “DO IT” button. The next screen tells you what the updater did: |img-11| **Attention:** this information is only shown once. If you need it for later purpose copy it now. Clicking the “back” link will bring you back to the main screen of the updater which should now show a changed “Search for outdated static TS templates” box: |img-12| The next function (“Search for non existing HTML templates”) works a bit different from the others because it does not replace a value by a new value – it clears the references to HTML-templates which do not exist in the filesystem from Flexforms in tt\_news plugin elements (recommanded way is to set the html template in TS). The main reason for writing this function was to get rid of the old “tt\_news\_v2\_template.html” which was inserted as default in tt\_news 2.5.2. This template still existst in tt\_news but I moved it to the res/ folder. If the updater finds content-elements with configured HTML templates that actually exist in the filesystem it will not touch this records. If you click on “DO IT” you'll see which records the updater changed and which templates were missing. |img-13| Now go through the remaining updater functions until the main screen shows only green checkmarks. .. _Installation: Installation ^^^^^^^^^^^^ Install the extension with the extension manager. If you already use an older version of tt\_news that's installed in the “global” location (typo3/ext/), it's recommended to install the new extension in the “local” folder (typo3conf/ext/) without overwriting the old one. In case something fails you'll have thereby a possibility to re-establish the original installation state from where you started the update. For further information about upgrading an existing tt\_news installation to a newer one, see section “update howto”. After the extension manager created the new database tables and fields for tt\_news you should see a page with the main configuration options. Here you can configure some basic options (mostly BackEnd related). .. _Handling-of-Categories: Handling of Categories """""""""""""""""""""" **Use "General record storage page"** You can configure the handling of news-categories with a checkbox in the extension manager: |img-14| The default is, to display categories only from the “General record storage page”. For more Information about categories and the “General record storage page” have a look at the “FAQ” in section “Quickstart”. **Require categories** Check if categories are required for every news item. Note that you can require categories also through page TSConfig using "TCEFORM.tt\_news.category.config.minitems=1" .. _Caching: Caching """"""" **Internal caching** If enabled tt\_news caches some processing intensive information (archive period count, category count, categories) in an internal cache. **Caching Mode** Determines the cache entries lifetime and when the internal cache from tt\_news will be cleared. "normal": (default) the cache entries will get the same lifetime as normal pages. The tt\_news cache will be cleared when the "clear all caches" button is pressed. "lifetime": will set the livetime of cache entries to the given amount of seconds in field "cacheLifetime". The cache table is not cleared when "clear all caches" is clicked. "static": means: the lifetime of cache entries is set to zero (= unlimited). TYPO3 does not clear the tt\_news cache (useful if you clear the cache with an external script or for debugging). **Cache lifetime** Lifetime in seconds of the internal cache entries (if "cachingMode" is set to "lifetime"). example: 86400 (a day), 604800 (a week) **Caching engine** Where should the cache entries from tt\_news be stored. "internal": store cache records directly in the database using internal methods. "cachingFramework" Requires at least TYPO3 4.3: store cache records in the TYPO3 caching framework (in the default configuration tt\_news uses the DB backend of the caching framework). .. _Labels-in-List-Module: Labels in List Module """"""""""""""""""""" You can configure which field is taken as label in the web/list module. Default is to display the title as label but you can change it f.e. to the date field (datetime) if you want to see the datetime as title. The other options configure the alternative labels which will be shown if the title is empty. If the first alternative label is also empty, “Alternative label 2” will be displayed instead. If “Force alternative label” is activated the alternative labels will be shown always, even if the label field is not empty. |img-15| **Example:** The author field is configured as “News label”, the title field is the “Alternative Label” and the datetime field is “Alternative Label 2”. Now the titles in lists will look like this: |img-16| .. _Localization-settings: Localization settings """"""""""""""""""""" **Localization mode for text fields** By default, all text fields (text, subheader, imagecaption ...) from a new localized news article will be prepended with "[translate to ...]". If this is not wanted you can disable it here. **Localization mode for images** The image field of a localized news article is excluded by default (images are alwas taken from the record in the default language). If you need localized images (f.e. if the images show texts) you can enable the "image" field in translated news by setting "l10n\_mode\_imageExclude" to 0. **Hide new localizations** By default, all text fields (text, subheader, imagecaption ...) from a new localized news article will be prepended with "[translate to ...]". If this is not wanted you can disable it here. If "l10n\_mode\_prefixLangTitle" is disabled the text "(copy [#])" will be added to the titles of this records unless "prependAtCopy" is disabled (see "prependAtCopy"). .. _Prepend-at-copy: **Prepend at copy** """"""""""""""""""" Here you can disable adding of the text "(copy [#])" to titles of copied records. .. _Category-form-fields: Category form fields """""""""""""""""""" **Category ordering in BackEnd trees** Here you can configure the the ordering of categories in the category tree in BackEnd forms. **Width of the left category field** This field shows the selected categories in the tt\_news db-record (or parent categories in the category db-record). If "categorySelectedWidth" is set to 0 (zero) the default width (=180px) will be taken. **Width of the right category field** This field shows the category tree in the tt\_news db-record (or in the category db-record). If "categoryTreeWidth" is set to 0 (zero) the default width will depend on the browser which displays the TYPO3 BackEnd. The default width for all browsers except IE is 280px, for IE the default width is 320px to suppress the unneeded horizontal scrollbar below the category tree. .. _Debugging: Debugging """"""""" **Debug caching info** Which information about internal caching should be written to devlog (extension "devlog" required)."disabled": don't write any information about caching to devlog. "cache misses": log only cache misses. "all": log cache misses and cache hits to devlog. **Debug parsetimes** Write parsetimes to devlog (extension "devlog" required). **Parsetime threshold** Execution time in seconds after which a function is logged to devlog. Default is 0.1 sec = 100ms. Means any function in tt\_news which needs more time to be executed will be logged. The execution time indicates the severity of the log entry: 0-0.2 sec = 0 (info), 0.2-0.5 sec = 1 (notice), 0.5-1 sec = 2 (warning) and everything above 1 second get severerity 3 = error. .. _Quick-start: Quick start: ^^^^^^^^^^^^ This section will give you a short overview about the basic setup requirements for tt\_news to work. For more detailed informations you can have a look in the sections “Configuration” and “Administration” in this manual. .. _Include-static-extension-templates: Include static extension templates """""""""""""""""""""""""""""""""" The TS-settings are splitted in 3 different parts which should be included with the “Include static (from extensions)” feature. For the first test, open your main TS-template (in list view), scroll down to the “Include static (from extensions)”-sectionand include one of the “base” templates from tt\_news, f.e. the “table-based tmpl”. If you dont't know how to do this -> see section “Templates” in the “Getting Started” document: `http://typo3.org/documentation/document- library/tutorials/doc\_tut\_quickstart/0.1.0/view/1/9/ `_ |img-17| If you want to use the CSS-based HTML-template you you should include the “default CSS-styles” template too, because it contains all the formating information. |img-18| The 4 static ext-templates offer you the following settings: CSS-based tmpl: includes all tt\_news TS settings for the new css- based template (but no ccs default styles) default CSS-styles: This are the CSS-style definitions for the CSS- based template. News-feed (RSS 0.91, RSS 2 , RDF, Atom 0.3, Atom 1.0): Include these settings if you want to enable XML feeds from your page. Save your TS-template and open or create a page, where you want the news to appear. .. _Creating-a-news-content-element: Creating a “news” content-element: """""""""""""""""""""""""""""""""" Click on the "create new record" link, to add a new content-element. In the next screen click on the wizard link under “Pagecontent”. |img-19| The page that now openingis called the “new Content Element Wizard”. At the bottom of this page you'll find an icon called “News”': |img-20| Select it and choose the position (column): eg NORMAL: |img-21| A form will show up looking almost like this: |img-22| It is required, to select at least one item from the "What to display" field. If you don't do this, an error message will appear instead of the news content-element. To select an item, click on its name in the right list. (For the first test choose “LIST” or “LATEST” and leave the other settings at their defaults) The “Startingpoint” is the page/sysfolder, where the extension looks for news-records. It is not required to set this value in this field, you can also define it with TypoScript for the whole page.See: section “Configuration/Reference” in this manual (-> pid\_list) If you don't insert a page as “Startingpoint” and no value for “pid\_list” is defined by TS, the current page is used. That means the news-extension looks for news-records in the same page where the content-element is. .. _Creating-a-news-database-record: Creating a news database record: """""""""""""""""""""""""""""""" To test the functionality of the extension you'll also need at least one news-record. Save & Close the form for the News content-element and click again on the "create new record" link.Choose the "News" item from the list. |img-23| A form opens, showing a news database record: |img-24| Fill in some dummy information, uncheck the "Hide" checkbox and save & close the form. Assuming that you did not set a "Startingpoint" in the news content- element, and that the newly created news-record is located in the same page as the news content-element - click on the preview icon and you should see your news article in your browser. If this is not the case, repeat the steps above. If still no news appear on your website, have a look in the section "Troubleshooting" of this document. .. _The-tt-news-content-element: The tt\_news content element ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There are many ways to configure this extension. This will just get you started. For detailed configuration options take a look at the parts “ `Administration `_ ” and “ `Configuration `_ ” in this manual. There are currently 4 option-sheets in the tt\_news content element ("General Settings", "Template", "Category Settings" and "other settings"). First we will concentrate on General Settings because all of the required options are located in this sheet. **Notice:** Most of these options can also be controlled by TS, but the settings made directly in the content element will override TS settings. .. _Sheet-General-Settings: Sheet: General Settings """"""""""""""""""""""" **What to display:** Currently there are 7 different options in the “What to display”field (this list can be extended by other extensions). These are the function of this options: .. ### BEGIN~OF~TABLE ### .. _LIST: LIST ~~~~ .. container:: table-row FIELD What to display LIST Description Displays a list of news. .. _LIST2: LIST2 ~~~~~ .. container:: table-row FIELD What to display LIST2 Description Advanced list view with 6 alternating template parts. .. _LIST3: LIST3 ~~~~~ .. container:: table-row FIELD What to display LIST3 Description Standard list view with 3 alternating template parts .. _HEADER-LIST: HEADER\_LIST ~~~~~~~~~~~~ .. container:: table-row FIELD What to display HEADER\_LIST Description A minimalistic list view showing only the header and the date of news records .. _CAT-RELATED: **CAT\_RELATED** ~~~~~~~~~~~~~~~~ .. container:: table-row FIELD What to display **CAT\_RELATED** Description Template which is used to display “related news by category” in singleview. This template shows only titles and dates of news records and looks very similar to the output of related news. ###TEMPLATE\_SINGLE2### Advanced detail view with 3 image markers. ###TEMPLATE\_LIST2### Advanced list view with 6 alternating template parts. ###TEMPLATE\_LIST3### Standard list view with 3 alternating template parts .. _Unknown-Property: ((Unknown Property)) ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD What to display Description .. _LATEST: LATEST ~~~~~~ .. container:: table-row FIELD What to display LATEST Description List the latest news. By default this is not just another “LIST” template. It lists only non-archived new-records, and it is not influenced by the archive menu selection. (This behaviour can be changed by setting “displayArchivedInLatest” to 1 -> then LATEST will act like a normal LIST) .. _AMENU: AMENU ~~~~~ .. container:: table-row FIELD What to display AMENU Description Displays a menu of the archive divided into time periods. See section “The Archive”. .. _SINGLE: SINGLE ~~~~~~ .. container:: table-row FIELD What to display SINGLE Description Displays a single news item. See section “The SINGLE view”. .. _SINGLE2: SINGLE2 ~~~~~~~ .. container:: table-row FIELD What to display SINGLE2 Description Advanced detail view with 3 image markers. .. _SEARCH: SEARCH ~~~~~~ .. container:: table-row FIELD What to display SEARCH Description Displays a search box and result listing for searching news. See section “The Search”. .. _CATMENU: **CATMENU** ~~~~~~~~~~~ .. container:: table-row FIELD What to display **CATMENU** Description Displays a category selector which shows nested categories in a hierarchical menu. See section “The category selector”. .. _VERSION-PREVIEW: **VERSION\_PREVIEW** ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD What to display **VERSION\_PREVIEW** Description Displays the version preview for news articles. Basically it does the same as the SINGLE view but it displays only something when a version preview was requested.This option appears only when the extension “version” is installed. see section “version preview” for mor information. .. ###### END~OF~TABLE ###### **"Order by" this field (LIST & LATEST):** In this selectbox you can choose the field by which the listed news- records should be ordered. Possible options are: datetime, archivedate, author, title, type and “randomise order”. default (= nothing selected) is to order lists by the “datetime” field and display newest items first. With the selectbox **“Ascending or Descending”** you can choose the sorting order. If you want to order or group your news by fields, not listed here, you can do this by setting those fields by TypoScript. See section “Reference“ -> “listOrderBy” and “listGroupBy” The special case “randomise order” orders the news by random. **Hint:** If you use randomly ordered news, it is required that tt\_news works as USER\_INT object or caching disabled. Add this to the TS setup of the page where you want to display rendom news: :: plugin.tt_news = USER_INT f this page is on the first level of the pagetree all pages below this page will also display tt\_news as USER\_INT object which consumes much more processing power than a USER object which can be cached. This can be prevented by using the 'template on next level' feature to set tt\_news again to USER. :: plugin.tt_news = USER **Category selection:** The display of categories in the right field of the part “Category Selection” depends on two settings:If you didn't change the default value of the “use StoragePid” switch in the plugin-configuration in the extension manager, it is **required** to define a "General Record Storage page" in the page-properties of the rootpage (the page with the “is root of the website” flag). |img-25| The "General Record Storage page"points to the folder where the tt\_news categories are stored. See “FAQ” for more information. If you set the “use StoragePid” value to “0” in the extension manager, you should see all categories from the whole pagetree in the select box. It's possible to select newsitems for display by their assigned categories or subcategories. A newsitem can be member of multiple categories. It's also possible to de-select news by their assigned categories of to display only non-categorized items. The “Category mode” selector offers the following options: .. ### BEGIN~OF~TABLE ### .. _Show-all-don-t-care-about-selection-below: Show all (don't care about selection below) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category mode Show all (don't care about selection below) Description Displays all news no matter which categories are assigned. (Don't care about the field: Category selection) .. _Show-items-with-selected-categories-OR: Show items with selected categories (OR) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category mode Show items with selected categories (OR) Description Only news are displayed, which have at least one of the selected categories or subcategories assigned (FIELD: Category selection). If there are more than the selected categories assigned to the news record it will be shown also. .. _Show-items-with-selected-categories-AND: Show items with selected categories (AND) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category mode Show items with selected categories (AND) Description Only news are displayed, which have **all** of the selected categories or subcategories assigned (FIELD: Category selection) .. _Do-NOT-show-items-with-selected-categories-AND: **Do NOT show items with selected categories (AND)** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category mode **Do NOT show items with selected categories (AND)** Description News which are members of **all** of the selected categories or subcategories (FIELD: Category selection) will **not** be displayed. .. _Do-NOT-show-items-with-selected-categories-OR: **Do NOT show items with selected categories (OR)** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category mode **Do NOT show items with selected categories (OR)** Description News which are members of at least one of the selected categories or subcategories (FIELD: Category selection) will **not** be displayed. .. ###### END~OF~TABLE ###### **Use subcategories** With this switch you can configure if news items are also selected by their subcategories. **Archive setting (for LIST):** It is possible to give each news record an “archive date”. It is also possible to handle news-items automatically as archived, if they are older than a certain number of days. -> see: Section "The Archive” and the part “Archive Settings” in section “Reference”.(“for LIST” means, that the archive mode is only selectable for the “LIST” view. “LATEST” is by default never showing archived items -> can be changed with “displayArchivedInLatest”) “Archive setting” gives you these options: .. ### BEGIN~OF~TABLE ### .. _Don-t-Care: Don't Care ~~~~~~~~~~ .. container:: table-row FIELD Archive setting Don't Care Description Show all newsi no matter if they are archived or not. .. _SHOW-ARCHIVED: SHOW ARCHIVED ~~~~~~~~~~~~~ .. container:: table-row FIELD Archive setting SHOW ARCHIVED Description Show only news which have reached their archive date .. _SHOW-NONARCHIVED: SHOW NONARCHIVED ~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Archive setting SHOW NONARCHIVED Description Show only news which have **not** reached their archive date. .. ###### END~OF~TABLE ###### .. _Sheet-Template: Sheet: Template """"""""""""""" In the sheet Template, you can overwrite the html-template defined globally by TypoScript with another one. It is not required to define a template in this place, because in most cases several news content-elements under one pagetree use the same html-template. This can be defined directly in the TS-setup or in the Constant-Editor of your main-(TS)template. **Hint** The best way to include your own html-template is to link it directly in TS. Add the following line by hand to your TypoScript setup or edit the default value in the `“TypoScript Object Browser” `_ : :: plugin.tt_news.templateFile = fileadmin/templates/tt_news_template.html **Do not edit and save the html-template in the extension directory -> it will be overwritten if you update tt\_news.** You can change the news display, by simply creating a new template- file for the display of news. There are 2 default template-files included in tt\_news (in the folder EXT:tt\_news/pi/): - tt\_news\_v3\_template.html: the new css-based html-template. - news\_template.tmpl: the table-based template. The main differences between the new css based template and the “traditional” template are: - In the new template, the visual formating is moved from TypoScript to css-styles. GlobalWraps, GlobalColors and many of the Wraps (like “title\_stdWrap”) are not used anymore. - TypoScript still plays a big role in configuration for processing parts of the output (f.e.:”age\_stdWrap”) or for inserting all kinds of conditional wraps (see: “getRelatedCobj” for an example) if you want to change the template, take a look at that file, make a copy of it and modify it to your own design. Observe the comments in the file - they are markers that define where content is inserted and which parts are used for this and that. Self explanatory to a certain degree... **Max Width/Height for images** These 2 fields offer you the possibility to set the image sizes for a certain content element different from the image sizes defined globally by TypoScript. The setting here will be applied to all images, displayed by this content element (works with: LIST, LATEST, SINGLE and SEARCH) .. _Sheet-Category-settings: Sheet: Category settings """""""""""""""""""""""" The sheet “Category settings” offers a range of options regarding how to display category-texts (titles) and category-images. The default setting is “Use the settings from TS” which is “Display but no link” for images and texts. .. ### BEGIN~OF~TABLE ### .. _FIELD-Category-Image-Link-Mode: FIELD: Category Image Link Mode, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category Image Link Mode,Category Text Link Mode FIELD: Category Image Link Mode, Category Text Link Mode Description Description: .. _Use-the-settings-from-TypoScript: Use the settings from TypoScript ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category Image Link Mode,Category Text Link Mode Use the settings from TypoScript Description You can set the options for displaying category images and texts also by TS but this values are only recognized if this option is selected. See “catImageMode” and “catTextMode” in the Constant editor. .. _Don-t-display-at-all: Don't display at all ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category Image Link Mode,Category Text Link Mode Don't display at all Description No category images/texts will be displayed .. _Display-but-no-link: Display but no link ~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category Image Link Mode,Category Text Link Mode Display but no link Description Category images/texts will be displayed but not linked .. _Act-as-link-to-category-shortcut: **Act as link to category shortcut** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category Image Link Mode,Category Text Link Mode **Act as link to category shortcut** Description Category images/texts will be displayed and function as a link to the page given as category shortcut. .. _Act-as-category-selector: **Act as category selector** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Category Image Link Mode,Category Text Link Mode **Act as category selector** Description Category images/texts will be displayed and functionas category selector. -> useful for filtering search results .. ###### END~OF~TABLE ###### Other Category settings: .. ### BEGIN~OF~TABLE ### .. _Max-width-of-category-image: Max width of category image ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Max width of category image Description Maximum width of category images. If one dimension of the image is larger than the given width or height, the image is downscaled. .. _Max-height-of-category-image: Max height of category image ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Max height of category image Description See above .. _Max-number-of-category-images: Max number of category images ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD Max number of category images Description here you can limit the number of displayed category images .. _Max-number-of-categorys-texts: **Max number of categorys texts** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row FIELD **Max number of categorys texts** Description Same for category texts .. ###### END~OF~TABLE ###### .. _Sheet-Other-settings: Sheet: Other settings """"""""""""""""""""" **PageId for single news display:** This tells the extension on which page the single view is located. It's not required to set a value here, cause it's more efficient to set a global value for the single view (singlePid) in the constant- Editor of your root template. See: “ `Configuration `_ ” **PageId to Return to:** Here you can set an alternative page for the "back to list" link in the single view. Works of course only if the current content element is SINGLE. By default the “back to List” Link in the SINGLE view points to the page where you came from. The setting here will override a globally given “backPid”. **Don't display first image in single view** (firstImageIsPreview): If you set this checkbox, the SINGLE view will not display the first image atached to the news article. The first image will only appear in LIST and LATEST view and is handled as "preview image" of the news item.(works only if more than one image is atached to the news article). You can force this behavior even when only one image is assigned to the news record by checking the next checkbox (forceFirstImageIsPreview) **Limit: max items in LIST and LATEST** here you can set a limit only for this content-element. A value from this field will override the limits configured by TypoScript. **Don't display Pagebrowser** as the name says. **Insert pagebreak in SINGLE after this number of words** If you want to override the globally configured value for “maxWordsInSingleVIew” in the current content-element, you can insert the new value here. For more information see section “Pagebreaks” in this manual. **Starting point and Recursive level selection:** "Starting point" is used to tell the extension where the news records are stored. It is possible to select multiple ”Starting points”. This way, you are able to collect news from several folders to display them in one content-element. If you don't insert a page as "Starting point", tt\_news will look for a value for “pid\_list” from TypoScript. This is the recommended way to configure many news content-elements from one central point, e.g. from the constants field in your main TS-template. -> see files EXT:tt\_news/static/ts\_new/constants.txt & EXT:tt\_news/static/ts\_new/setup.txt for examples. The “Starting Point” can also be set in the Constant editor. If no value for “Starting Point” is present at all, the current page is used. (the page where you inserted the tt\_news content-element). **Recursive level selection:** This tells the extension how many levels of subpages to include below the page(s) given in the "Starting point" field. **Hint** If you have your news not stored in a few dedicated sysfolders but scattered around in a huge pagetree it might be helpful to disable the pid\_list/recursive functionality completely (see: “dontUsePidList”). Reason: TYPO3 checks each page in the pid\_list for visibility and if the current FE user is allowed to see this page. When you have a very long pid\_list which is generated from a whole pagetree this will take quite a lot processing power. **Typoscript for this content element** The tab “Other Settings” offers a new field “Typoscript for this content element (plugin.tt\_news.[your TS])”. Since access to TypoScript for non-admin users is a security risk, this field is only visible for admin users. The Typoscript in this field is merged with the existing TypoScript setup for “plugin.tt\_news”. If you f.i. want to add a wrap to the output of a single plugin simply write this to the TypoScript field: :: stdWrap.wrap =
|
.. _The-tt-news-database-record: The tt\_news database-record ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **Field descriptions:** .. _Title: Title """"" The value inserted here will subsitute the marker ###NEWS\_TITLE### in the html template. .. _Type: Type """" Here you can define the type of the newsitem. The different types are shown with different icons in the BackEnd. Possible types are: .. ### BEGIN~OF~TABLE ### .. _img-26: |img-26| ~~~~~~~~ .. container:: table-row a |img-26| b **News** c This type is used for normal news articles. Only these news will have a link to a single view. .. _img-27: |img-27| ~~~~~~~~ .. container:: table-row a |img-27| b **Link External page** c These news records are only showing in list views (= LIST and LATEST). The links from these news records will point directly to the URL which is configured in the field “External URL”. .. _img-28: |img-28| ~~~~~~~~ .. container:: table-row a |img-28| b L **ink internal page** c These news records are also showing only in list views. The target for these links is configured globally in the Constant editor (advanced->target for internal links) .. ###### END~OF~TABLE ###### .. _Restrict-editing-by-non-Admins: Restrict editing by non-Admins """""""""""""""""""""""""""""" If this “editlock” is enabled non-admin users can't open this record. All other actions (hide,copy,delete,....) are also disabled. .. _Hide-Start-Stop-and-Access: Hide, Start, Stop and Access """""""""""""""""""""""""""" With the fields “Hide”, “Start”, “Stop” and “Access” you can configure the visibility of the current newsitem. The settings made here will override visibility settings from categories that are assigned to this news record. .. _Date-Time: Date/Time """"""""" The value of this field affects several things: - The news in lists andin the archivemenu (amenu) are ordered by this field if no other filed is selected (-> see "Order by" this field in section “The tt\_news content element”) - If a value for “datetimeDaysToArchive”, “datetimeHoursToArchive” or “datetimeMinutesToArchive” is set, these value is added to the value of the datetime field and handled as archivedate. (see section “The archive” in this manual) - The value of these field is taken for the html-template markers ###NEWS\_DATE###, ###NEWS\_TIME### and ###NEWS\_AGE###. (all parsed through the stdWrap functions “strftime” or “age”) For new created records the current time is inserted atomatically. .. _Archivedate: Archivedate """"""""""" If archivedate shows a value in the past, the news record will be shown in lists showing only archived news. Of course it will disappear from lists showing only non-archived news. .. _Transl-Orig: Transl.Orig """"""""""" This field appears only in translated news records and points to the translation Original. (The translation original has to be in the default language) .. _Language: Language """""""" This field shows the language of the newsitem. This field should be not edited by hand because its value is handled by the translation system of TYPO3. .. _Author-and-Email: Author and Email """""""""""""""" The values of this fields will substitute the html-template markers ###NEWS\_AUTHOR### and ###NEWS\_EMAIL###. By default only the author will be displayed and linked to the author's email address. **Hint:** If you need an author field which is a relation to another table where the authors are stored (f.e. fe\_users), install the extension “News author relations” (extkey: news\_author\_rel) `http://typo3.org/extensions/repository//news\_author\_rel/ `_ which extends tt\_news by this feature. .. _Versioning-Label: Versioning Label: """"""""""""""""" The versioning label of this record. This field is only visible when the extension "versioning" (extkey version) is installed. .. _Subheader: Subheader """"""""" The value of this field will substitute the html-template marker ###NEWS\_SUBHEADER###. If this field is empty the value of the field “Text” is taken instead. .. _Text: Text """" This is the main text of the news article and will substite the html- template marker ###NEWS\_CONTENT###. .. _No-automatic-pagebreaks-for-this-record: No automatic pagebreaks for this record """"""""""""""""""""""""""""""""""""""" this will disable automatic pagebreaks after a certain amount of words for this record. .. _Keywords: Keywords """""""" The content of this field is written to a TypoScript register ("newsKeywords") which can be used to insert the keywords as " keywords" to the page header (plugin "metatags" required). If you don't need this field for " keywords" you can use it as a second "subheader" field (it will substitute the template marker ###NEWS\_KEYWORDS###). .. _Category: Category """""""" Here you can assign categories to the current news record (if this record is no translation of another record).The available categories will be displayed in a tree. The titles of the assigned categories will substite the html-template marker ###NEWS\_CATEGORY###, the category images will be written to the marker ###NEWS\_CATEGORY\_IMAGE###. Tt's possible to control editing permissons of news articles with the assigned categories. See section “Categories” for more information. .. _Images: Images """""" Here you can define images that will be shown in the news item. All images will be rendered to the marker ###NEWS\_IMAGE###. .. _Caption: Caption """"""" Field for the imagecaption which will be displayed under the image. If more than one image is assigned the value of this field can be splitted by linebreaks. .. _Image-altText-and-Image-titleText: Image altText and Image titleText """"""""""""""""""""""""""""""""" In these fields you can define two texts that will be inserted as alt and title texts in the image html tag. If more than one image is assigned the values of these fields can be splitted by linebreaks. .. _Links: Links """"" The links that are inserted here will be displayed under the "bodytext" in the news single view. They will substite the marker ###NEWS\_LINKS###. This field is parsed through the stdWrap function "parseFunc" so it will be possible to enter links as typolink. F.e.: open typo3.org .. _Related-News: Related News """""""""""" In this field you can select news records or pages that will be displayed as related news. Related news with type “news” will point to the single view of the related news record. Related news with type “External URL” or “internal Link” will point to the url or page id that is inserted in the news record. Related pages will be handled as news with type “internal link”. Related news will substite the marker ###NEWS\_RELATED###. .. _Files: Files """"" Here you can attach files to a newsitem. Files will substite the marker ###FILE\_LINK###. .. _Categories: Categories ^^^^^^^^^^ You can assign categories to news. That allows you to display f.e. only news with a certain category in a “LIST” content-element. Categories can have parent categories. The category “FrontEnd plugins” in the screenshot below does have category “Extensions” selected as “parent category”, so “FrontEnd plugins” is a subcategory of “Extensions”. If the use of subcategories for the FrontEnd is enabled the result is, that the news record with category “FrontEnd plugins” from the screenshot will also appear in a LIST that shows only the category “Extensions”. The use of subcategories in the FrontEnd of the website has to be enabled by setting “useSubCategories=1” in the constant editor or directly in TS setup. The display of subcategories can be configured seperatly with the TS var “displaySubCategories”. Subcategories can be wrapped with another wrap than normal categories. **Example:** This configures tt\_news to use and display subcategories. Only news with the selected categories (23,34) will be displayed. Subcategories will be wrapped with a red border. :: plugin.tt_news { useSubCategories = 1 displaySubCategories = 1 categoryMode = 1 categorySelection = 23,34 displayList { subCategoryImgItem_stdWrap.wrap = | subCategoryTitleItem_stdWrap.wrap = | } } In the BackEnd the categories are shown in a tree view. Since tt\_news 2.5.0 the category tree is expandable and collapsible. Categories can be created with the “create new record” link like shown in the section “Quickstart”, or with the “+”(add) icon directly from the news db record. **Hint:** Editing of categories directly from a news record works only for categories which are assigned to this record record. To edit a category select it in the left category field and click on the edit button (the pencil). |img-29| The page where new categories from the “add” wizard will be created depends on the setting of “use General Record storage page” in the extension setup. If you use the “General Record storage page” for categories, all categories will be created in this page. If you disabled “use General Record storage page” all categories from wizards will be created in the current page. .. _Controlling-editing-permissions-with-assigned-categories: Controlling editing permissions with assigned categories: """"""""""""""""""""""""""""""""""""""""""""""""""""""""" It's possible to control the editing permissions for news records with the assigned categories. This is either possible by editing the Tsconfig field of the be\_user/group or – since tt\_news 2.5.0 – by selecting the allowed/visible categories from a category tree in the be\_user/group record. The category tree in be\_user records appears only if the user is not admin. In the sreenshot below you see a be\_user record where the user is only allowed to edit or assign the category “Commitees” and its subcategories. |img-30| If thís user opens a news record he will only see the category “Commitees” and its subcategories. |img-31| If a BE-user is restricted to certain categories he can only change news records that have these categories assigned. If he performs any action (move, delete, hide, localize, copy, version, modify) with a record that has non-allowed categories assigned an error message will be displayed and the action will be ignored. |img-32| Another message will be displayed in the news record above the fields "Type" and "Category". Non-selectable categories will be displayed in grey text and not linked. See screenshot below. Defining allowed categories is also possible by inserting their uids in the Tsconfig field of a be\_user or be\_group record. **Example:** (user/group TSconfig) :: # this enables the use of the list below options.useListOfAllowedItems = 1 # users of this group are only allowed to save news records with the following categories: tt_newsPerms.tt_news_cat.allowedItems = 35,36,37 If the BE-user with this configuration opens a record that has at least one category assigned that is not in the list of allowed items he will see the error message below. |img-33| .. _The-category-rootline: The category rootline """"""""""""""""""""" The tt\_news html template contains a marker ###NEWS\_CATEGORY\_ROOTLINE###. This marker will be filled with the titles of the parent categories of the first assigned category in SINGLE view or with the parents of the selected category in LIST view. It doesn't work in LIST view if more than one category is selected. The category titles can be linked to the category shortcut page which is configured in the category db-record. :: plugin.tt_news { # settings for the category rootline catRootline { showCatRootline = 1 catRootline_stdWrap.wrap =
|
# if titles are linked the link points to the page which is configured as category shortcut linkTitles = 1 title_stdWrap.wrap = divider =  >  } } .. _The-tt-news-cat-database-record: **The tt\_news\_cat database-record** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The category db-record looks like this: |img-34| **Field descriptions:** .. _Title-and-Title-language-overlays: Title and Title language overlays """"""""""""""""""""""""""""""""" In the field “title language overlays” you can define titles for other languages. If you have more than one additional language, you can split the titles with the “\|” symbol. **Example:** if you have a website with 3 languages (en,de,fr) you write the category title for the default language in the field “Title”. The titles for german an french are stored in the field “title language overlays” like this: |img-35| the order of the overlay titles has to be the same as the order of your system languages.In this example: en=0, german=1, french=2 .. _Parent-category: Parent category """"""""""""""" In the Field “Parent category” you can define the current category as a subcategory of the category which is selected in this field. That will include the current category and the newsitems which have this category assigned when the parent category is selected. This works recursive. .. _Hide-Start-Stop-and-Access: Hide, Start, Stop and Access """""""""""""""""""""""""""" With the fields “Hide”, “Start”, “Stop” and “Access” you can f.e make this category and the newsitems that have this category assigned only visible for a certain usergroup. Works recursive for subcategories. .. _Category-Image: Category Image """""""""""""" You can upload or assign an image for each news category which is shown in the CATMENU element (“catmenuIconMode = -1”) and as category images (f.e. instead of the category title). The behavour of the category titles/images can be configured in the sheet “Category settings” in the news content element. The category titles/images can act as shortcut to a page or as “category selector” which means: the contents of a news-list ist filtered by category. Filtering by category works recursive for subcategories. .. _Category-shortcut: Category shortcut """"""""""""""""" Category titles or images can also act as shortcut to an internal page. If this is enabled and a visible page is defined as shortcut, the link from the category title or image points to this page. .. _Target-for-news-category-shortcut: Target for news category shortcut """"""""""""""""""""""""""""""""" With the field “Target ...” you can configure a target for the category shortcut (this setting will have priority over a global setting for link targets in your website) .. _Single-view-page-for-news-from-this-category: Single-view page for news from this category """""""""""""""""""""""""""""""""""""""""""" The field "Single-view page for news from this category" gives you the possibility to define a single-view page for each category. If you want to use this feature it is **required** to add "useSPidFromCategory = 1" to the TypoScript setup. If a news-record has 2 or more categories assigned the SinglePid will be taken from the first category which is assigned to the news record. .. _Description: Description """"""""""" Here you can enter a description for the current category which will be shown as tooltip in the category tree in BE and in the CATMENU content element in FE. If you have long description texts (>70 chars) Firefox and Mozilla will not display the tooltips correctly. Solution: There are some Firefox extensions which correct this problem. I tried "Popup Alt Attribute" which works flawless for me (see screenshot). **Example:C** ategory description as tooltip in the category select field: |img-36| .. _The-category-menu-CATMENU: The category menu **(CATMENU)** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ By choosing the code CATMENU in the tt\_news content element or by TS a category selector will be displayed which shows nested categories in a hierarchical menu. The catmenu can work in 2 different modes: - **tree (default):** The category menu will be rendered like the categories in BE fields. The shown “tree” is build by images and can show userdefinded icons. - **nestedWraps:** This mode will render a category menu where each level has its onwn wrap. in both modes the content of the field “description” will be filled to the “alt” and “title” attributes of the catselector link so it appears as tooltip when the mouse pointer is over it. If this is not wanted it can be disabled by setting “displayCatMenu.insertDescrAsTitle” to 1. The wraps for the complete catmenu, for the menu states (NO and ACT) and for the header of the catmenu are also used in both modes. The CSS styles for all category menus are included in the static TS template “default CSS styles (tt\_news)”. If you're using the “table based” template for tt\_news you'll have to include the CSS styles manually. .. _mode-tree: mode “tree” """"""""""" The tree mode has some special options for configuring the icons. The option “catmenuIconMode” configures the behaviour of the icons showing left to the category titles. “catmenuIconMode” offers the following options: - -1 = display no icons at all - 0 = display the default icon (tt\_news\_cat.gif) - 1 = display image from category record as icon - 2 = display the icon which is configured as “catmenuIconFile” (default: EXT:tt\_news/res/arrow.gif) The icon for the “root” item of the tree (the catmenu header) can be configured separately (“catmenuRootIconFile”) or completely disabled by seetting “catmenuNoRootIcon” to 1. The sizes for the normal icons in catmenuIconMode “1” and “2” and for the root icon can be configured separately. .. _Example: Example: ~~~~~~~~ TypoScript setup for a “catmenu” content element that looks like this: |img-37| :: plugin.tt_news { displayCatMenu { # select root icon file catmenuRootIconFile = EXT:tt_news/res/tt_news_cat.gif # enable root icon catmenuNoRootIcon = 0 # disable other icons catmenuIconMode = -1 } } All other settings are included in the default TS templates (see Section “Reference” for details) .. _mode-nestedWraps: mode “ **nestedWraps** ” """""""""""""""""""""""" In this mode each level of the "catmenu" has its own wrap. 1 is the first level. .. _Example: Example: ~~~~~~~~ TypoScript setup for a “catmenu” in mode “nestedWraps”: :: plugin.tt_news { displayCatMenu { mode = nestedWraps # wrap for the complete "catmenu" catmenu_stdWrap.wrap =
|
# wraps for active or inactive category links in the tree catmenuItem_ACT_stdWrap.wrap = | catmenuItem_NO_stdWrap.wrap = | # wrap for level "n" catmenuLevel1_stdWrap.wrap =
|
catmenuLevel2_stdWrap.wrap =
|
catmenuLevel3_stdWrap.wrap =
|
catmenuLevel4_stdWrap.wrap =
|
} } After adding the CSS styles below to your website the catmenu could look like this: |img-38| **CSS Styles:** :: .news-catmenu { padding:5px 0px 0px 5px; margin:10px; border:1px solid #666; background-color:#F9FFE5; } .news-catmenu DIV IMG { margin:0px; padding: 0px 3px 3px 0px; vertical-align: middle; } **Hint:** With a function hook in the tt\_news class (“userDisplayCatmenuHook”) It's possible to add a userdefined script that renders the “catmenu”. .. _The-SINGLE-view: The SINGLE view ^^^^^^^^^^^^^^^ The complete view of a news article (single view) has some special features that are not available in LIST or LATEST. .. _Pagebreaks: Pagebreaks """""""""" When you have long articles in SINGLE view, you might want to split them into multiple pages and have a page navigation inserted to navigate between these split pages. This can be done automatically by specifying the amount of words after that a pagebreak is inserted. When the amount of words is reached, the extension looks for the next dot (.) and inserts a pagebreak after it (default). Alternatively you can configure tt\_news to insert pagebreaks only after paragraphs (an empty line in the bodytext field) by setting “useParagraphAsPagebreak=1”.You can disable this feature for each news record (“No automatic pagebreaks for this record”). You can also add a manual pagebreak at a specific position in the text. At the desired position, enter the text:“<---newpage--->” (default) or the string that you configured as “pagebreakToken”. This will trigger a pagebreak at this position. On the new page, the wordcounter starts again for automatic pagebreaking. However, manual pagebreaks work even when the automatic pagebreak feature is disabled. The subheader is by default only displayed on the first page of a single view with multiple pages. If this is not wanted the subheader can be configured to appear on all those pages by setting “subheaderOnAllSViewPages=1”. One thing to note is the way images are handled on multiple pages. The images for the additional pages in single view are asssigned by their position in the Image-list of the news record. Example: If you have 6 images assigned and “imageCount” for the single view set to “2”, then the first 2 images will appear on the first page, the second two images at the second page and so on. There is a seperate marker for the pagebrowser in single view: ###NEWS\_SINGLE\_PAGEBROWSER### Alternatively it is possible to simply append the pagebrowser to the bodytext without a special marker by setting “appendSViewPBtoContent=1” (this is the default). **Example:** :: # TS setup plugin.tt_news { useMultiPageSingleView = 1 pageBreakToken = maxWordsInSingleView = 300 useParagraphAsPagebreak = 1 subheaderOnAllSViewPages = 0 appendSViewPBtoContent = 0 } This will enable the pagebrowser for the Single view. The string “” will trigger a manually pagebreak. If the text is longer than 300 words, a pagebreak will be inserted automatically after the next paragraph (an empty line in the field bodytext). The subheader will be displayed only on the first page and the pagebrowser will be rendered to its own marker (###NEWS\_SINGLE\_PAGEBROWSER###). For a detailed description of the TypoScript options that are mentioned here, take a look at the section “Reference”. .. _Related-news-or-related-pages: Related news or related pages """"""""""""""""""""""""""""" The news records that are inserted in the field “Related news” in the tt\_news db-record are shown in the single view. If those records are “normal news”, their links point to the single view of the related news article. Related news with type “link external URL” or “link internal page” will link directly to the url or page id that is configured in the news record. Additionally to news records, relations can also point directly to internal pages. Related pages will be handled as news that link to internal pages. tt\_news can be configured to insert the link that points back from the related record to the current one automatically. This feature can be enabled by setting “useBidirectionalRelations” to 1. The display of related news and pages is configured by TypoScript. For more information search for “getRelatedCObject” in the section reference of this manual. The details of the link configuration can be found in the section “Link Configuration”. .. _Related-news-by-category: Related news by category """""""""""""""""""""""" The single view can also be configured to show a list of news articles with the same category as the current article. The feature is disabled by default and can be enabled by setting “showRelatedNewsByCategory=1”. If news with the same category are found, they will be rendered as news LIST to the marker “###NEWS\_RELATEDBYCATEGORY###”. The header will be rendered to the marker “###TEXT\_RELATEDBYCATEGORY###”. |img-39| By default the code LIST causes tt\_news to render the content to the template ###TEMPLATE\_LIST### This can be changed with “altMainMarkers” to take an userdefined template instead which f.e contains only the news titles. The template for “related news by category” is included in the file tt\_news\_v2\_template.html -> part: “###TEMPLATE\_CAT\_RELATED###” .. _Example: Example: ~~~~~~~~ Add the following lines to the setup field of an +ext (TS) template which is located in the page with the SINGLE view content element. Then “related news by category” should look like the screenshot above. :: plugin.tt_news { # wrap for all related news by category relatedByCategory_stdWrap.wrap = # wrap for the header relatedByCategoryHeader_stdWrap.wrap =
|
# globalwrap 3 is used to wrap the list items wrap3.wrap =
|
# change the name for template LIST to TEMPLATE_CAT_RELATED altMainMarkers.TEMPLATE_LIST = TEMPLATE_CAT_RELATED altMainMarkers.TEMPLATE_LIST.wrap = ### | ### } **Hint:** If you have more than one SINGLE view in your website you can use the TypoScript condition below for changing the template part with “altMainMarkers” - It's not needed to add an +ext template to each SINGLE view page. :: # this changes the template part for list only if a SINGLE view was requested [globalVar = GP:tx_ttnews|tt_news > 0] plugin.tt_news { altMainMarkers.TEMPLATE_LIST = TEMPLATE_CAT_RELATED altMainMarkers.TEMPLATE_LIST.wrap = ### | ### } [global] .. _The-Archive: The Archive ^^^^^^^^^^^ The “news Archive” is always build by two content-elements: An archive-menu (“AMENU”) element and a “LIST” element that shows only archived news-records. The links from the “AMENU” point to that “LIST” element. You can configure the pid (page ID) of the “LIST” in the Constant-editor or directly in TypoScript with “archiveTypoLink.parameter”. The “AMENU” and the (archive)-”LIST” can be on different pages or frames. The “AMENU” content-element can be considered as a small calender that shows news by their “datetime” field. The value of the field “archivedate” has no influence on the archive-menu. **Note:** Unless you're not using “Human readyble Archivedates”it is required to configure this “LIST” to show only archived items. If the LIST is set to “don't care”, it really does't care about archive settings and other archive-related parameters set from the links in the AMENU element -> it will always show all news-records. tt\_news offers a nice feature called “automated archiving” (see -> datetimeDaysToArchive, datetimeHoursToArchive or datetimeMinutesToArchive). If this is enabled, news records with a “datetime” field, that is older than the number of days, given in “datetimeDaysToArchive” will appear in lists showing only archived news (same works for hours and minutes).This means also, that these news records disappear from “LIST” elements showing only non-archived news and they will also disappear from “LATEST” elements. The displaying behaviour of news content-elements showing archived news is influenced by the TS-variables “enableArchiveDate” and “datetimeDaysToArchive”, “datetimeHoursToArchive” or “datetimeMinutesToArchive”.The following example tries to give you an overview which TypoScript settings will have which effect on different news content elements. Environment: Today = 03.10.04datetimeDaysToArchive = 30 news-records will be handled as archived, if their datetime field is older than datetimeDaysToArchive Start (DDTAStart) = 03.09.04 Let's say, you have these news-records: .. ### BEGIN~OF~TABLE ### .. _News-1: **News 1** """""""""" .. container:: table-row a **News 1** b DateTime: 01.11.04 (Future) c ArchiveDate: 0 (empty) .. _News-2: **News 2** """""""""" .. container:: table-row a **News 2** b DateTime: 01.10.04 (Past, after DDTAStart) c ArchiveDate: 0 (empty) .. _News-3: **News 3** """""""""" .. container:: table-row a **News 3** b DateTime: 15.09.04 (Past, after DDTAStart) c ArchiveDate: 30.09.04 (Past) .. _News-4: **News 4** """""""""" .. container:: table-row a **News 4** b DateTime: 01.08.04 (Past, before DDTAStart) c ArchiveDate: 30.08.04 (Past) .. _News-4a: **News 4a** """"""""""" .. container:: table-row a **News 4a** b DateTime: 01.08.04 (Past, before DDTAStart) c ArchiveDate: 0 (empty) .. _News-5: **News 5** """""""""" .. container:: table-row a **News 5** b DateTime: 01.07.04 (Past, before DDTAStart) c ArchiveDate: 01.12.04 (Future) .. ###### END~OF~TABLE ###### .. ### BEGIN~OF~TABLE ### .. _enable: enable """""" .. container:: table-row Archive Settings enable Archive Date b datetime DaysTo Archive c d **AMENU** e **LIST** show archived f **LATEST** g **LIST** show NON archived h **LIST** don't care .. _0: 0 " .. container:: table-row Archive Settings 0 b 0 c d :: - 2 3 4 4a 5 e :: 1 2 3 4 4a 5 f :: 1 2 3 4 4a 5 g :: 1 2 3 4 4a 5 h :: 1 2 3 4 4a 5 .. _0: 0 " .. container:: table-row Archive Settings 0 b 30 c d :: - - - 4 4a 5 e :: - - - 4 4a 5 f :: 1 2 3 - - - g :: 1 2 3 - - - h :: 1 2 3 4 4a 5 .. _1: 1 " .. container:: table-row Archive Settings 1 b 0 c d :: - 2 3 4 4a - e :: 1 2 3 4 4a - f :: 1 2 - - 4a 5 g :: 1 2 - - 4a 5 h :: 1 2 3 4 4a 5 .. _1: 1 " .. container:: table-row Archive Settings 1 b 30 c d :: - - 3 4 4a - e :: - - 3 4 4a 5 f :: 1 2 - - - - g :: 1 2 - - - - h :: 1 2 3 4 4a 5 .. ###### END~OF~TABLE ###### Note that newsitems with an empty archivedate will appear in all lists.Starting from version 2.5.2 newsitems without archivedate will not be displayed in the list of archived items if item is archived according to other criterias (see bugs 3930, 3714). To enable old behavior, set “compatVersion” to “2.5.0” in TypoScript setup. .. _The-Search: The Search ^^^^^^^^^^ The tt\_news search is a simple text-search that searches in a configurable list of fields (by default this fields will be searched: title, short (subheader), bodytext, author, keywords, links, and imagecaption). The default list of searchfields can be overwritten with the TS parameter “searchFieldList”. **Example:** :: # this will configure tt_news to search only in the fields “title” and “short”. plugin.tt_news.searchFieldList = title,short The fieldnames in “searchFieldList” will be validated before writing them to a database query. The search can be configured to display its results on another page (see ->searchPid). **Note:** The “SEARCH” element does not need a “LIST” element to display its results (if no “searchPid” is defined) You can choose between displaying all items in the result list when opening the searchpage, or showing only the input form (see -> emptySearchAtStart) If no global “Starting point” (pid\_list) is configured the “Starting Point” of the news “SEARCH” element must point to the folder where your news records are stored. .. _Version-Preview: Version Preview ^^^^^^^^^^^^^^^ If the extension "version" is enabled on the system, a new "code" (VERSION\_PREVIEW) will be added to the "what to display" selector in the tt\_news content element. If a content element with this code exists on a page, it does nothing until the GET var "ADMCMD\_vPrev" is set which indentifies a version preview. Unfortenutely the id of the page for the version preview is not configurable, so the VERSION\_PREVIEW element has to be on the next displayable page above the news sysfolder in the pagetree. This doesn't work if the news folder is in the first level of the pagetree without a normal page above it. The version preview is triggered by clicking on the red marked preview symbol in the versioning view in the BackEnd. |img-40| If a version preview is displayed a message with a link to the original version of the article will be inserted above it. see “versionPreviewMessage\_stdWrap” and “versionPreviewMessageLinkToOriginal\_stdWrap”. |img-41| “direct preview” with the save&preview button doesn't work in editforms of non-public versions of news articles -> use “version preview” instead. .. _Troubleshooting: Troubleshooting ^^^^^^^^^^^^^^^ If the news extension doesn't display anything (not even an error message) check the following: - did you set a “static template (from Extensions)” in your TS-template? - is the header of the content element displayed on the website? If this is the case then the news content element seems to be configured correctly - Are there any news records in the folder where the "Starting point" field points to? - Did you unhide the news records before saving them. - If you typed the path to the html-template directly in the TS setup- field: is the html-template located in the correct path? (path is case sensitive) - Enable the admin panel (config.adminPanel=1) in your TS setup and look for error messages in the “TypoScript” section: (to see the possible TS errors set the checkboxes as shown in the screen shot below) |img-42| clear all TYPO3 caches, clear your Browser cache. .. _FAQ: FAQ """ - **Q:** Is the singlePid required? **A:** yes, since tt\_news 1.3.0 it is not possible to see the single view on the f.e. LIST page when no singlePid was defined. - **Q:** What means this error message: "Attempt to insert record on page '[root-level]' (0) where this table, tt\_news\_cat, is not allowed"? **A:** That means, that you didn't define a "General Records Storage page" (-> see next question) and so TYPO3 tries to create the new news-category in the rootpage (page id=0). - **Q:** what is the "General Records Storage page" (GRSP) and where do I have to set it? **A:** If you set “use StoragePid” in the extension manager, the "GRSP" points to the page, where to look for categories that are displayed in forms in the BackEnd. The “GRSP” has to be set in the page properties of your websites rootpage (the page with “is root of the website” flag)Remember: The "General Records Storage page" (or “StoragePid”) is **not** the “Starting Point” .. _Example: Example: ~~~~~~~~ if you have a pagetree like shown in the screenshot below (and “useStoragePid” is enabled), the only page, where you have to set the "General Record Storage page", is the one named "tt\_news example 1". All pages below this page will take this setting if it is not overwritten by setting this value in another page. |img-43| If your page structure requires, that the news folder(s) are notlocated under one pagetree, you have to set the "General Records Storage page" for each news sysfolder **and** the rootpage of your site: |img-44| .. _Administration: Administration -------------- .. _Link-Configuration: Link Configuration ^^^^^^^^^^^^^^^^^^ There are several kinds of links in a news record. The table below gives you an overview which parameters will affect which link. In the graphic you see the possible links in a news “LATEST” element. The links in the “LIST” elements work exactly like those in “LATEST” elements. The links in the “AMENU” are configured with the same parameters as the “Archive Link” (4). The Links in the “SINGLE” view are explained after this. |img-45| .. ### BEGIN~OF~TABLE ### .. _img-46: |img-46| """""""" .. container:: table-row Link Description |img-46| Link-Configuration No special settings required External links will use the target, given in the link-field in the news-record. If there is no target given they will use the global target for external links. **Example:** This will open typo3.org in the same window: |img-47| .. _img-48: |img-48| """""""" .. container:: table-row Link Description |img-48| Link-Configuration No special settings required Link-Configuration in Framesets **Required Settings:** The global target for all links has to be defined in your main template (e.g.: PAGE\_TARGET = page). **Optional:** If you want the news links to internal pages point to another frame, you can override the global target with this setting. :: plugin.tt_news { pageTypoLink.target = _top } .. _img-49-Links-in-normal-newsitems-that-points-to-the-single-view: |img-49| Links in “normal” newsitems that points to the single-view. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .. container:: table-row Link Description |img-49| Links in “normal” newsitems that points to the single-view. These links are inserted to the HTML template by the ###LINK\_ITEM### markers. **Example:** :: ###NEWS_IMAGE### Link-Configuration **Required Settings:** All (red-marked) links will point to the page id=132. This is the page which contains the news “SINGLE” content element (also known as: singlePid). :: plugin.tt_news { singlePid = 132 } Link-Configuration in Framesets **Required Settings:** All (red-marked) links will point to the page id=465 and will open it in the frame that is configured as target for internal links from constants (e.g.: PAGE\_TARGET = page). :: plugin.tt_news { singlePid = 465 } .. _img-50-Category-Shortcut: |img-50| **Category Shortcut** """"""""""""""""""""""""""""""" .. container:: table-row Link Description |img-50| **Category Shortcut** Category link: Type “shortcut” This link points to a page in the same pagetree. **Example:** :: plugin.tt_news { catImageMode = 2 } Link-Configuration No special settings required Link-Configuration in Framesets **Required Settings:** For category shortcuts that point **not** to the same frame in which they are displayed, it is required to define the target in the “news category” db record: |img-51| .. _img-52-Catselector: |img-52| **Catselector** """"""""""""""""""""""""" .. container:: table-row Link Description |img-52| **Catselector** Category link: Type “category-selector”This link will filter the displayed news or archivemenu-items by category. **Example:** :: plugin.tt_news { catTextMode = 3 } Link-Configuration No special settings required Link-Configuration in Framesets **Required Settings:** If the catselector links should point to the current frame, there is no special setting required. If the catselector links should point to another frame, add this to your TS setup: :: plugin.tt_news { itemLinkTarget = page catSelectorTargetPid = 78 } with this setting the catselector links point to page id=78 in the frame named “page”. .. _img-53-Archive-Link: |img-53| **Archive Link** """""""""""""""""""""""""" .. container:: table-row Link Description |img-53| **Archive Link** \- used in the “LATEST” element (example html-template) for the link that points to the page with the archive listing (marker: ###GOTOARCHIVE###)- and used for links in the “AMENU” element (archive menu). If you want the links in the archive menu point to another page, you can enter the PID of this page here. Link-Configuration **Required Settings:** :: plugin.tt_news { archiveTypoLink.parameter = 34 } In the example the “Archive Link” in the LATEST element points to the page with id=34. This page contains an “AMENU” content-element. The links in the “AMENU” element are configured with the same settings, but those links expect a page with a “LIST” element as target. That page is configured to list only archived newsitems.If you set this value from the Contstant-Editor for all news content-elements, this “LIST” has to be on the same page as the “AMENU”. The target for this link is configured as the global PAGE\_TARGET in constants. See section “The Archive” for more information about linking the “AMENU” to other news content elements or pages. .. _Pagebrowser-links: **Pagebrowser links** """"""""""""""""""""" .. container:: table-row Link Description **Pagebrowser links** (not in the graphic) Link-Configuration No special settings required. The pagebrowser links in “LIST” view will point to the global “PAGE\_TARGET” if one is defined in the constants. .. ###### END~OF~TABLE ###### **Links in the “SINGLE” view** Some of the link-types in the single view are configured with the same parameters as shown in the table above: - Links to internal pages (see -> getRelatedCObject) - Links to external URLs (see -> getRelatedCObject) - Category-links that point to category-shortcuts (2) (the catselector mode will not work - and does not make sense - in single view) .. ### BEGIN~OF~TABLE ### .. _img-54-Links-to-related-news: |img-54| **Links to “related news”** """"""""""""""""""""""""""""""""""""" .. container:: table-row Link Description |img-54| **Links to “related news”** Link-Configuration No special settings required (see -> getRelatedCObject ) .. _img-55-Links-to-Files: |img-55| **Links to Files** """""""""""""""""""""""""""" .. container:: table-row Link Description |img-55| **Links to Files** Link-Configuration The links to files are configured with the “filelink” object. (see -> newsFiles) .. _img-56-News-Links: |img-56| **News Links** """""""""""""""""""""""" .. container:: table-row Link Description |img-56| **News Links** Link-Configuration The news “Links” are parsed through the “general\_stdWrap”. (see -> general\_stdWrap) **Hint:** you can add “typolinks” to this field: :: open mysite This will open the linked site in a new browser window. The link will appear as “open mysite” in SINGLE view. .. _img-57-Back-Link: |img-57| **Back-Link** """"""""""""""""""""""" .. container:: table-row Link Description |img-57| **Back-Link** Link-Configuration This links points to the last “LIST” or “LATEST” view. Usually the page that linked to the “SINGLE” view. (see -> backPid) .. _img-58-Image-Link-in-Single-view: |img-58| **Image Link in Single view** """"""""""""""""""""""""""""""""""""""" .. container:: table-row Link Description |img-58| **Image Link in Single view** Link-Configuration No special settings required, in the default configuration these links point to a javascript that opens the image in a pop-up window. (see -> imageWrapIfAny ) .. _Email-link: Email link """""""""" .. container:: table-row Link Description Email link Text Links in news bodytext Link-Configuration No special settings required This links use the global settings for links .. _Search-page-id: **Search page id** """""""""""""""""" .. container:: table-row Link Description **Search page id** (not in the graphic) Link-Configuration If you want the search button in the “SEARCH” content element point to another page than the current you can define this page as “searchPid”. (see -> searchPid ) .. ###### END~OF~TABLE ###### .. _img-59-User-Tsconfig: |img-59| User Tsconfig ^^^^^^^^^^^^^^^^^^^^^^ You can configure many options of the tt\_news BE-form by editing the TSconfig field of the BE-user or the BE-Group this user is a member of. |img-60| .. _generated: ((generated)) """"""""""""" .. _Examples: Examples: ~~~~~~~~~ This will enable the use of “allowed categories” and adds the categories with uids 23,43,12 to this list (see section “Categories” for mre information) :: options.useListOfAllowedItems = 1 tt_newsPerms.tt_news_cat.allowedItems = 35,36,37 This will exclude the categories with uids 1,2,3 from showing in the category tree in BE-forms: :: tt_newsPerms.tt_news_cat.excludeList = 1,2,3 This will show only the categories with uids 4,5,6 in the category tree in BE-forms: :: tt_newsPerms.tt_news_cat.includeList = 4,5,6 This will add a "Save & New" button to news and news-categories BE- forms :: options.saveDocNew.tt_news = 1 options.saveDocNew.tt_news_cat = 1 This will remove the "Delete" button from the news categories form. :: options.disableDelete.tt_news_cat = 1 This will set the field “hidden” in new created news articles to 0 (=visible) :: TCAdefaults.tt_news.hidden = 0 If you click on the "TS" button in the right of the textarea you'll see all possible options in a pop-up window. More information about “User TSconfig” can be found here: `http://typo3.org/documentation/document- library/references/doc\_core\_tsconfig/4.0.0/view/1/2/ `_ .. _Page-TSconfig: Page TSconfig ^^^^^^^^^^^^^ Since tt\_news 2.2.0 it's possible to open a news article in the SINGLE view when clicking the “save & preview” button in the news record in the BackEnd (works only in the “Live” workspace). The “singlePid” for the page who should open the SINGLE view has to be configured in the Page TSconfig of the folder with the news records. This page can be the normal SINGLE view page for your website it could also point to another page which contains a tt\_news content element with code SINGLE. .. _generated: ((generated)) """"""""""""" .. _Example: Example ~~~~~~~ This will open the page with id 37 when clicking on the “save & preview” button in a news record: :: tx_ttnews.singlePid = 37 If you, e.g. want to hide only certain options of some fields for BE- Users, you can do this by editing the Page-TSconfig of the folder where your tt\_news db-records are stored. (these settings will affect all BE users including those with admin rights) .. _Example: Example ~~~~~~~ This will remove the option "external Url" (type=2) from the "type" field in the tt\_news db-record: :: TCEFORM.tt_news.type.removeItems = 2 .. _The-Rich-Text-Editor: The Rich-Text-Editor ^^^^^^^^^^^^^^^^^^^^ I recommend to use the extension “ `htmlarea RTE `_ ” (extkey: rtehtmlarea) instead of the RTE (extkey: rte) which is included in your TYPO3 package. One big advantage of rtehtmlarea is, that it works on almost all browsers and operating systems. The classic RTE works only in Internet Explorer because it depends on some ActiveX-controls which are (fortenutely) not available in other browsers. Since tt\_news v1.4.2 the RichText-Editor for news is configured like the RTE for normal content (e.g. Text, Text w/image). This is done at three places: **1.** By this line in tca.php: :: [line: 405] '0' => Array('showitem' => 'title,type;;1;;,datetime;;2;;1-1-1,author;;3;;,short,bodytext;;4; richtext[paste|bold|italic|underline|formatblock|class|left|center|right|orderedlist|unorderedlist| outdent|indent|link|table|image]:rte_transform[flag=rte_enabled|mode=ts];4-4-4,no_auto_pb, --div--;Relations,category,image;;;;1-1-1,imagecaption;;5;;,links;;;;2-2-2,related;;;;3-3-3, news_files;;;;4-4-4'), which confgures which buttons or features will be available in the RTE-interface and it sets also the basic “transformation mode” (mode=ts). The transformation mode defines how the content of the field is changed while storing it in the database and while getting it back from the database. A nice graphic that shows how and where transformations work, can be found on this page: `http://typo3.org/documentation/document-library/core- documentation/doc\_core\_api/4.0.0/view/5/2/ `_ **2.** If the extension “css\_styled\_content” is enabled, the transformation mode is changed to “ts\_css” by adding this lines as “default pageTSconfig”: :: # RTE mode in table "tt_news" RTE.config.tt_news.bodytext.proc.overruleMode=ts_css This mode enables the use of CSS-classes for formatting the contents of the news record (e.g. HTML-lists will be generated with tags like
    ,
  • and
      , headers will be rendered as

      -

      ... for a detailed view on the changes between the different transformation modes take a look at this page: `http://typo3.org/documentation /document-library/core- documentation/doc\_core\_api/4.0.0/view/5/2/#id2828212 `_ **3.** The third part of the RTE configuration is done by this line in the file static/ts\_new/setup.txt or static/ts\_old/setup.txt in the extension dir (the settings in these files will be enabled by adding one of them as “static templates from extensions” to your TS template): :: plugin.tt_news.general_stdWrap { parseFunc < tt_content.text.20.parseFunc } The “general\_stdWrap” is used additionally to the normal standardWraps (f.e. subheader\_stdWrap) for the following fields: “author”, “subheader”, “text” and “links”. That means, the processing of these fields can be changed by modifying one line of TypoScript. If this behaviour is not wanted for a certain site, it can be disabled by clearing the “parseFunc”: :: plugin.tt_news.general_stdWrap { parseFunc > } But then you'll have to add a “parseFunc” to every field which contents should be processed (f.e. to find mailadresses in the text and add Info, page TSconfig”. |img-61| The RTE configuration can also be changed by “RTE.default” settings added by other extensions. If you have the extension “CSS\_styled\_content” installed, and you did not change the default setting: “Set PageTSconfig by default=on”, this value will overwrite the transform settings for tt\_news given in tca.php (the codeline above). The following table shows the pageTSconfig settings for the site, from the screenshot above (“RTE.default” means that in this site the RTE processing for tt\_news is configured like the processing for tt\_content). All settings are done in the page “tt\_news example 1” (is root-page). The sysfolder for news is located under this page, so the settings from the “root-page” will also affect this folder. .. ### BEGIN~OF~TABLE ### .. _content-default: content(default) """""""""""""""" .. container:: table-row Template settings content(default) EXTcss\_styled\_content Installed Add to Page TS-config :: RTE.default { proc { preserveTables = 1 overruleMode = ts } } .. _content-default: content(default) """""""""""""""" .. container:: table-row Template settings content(default) EXTcss\_styled\_content Not installed, or pageTS config not added by default. Add to Page TS-config :: RTE.default { proc { preserveTables = 1 overruleMode = ts } showButtons = table } .. _css-styled-content: css\_styled\_content """""""""""""""""""" .. container:: table-row Template settings css\_styled\_content EXTcss\_styled\_content Installed Add to Page TS-config no special settings needed. The “overrule mode” is added to the default pageTSconfig. .. ###### END~OF~TABLE ###### **Notice:** If your news sysfolders are not located under your website's “root-page” you'll have to add the settings from the table above to the PageTSconfig of your news sysfolders. .. _generated: ((generated)) """"""""""""" .. _Example: Example: ~~~~~~~~ The settings that start with “RTE.default” will affect the RTE for tt\_news and tt\_content (and all RTEs from other extensions). If you want to configure the RTE for tt\_news different from the RTE for tt\_content, the syntax looks like this (pageTSconfig): :: RTE.config.tt_news.bodytext { proc { preserveTables = 1 overruleMode = ts_css } showButtons = textcolor,bgcolor } for further details see: `http://typo3.org/documentation/document-library/rtehtmlarea/ `_ `http://typo3.org/documentation/document-library/extension- manuals/rtehtmlarea/current/ `_ `http://typo3.org/documentation/tips-tricks/customizing-the-rich-text- editor/ `_ `http://typo3.org/documentation/document-library/core- documentation/doc\_core\_api/4.0.0/view/5/1/ `_ .. _Rights-Permissions: Rights & Permissions ^^^^^^^^^^^^^^^^^^^^ The basics about the Rights & Permissions concepts of TYPO3 can be found in the "getting started" document: `http://typo3.org/documentation/document- library/tutorials/doc\_tut\_quickstart/0.1.0/view/1/12/#id2856932 `_ for some advanced options see section “MOD” in “doc\_core\_tsconfig”: `http://typo3.org/documentation/document- library/references/doc\_core\_tsconfig/4.0.0/view/1/3/#id2798076 `_ .. _Caching: Caching ^^^^^^^ Since version 1.4.0 tt\_news supports caching and thus indexing by the indexed\_search extension. Now the problem appears that you'll have to clear the cache for the e.g. “Homepage” to see the changes you made in a news article that is located in the news sysfolder. This can be done automatically. .. _generated: ((generated)) """"""""""""" .. _Example: Example: ~~~~~~~~ in the small pagetree below, the news articles are located in the sysfolder "News db Records". The page "Home"(647) shows a news LATEST content element in the left column and the page "News"(637) and its subpages show other news content elements. If a user changes an item in the news sysfolder, the pages "Home" and "News" will still show the same content (assuming that caching is enabled). If you add the following parameters to the PageTSconfig of the news sysfolder, the cache for the pages configured in the “clearCacheCmd” is automatically cleared by saving a news record in this folder. :: TCEMAIN.clearCacheCmd = 647,637 |img-62| for more options see: `http://typo3.org/documentation/document- library/references/doc\_core\_tsconfig/4.0.0/view/1/3/#id2798076 `_ .. _Configuration: Configuration ------------- If you want to modify some global values of the TypoScript configuration, used for the news display, take a look at the "Constant Editor". To open it, click on "Web/Template" in the left-frame menu, choose the page with the root-template in the pagetree and select "Constant Editor" from the menu in the upper right corner. |img-63| To change any options you don't find there, take a look at the "TypoScript Object Browser" (TSOB): |img-64| More information about the TSOB can be found here: `http://typo3.org/documentation/document- library/tutorials/doc\_tut\_quickstart/0.1.0/view/1/9/#id2855181 `_ The default values for the tt\_news TypoScript configuration are stored in the file setup.txt in one of the “static” folders in the extension directory. For a list of all possible (tt\_news specific) options see the table "Reference" below. Some options e.g. for "stdWrap" or "typolink" are explained in the Typo-Script Reference (TSref) which can be found here: `http://typo3.org/documentation/document- library/references/doc\_core\_tsref/current/ `_ .. _Files: Files: ^^^^^^ .. ### BEGIN~OF~TABLE ### .. _pi-class-tx-ttnews-php: pi/class.tx\_ttnews.php """"""""""""""""""""""" .. container:: table-row File pi/class.tx\_ttnews.php Description Main PHP-class used to display news. Called from a USER cObject with "userFunc = user\_news->main\_news" .. _class-ext-update-php: class.ext\_update.php """"""""""""""""""""" .. container:: table-row File class.ext\_update.php Description This is the tt\_news updater .. _class-tx-ttnews-catmenu-php: class.tx\_ttnews\_catmenu.php """"""""""""""""""""""""""""" .. container:: table-row File class.tx\_ttnews\_catmenu.php Description This class renders the CATMENU in “tree” mode. .. _class-tx-ttnews-tcemain-php: class.tx\_ttnews\_tcemain.php """"""""""""""""""""""""""""" .. container:: table-row File class.tx\_ttnews\_tcemain.php Description Class with that uses two hooks from class.t3lib\_tcemain.php to prevent saving of news or category records which have categories assigned that are not allowed for the current BE user. .. _class-tx-ttnews-treeview-php: class.tx\_ttnews\_treeview.php """""""""""""""""""""""""""""" .. container:: table-row File class.tx\_ttnews\_treeview.php Description This class builds the “category tree” in BE forms and checks for recursive categories .. _class-tx-ttnews-itemsProcFunc-php: class.tx\_ttnews\_itemsProcFunc.php """"""""""""""""""""""""""""""""""" .. container:: table-row File class.tx\_ttnews\_itemsProcFunc.php Description Contains the function, that adds “extra codes” to the “What to display” selector .. _pi-news-template-tmpl: pi/news\_template.tmpl """""""""""""""""""""" .. container:: table-row File pi/news\_template.tmpl Description The table-based tt\_news template file. .. _pi-news-help-tmpl: pi/news\_help.tmpl """""""""""""""""" .. container:: table-row File pi/news\_help.tmpl Description Template, which is displayed when using the news extension without setting a value for "code" .. _res-tt-news-languageMenu-php: res/tt\_news\_languageMenu.php """""""""""""""""""""""""""""" .. container:: table-row File res/tt\_news\_languageMenu.php Description Changed version of the example\_languageMenu.php. This script keeps the link-variables from tt\_news. .. _res-example-itemMarkerArrayFunc-php: res/example\_itemMarkerArrayFunc.php """""""""""""""""""""""""""""""""""" .. container:: table-row File res/example\_itemMarkerArrayFunc.php Description Example for processing user-defined Markers with the userfunction: “itemMarkerArrayFunc”. (See file for description and needed TS setup) .. _res-example-amenuUserFunc-php: res/example\_amenuUserFunc.php """""""""""""""""""""""""""""" .. container:: table-row File res/example\_amenuUserFunc.php Description Example for processing the archive menu items by a user function (“amenuUserFunc”). The scripts divides the Archive menu to years. See file for description and needed TS setup. .. _res-example-imageMarkerFunc-php: res/example\_imageMarkerFunc.php """""""""""""""""""""""""""""""" .. container:: table-row File res/example\_imageMarkerFunc.php Description Example for processing the image(s) by a userfunction (“imageMarkerFunc”): adds different wraps to the images in single view (see comments in file for needed TS-settings) .. _res-example-userPageBrowserFunc-php: res/example\_userPageBrowserFunc.php """""""""""""""""""""""""""""""""""" .. container:: table-row File res/example\_userPageBrowserFunc.php Description Example for the pagebrowser userfunction (“userPageBrowserFunc”): this file includes two alternative pagebrowser-functions. With both pagebrowsers it is possible, to use html-code like images for the “next” and “previous” links. (See file for description and needed TS setup) .. _folders-static-ts-new: folders:static/ts\_new """""""""""""""""""""" .. container:: table-row File folders:static/ts\_new static/css static/ts\_old static/rss\_feed Description these are the static extension templates: “CSS-based tmpl”,”default CSS-styles”,”table-based tmpl” and “RSS-feed (type=100)” .. _pi-tt-news-v2-template-html: pi/tt\_news\_v2\_template.html """""""""""""""""""""""""""""" .. container:: table-row File pi/tt\_news\_v2\_template.html Description The new CSS based html-template .. _res-tt-news-v2-styles-css: res/tt\_news\_v2\_styles.css """""""""""""""""""""""""""" .. container:: table-row File res/tt\_news\_v2\_styles.css Description CSS styles for the new HTML template.(this file contains the same style information as the static ext-template “default CSS-styles”) .. _res-rss-0-91-tmpl: res/rss\_0\_91.tmpl """"""""""""""""""" .. container:: table-row File res/rss\_0\_91.tmpl res/rss\_2.tmpl res/atom\_0\_3.tmpl res/atom\_1\_0.tmpl res/rdf.tmpl Description The xml templates for web feeds as RSS 0.91, RSS 2, RDF, Atom 0.3 and Atom 1.0. .. _res-realurl-localconf-txt: res/realurl\_localconf.txt """""""""""""""""""""""""" .. container:: table-row File res/realurl\_localconf.txt Description Example Configuration for tt\_news with RealUrl .. ###### END~OF~TABLE ###### .. _Reference: Reference ^^^^^^^^^ **plugin.tt\_news properties: TS configuration.** .. _General-Settings: General Settings """""""""""""""" .. ### BEGIN~OF~TABLE ### .. _templateFile: templateFile ~~~~~~~~~~~~ .. container:: table-row Property templateFile Data type resource Description The HTML-template. (See examples: "pi/news\_template.tmpl" and “pi/tt\_news\_v2\_template.html” in the ext/tt\_news folder). You can define a template for a complete pagetree, a certain page or even a single content element in your TS setup, in the Constant Editor or in the content.element. **Example:** :: plugin.tt_news { templateFile = fileadmin/my_templates/tt_news.html } Default .. _pid-list: pid\_list ~~~~~~~~~ .. container:: table-row Property pid\_list Data type string / stdWrap Description The page id (pid), or list of pids of the folder(s), where your news are stored in (also known as “Starting point”). If this value is not set, and the “Starting point” field in the news content-element is also empty, the current page is used.Accepts multiple pids comma separated! **Example:** :: # clear the value plugin.tt_news.pid_list > # display news records located in page 582 & 584 plugin.tt_news.pid_list = 582,584 **Note:** “Starting Point / pid\_list” has nothing to do with the “Storage Pid” (General Record Storage page), which is used for news- categories). Default .. _dontUsePidList: dontUsePidList ~~~~~~~~~~~~~~ .. container:: table-row Property dontUsePidList Data type boolean Description In sites with huge pagetrees where it is needed to have the news not in a few sysfolders but in the complete pagetree the check for the pid\_list in tt\_news can be a big performance eater because thousands of pages have to be checked for visibility and added to the sql query. With “dontUsePidList” enabled it is possible to disable the use of the parameters "pid\_list" and "recursive" for tt\_news related queries. **Example:** :: plugin.tt_news.dontUsePidList = 1 Default .. _recursive: recursive ~~~~~~~~~ .. container:: table-row Property recursive Data type Int / stdWrap Description If this is given, the “pid\_list” is extended by the number of recursive levels. **Example:** :: plugin.tt_news.recursive = 3 Default .. _code: code ~~~~ .. container:: table-row Property code Data type string / stdWrap Description Code to define, what the script does. **Example:** :: plugin.tt_news.code = LATEST Default .. _singlePid: singlePid ~~~~~~~~~ .. container:: table-row Property singlePid Data type int+ / stdWrap Description Page id of the page where single news are displayed (name changed in tt\_news 1.6.0). Here you can define a page to be used for display of a news item with the “SINGLE” template-part. This setting can also be done in the constant editor or directly in the content element. (the settings done directly in the content element will override settings you made by TS, but they will only affect these certain content element.) **Example:** :: # singlePid for a news element inserted by TS plugin.tt_news.singlePid = 590 **Notice:** setting at least one page with a SINGLE news content element as “singlePid” is **required** (since tt\_news 1.3.0) -> if there's no “singlePid” defined the links that should point to the single view don't work. The old var-name “PIDitemDisplay” does not work for links to related news anymore (since tt\_news 1.6.3) Default .. _allowCaching: allowCaching ~~~~~~~~~~~~ .. container:: table-row Property allowCaching Data type boolean Description Allow caching of news. Default 1 .. _limit: limit ~~~~~ .. container:: table-row Property limit Data type int+ / stdWrap Description The maximum number of news-records showing in “LIST” view. Default 7 .. _latestLimit: latestLimit ~~~~~~~~~~~ .. container:: table-row Property latestLimit Data type int+ / stdWrap Description The maximum number of news-records showing in “LATEST” view. Default 3 .. _alternatingLayouts: alternatingLayouts ~~~~~~~~~~~~~~~~~~ .. container:: table-row Property alternatingLayouts Data type Int+ Description Indicates how many alternating designs the news-script should expect in the html-template. **Example:** If you define a subpart like:" ... "this is used all the time. If you define a similar subpart: " ... " which might show another set of colors, this is used every second time instead of the default! This is because "alternateLayouts" is set to 2. If you define a similar subpart " ... " ... this will be used every third time IF (!) "alternateLayouts" is set to 3. If you do not set it to 3, the first two aternating designs will be used only. Default 2 .. _altMainMarkers: altMainMarkers ~~~~~~~~~~~~~~ .. container:: table-row Property altMainMarkers Data type *(array of strings)* Description Lets you specify alternative subpart markers for the various main template designs in the news template This is the list of main subparts you can override: **Properties:** :: TEMPLATE_LATEST TEMPLATE_LIST TEMPLATE_SINGLE TEMPLATE_SINGLE_RECORDINSERT TEMPLATE_ARCHIVE TEMPLATE_SEARCH TEMPLATE_ARCHIVE_NOITEMS TEMPLATE_HEADER_LIST TEMPLATE_CAT_RELATED /+ stdWrap **Example:** This example changes the main subpart marker for the regular news single item display from the default ###TEMPLATE\_SINGLE### to the custom supplied design ###SINGLE\_CUSTOM### (found in the same template HTML-file) :: plugin.tt_news { altMainMarkers.TEMPLATE_SINGLE = SINGLE_CUSTOM altMainMarkers.TEMPLATE_SINGLE.wrap = ### | ### } Default .. _compatVersion: compatVersion ~~~~~~~~~~~~~ .. container:: table-row Property compatVersion Data type version Description Alters behavior of tt\_news to be compatible with certain previous version. The value is not set by default, which means “current version”. Value must be a valid version string (i.e. include three numbers separated by period). Currently the following values are checked by extension: - 2.5.0 or below - LIST view in archive mode will show not only archived items but also any item without archivedate set Default .. ###### END~OF~TABLE ###### .. _Settings-for-Links: Settings for Links: """"""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _useHRDates: useHRDates ~~~~~~~~~~ .. container:: table-row Property useHRDates Data type boolean Description Use human readable dates: This enables the use of the GETvars “year” and “month” for archive links instead of the non-readable vars “pS”, “pL” and “arc”. Now it's possible to have realUrls like this: `http://www.example.com/news/archive/2005/04/ `_ **Hint:** If you use realUrl, don't forget to adds these new vars to your localconf.php See section "RealUrl and SimulateStaticDocuments" in this manual for more information. Default 0 .. _useHRDatesSingle: useHRDatesSingle ~~~~~~~~~~~~~~~~ .. container:: table-row Property useHRDatesSingle Data type boolean Description Use “human readable dates” even for links pointing to the SINGLE view. Additionaly to “year” and “month” the links to the SINGLE view will show the “day”, so realUrls can look like this: `http://www.example.com/news/2005/04/11/this-is-awesome/ `_ Default 0 .. _useHRDatesSingleWithoutDay: useHRDatesSingleWithoutDay ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property useHRDatesSingleWithoutDay Data type boolean Description Use “human readable Dates” for links to the SINGLE view without “day”, so realUrls can look like this: `http://www.example.com/news/2005/04/this-is-awesome-too/ `_ **Example:** :: plugin.tt_news { useHRDates = 1 useHRDatesSingle = 1 useHRDatesSingleWithoutDay = 1 } Default 0 .. _backPid: backPid ~~~~~~~ .. container:: table-row Property backPid Data type int+ Description Here you can set the page id of the news list to which to return after looking at a single item. If you don't set a “backPid” the “Back” link in SINGLE view points to the last LIST or LATEST view. Usually the page that linked to the “SINGLE” view. If you have clicked to another related item, the “Back” link will still point to the last LIST page. You can override this behaviour by setting the parameter “backPid” in TS. This lets all “Back” links point to the page you configured there. Default .. _dontUseBackPid: dontUseBackPid ~~~~~~~~~~~~~~ .. container:: table-row Property dontUseBackPid Data type boolean Description If you enable this, you can prevent the use of the variables for dynamic “back-links” in links that point to the single-view. The advantage is, that all those links will look the same, what will f.e. prevent multiple indexing by the indexed search. (RealUrl Links will also look nicer without a “backPid”). The “back-link” in the SINGLE view will still work, but it will only point to a global “backPid” (f.e. the list view). See section "RealUrl and SimulateStaticDocuments" in this manual for more information. Default 0 .. _hscBackLink: hscBackLink ~~~~~~~~~~~ .. container:: table-row Property hscBackLink Data type boolean Description If this is enabled the “Back to list” link in the SINGLE view will be parsed through the PHP function htmlspecialchars(). Default 1 .. _pageTypoLink: pageTypoLink ~~~~~~~~~~~~ .. container:: table-row Property pageTypoLink Data type ->typolink Description Additional typolink configuration for the links to news which are of type “links to internal pages” or type “external link”. With this setting you can override the global settings for targets in your page. Page id/external url parameter is loaded into “current” (TS data array). This option has no influence on links pointing to normal news records. The target of these links ist configured globally for the whole page. **Example:** if you have a page with frames and you want to open links to pages & external urls in a new browser window, use this setting: :: plugin.tt_news { pageTypoLink.target > pageTypoLink.target = _blank } Default .. _itemLinkTarget: itemLinkTarget ~~~~~~~~~~~~~~ .. container:: table-row Property itemLinkTarget Data type string Description Target for the links on category images that choose a certain category. This is only needed if you want to overwrite the global settings for “PAGET\_TARGET” from constants.If you, f.e. use a LATEST element to control a LIST in another frame, set this to the frame name. Default .. _archiveTypoLink: archiveTypoLink ~~~~~~~~~~~~~~~ .. container:: table-row Property archiveTypoLink Data type ->typolink Description Typolink configuration for links that point to the news archive. This is not a full featured “typolink config array” – only the attributes “parameter” and “addParams” are processed. - used in the “LATEST” element (example html-template) for the link that points to the page with the archive listing (marker: ###GOTOARCHIVE###) - used for links in the “AMENU” element (archive menu). If you want the links in the archive menu point to another page, you can enter the PID of this page here. **Example:** :: # points to the page with id=34 and adds '&myvar=foo' to all links. plugin.tt_news { archiveTypoLink.parameter = 34 archiveTypoLink.addParams = &myvar=foo } Default .. _linkTitleField: linkTitleField ~~~~~~~~~~~~~~ .. container:: table-row Property linkTitleField Data type string /stdWrap Description Here you can define a field whose content will be inserted as “title” attribute in links pointing to the SINGLE view. **Example:** This will insert the content of the field “title” from the tt\_news db-record as attribute “title” prepended with “go to ”. :: plugin.tt_news.displayList { linkTitleField = title linkTitleField.wrap = go to  | } The final link should look like this: :: the title Default .. ###### END~OF~TABLE ###### .. _Global-Wraps: **Global Wraps** """""""""""""""" **I** f you use the new css-based html-template you don't need to define “Global Wraps” and “Global Colors” because the complete visual formating is done with CSS-tyless. But of course those wraps and markers can be used for other purposes. .. ### BEGIN~OF~TABLE ### .. _wrap1: wrap1 ~~~~~ .. container:: table-row Property wrap1 Data type -> stdWrap Description Global Wrap 1. This will be splitted into the markers ###GW1B### and ###GW1E###. Don't changes the input value, only wrap it in something. **Example:** :: plugin.tt_news.wrap1.wrap = | Default .. _wrap2: wrap2 ~~~~~ .. container:: table-row Property wrap2 Data type -> stdWrap Description Global Wrap 2 (see above) **Note:** the “Global Wraps” and the “Global colors” are not used in the TS setup for the css based template. Default .. _wrap3: wrap3 ~~~~~ .. container:: table-row Property wrap3 Data type -> stdWrap Description Global Wrap 3 (see above) Default .. _color1: color1 ~~~~~~ .. container:: table-row Property color1 Data type string /stdWrap Description Value for ###GC1### marker (Global color 1) Default .. _color2: color2 ~~~~~~ .. container:: table-row Property color2 Data type string /stdWrap Description Value for ###GC2### marker (Global color 2) Default .. _color3: color3 ~~~~~~ .. container:: table-row Property color3 Data type string /stdWrap Description Value for ###GC3### marker (Global color 3) Default .. _color4: color4 ~~~~~~ .. container:: table-row Property color4 Data type string /stdWrap Description Value for ###GC4### marker (Global color 4) Default .. ###### END~OF~TABLE ###### .. _Search-Settings: Search Settings """"""""""""""" .. ### BEGIN~OF~TABLE ### .. _searchPid: searchPid ~~~~~~~~~ .. container:: table-row Property searchPid Data type int+ Description Page id where searchresults are displayed. If you want all news searches to go to a specific page, enter the PID here! NOTE: If you set this PID, all searchqueries will (must) be handled with a list content element with the code "SEARCH" on that page. Default .. _emptySearchAtStart: emptySearchAtStart ~~~~~~~~~~~~~~~~~~ .. container:: table-row Property emptySearchAtStart Data type boolean Description If this is set the “SEARCH” content element will show an empty list at start. Otherwise the full list of items is shown. Default 1 .. _searchEmptyMsg-stdWrap: searchEmptyMsg\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property searchEmptyMsg\_stdWrap Data type ->stdWrap Description stdWrap for the messages from the news-search: “no results” & “no searchword given”. Default .. ###### END~OF~TABLE ###### .. _Pagebrowser-Settings: Pagebrowser Settings """""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _noPageBrowser: noPageBrowser ~~~~~~~~~~~~~ .. container:: table-row Property noPageBrowser Data type boolean Description Set this to “1” to completely disable the pagebrowser for all tt\_news content elements in a page (can also be set directly in a content element to disable the pagebrowser only for this content element). Useful in combination with “excludeLatestFromList” or “listStartId”, set from the content element. Default 0 .. _latestWithPagebrowser: latestWithPagebrowser ~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property latestWithPagebrowser Data type boolean Description If this is set, the LATEST template can also contain a pagebrowser (you'll have to add one to your template first). If this is not set (default) the contents of LATEST are not influenced by the pagebrowser. Default 0 .. _usePiBasePagebrowser: usePiBasePagebrowser ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property usePiBasePagebrowser Data type boolean Description Here you can configure if the pagebrowser for LIST and LATEST should be rendered by the TYPO3 core class “tslib\_pibase” or if the internal pagebrowser from tt\_news should be used (the pagebowser can also be renderd by a userfunction -> see “userPageBrowserFunc”). All pagebrowsers will be configured with the configuration array “pagebrowser.”. Since TYPO3 3.8.0 the internal pagebrowser from class.tslib\_pibase offers some very nice features and its output is completely configurable (see below). If you use a TYPO3 version below 3.8.0 I recommend to use the pagebrowser from tt\_news because it supports caching and it's also possible to use HTML (e.g. images) as “previous” and “more” links. Default 0 .. _pageBrowser: pageBrowser ~~~~~~~~~~~ .. container:: table-row Property pageBrowser Data type pageBrowser configuration array Description Configuration array for the pagebrowser. All properties of the pagebrowser are configured in this array. Default .. ###### END~OF~TABLE ###### .. _pageBrowser-options: -> pageBrowser.[options] """""""""""""""""""""""" This is the configuration array for the pagebrowser. All settings here start with “pageBrowser.”. The formating of the pagebrowser is done by CSS. See \_CSS\_DEFAULT\_STYLE at the end of this list for an example. .. ### BEGIN~OF~TABLE ### .. _maxPages: maxPages ~~~~~~~~ .. container:: table-row Property maxPages Data type int+ Description The maximum number of pages that are shown in the pagebrowser Default 7 .. _showPBrowserText: showPBrowserText ~~~~~~~~~~~~~~~~ .. container:: table-row Property showPBrowserText Data type boolean Description Here you can choose if the pagebrowser should show texts like “page 1, page...” in the pagelinks or if it should show only numbers. Default 1 .. _dontLinkActivePage: dontLinkActivePage ~~~~~~~~~~~~~~~~~~ .. container:: table-row Property dontLinkActivePage Data type boolean Description If this is set to 1 the current page is not linkedlinked in the pagebowser Default 1 .. _tableParams: tableParams ~~~~~~~~~~~ .. container:: table-row Property tableParams Data type string Description If you didn't set a “browseLinksWrap” you can add parameters for the table that wraps the pagebrowser here. **Example:** (default setting) :: plugin.tt_news { pageBrowser { maxPages = 10 showPBrowserText = 1 tableParams = cellpadding=2 showResultCount = 1 } } **Hint:** If you want to change the default texts like “previous” to something else, you can do this with the TS var “\_LOCAL\_LANG” (see example at the end of this table). For the names of the language markers see: pi/locallang.xmlbut don't change the values in this file – they will be overwriiten when you update tt\_news. You can change the language labels with the extension “llxmltranslate”. Default .. _showResultCount: showResultCount ~~~~~~~~~~~~~~~ .. container:: table-row Property showResultCount Data type 0,1,2 Description In TYPO3 below 3.8.0 this configures if the result count (e.g.: “Displaying results 1 to 4 out of 22”) should be shown above the pagebrowser. In TYPO3 version 3.8.0 this var can have 3 values: - 0: only the result-browser will be shown - 1: (default) the text "Displaying results..." and the result-browser will be shown. - 2: only the text "Displaying results..." will be shown Default 1 .. _alwaysPrev: alwaysPrev ~~~~~~~~~~ .. container:: table-row Property alwaysPrev Data type boolean Description If this is enabled the “previous” link will always be visible even when the first page is displayed. Default 0 .. _showFirstLast: showFirstLast ~~~~~~~~~~~~~ .. container:: table-row Property showFirstLast Data type boolean Description This is used as switch if the two links named "<< First" and "Last >>" will be shown and point to the first or last page. If “showFirstLast” is enabled “alwaysPrev” will be overwritten (set to 1). Default 0 .. _hscText: hscText ~~~~~~~ .. container:: table-row Property hscText Data type boolean Description Here you can choose if the texts for the pagebrowser (eg: “next”, “Displaying reaults...”) will be parsed through the PHP function htmlspecialchars() or not. Disable this if you want to use HTML in the texts f.e. for graphical “next” and “previous” links. Default 1 .. _pagefloat: pagefloat ~~~~~~~~~ .. container:: table-row Property pagefloat Data type int / keyword Description This defines were the current page is shown in the list of pages in the pagebrowser. If this var is an integer it will be interpreted as position in the list of pages. If its value is the keyword **"center"** the current page will be shown in the middle of the browse links. Default 0 .. _showRange: showRange ~~~~~~~~~ .. container:: table-row Property showRange Data type boolean Description This var switches the display of the pagelinks from numbers to ranges f.e.: 1-5 6-10 11-15... instead of 1 2 3... Default 0 .. _browseBoxWrap: browseBoxWrap ~~~~~~~~~~~~~ .. container:: table-row Property browseBoxWrap Data type stdWrap Description This is the wrap for the complete pagebowser (results and browse links). This wrap and the following ones are only available in TYPO3 3.8.0 or higher. **Example:** :: plugin.tt_news.pageBrowser { browseBoxWrap.wrap =
      |
      showResultsWrap.wrap =
      |
      browseLinksWrap.wrap =
      |
      showResultsNumbersWrap.wrap = | disabledLinkWrap.wrap = | inactiveLinkWrap.wrap = | activeLinkWrap.wrap = | } Default .. _showResultsWrap: showResultsWrap ~~~~~~~~~~~~~~~ .. container:: table-row Property showResultsWrap Data type stdWrap Description This wraps the text “Displaying results...”. Default .. _browseLinksWrap: browseLinksWrap ~~~~~~~~~~~~~~~ .. container:: table-row Property browseLinksWrap Data type stdWrap Description Wrap for the browse links. Default .. _showResultsNumbersWrap: showResultsNumbersWrap ~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property showResultsNumbersWrap Data type stdWrap Description wrap for the numbers in the text: “Displaying results 1 to 4 out of 22 ”. Default .. _disabledLinkWrap: disabledLinkWrap ~~~~~~~~~~~~~~~~ .. container:: table-row Property disabledLinkWrap Data type stdWrap Description wrap for disabled links (f.e the “Last >>” link on the last page). Default .. _inactiveLinkWrap: inactiveLinkWrap ~~~~~~~~~~~~~~~~ .. container:: table-row Property inactiveLinkWrap Data type stdWrap Description wrap for inactive links (normal links). Default .. _activeLinkWrap: activeLinkWrap ~~~~~~~~~~~~~~ .. container:: table-row Property activeLinkWrap Data type stdWrap Description wrap for active links. Default .. ###### END~OF~TABLE ###### .. _Archive-Settings: Archive Settings """""""""""""""" .. ### BEGIN~OF~TABLE ### .. _archive: archive ~~~~~~~ .. container:: table-row Property archive Data type int Description Use this if you want to configure a news LIST element inserted by TS to show only archived or non-archives items (this values will be overwritten by values set directly in the tt\_news content element) - -1 = show only non-archived - 0 = don't care - 1 = show only archived **Example:** This will setup a news content-element to display only archived items :: plugin.tt_news.archive = 1 **Note:** The LATEST and the AMENU elements are **not** affected by archive settings. Neither by the settings from TS nor from the Flexforms settings. Default .. _datetimeDaysToArchive: datetimeDaysToArchive ~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property datetimeDaysToArchive Data type int (days) Description If this is set, news are automatically in the archive after the given number of days has passed according to their initial datetime value. **Note:** this setting will have priority over a possibly given archivedate. For more information, see section “The Archive” in this manual **Example:** This handles all news records older than 30 days as archived. :: plugin.tt_news.datetimeDaysToArchive = 30 Default 0 .. _datetimeHoursToArchive: datetimeHoursToArchive ~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property datetimeHoursToArchive Data type int (hours) Description Same as datetimeDaysToArchive but for hours (can't be combined with datetimeDaysToArchive and datetimeMinutesToArchive). Default 0 .. _datetimeMinutesToArchive: datetimeMinutesToArchive ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property datetimeMinutesToArchive Data type int (minutes) Description Same as datetimeDaysToArchive but for minutes (can't be combined with datetimeDaysToArchive and datetimeHoursToArchive). **Note:** If you are using datetimeHoursToArchive or datetimeMinutesToArchive son't forget to set the lifetime of the pagecache to a value that actually allows such short archiving periods Default 0 .. _enableArchiveDate: enableArchiveDate ~~~~~~~~~~~~~~~~~ .. container:: table-row Property enableArchiveDate Data type boolean Description If set, the field "archivedate" is activated for selecting of news records. Default 1 .. _emptyArchListAtStart: emptyArchListAtStart ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property emptyArchListAtStart Data type boolean Description If this is set, a news LIST element showing only archived items will show nothing at first view, without any given "periodStart"(pS) or "Lenght"(pL) from GET vars. The default is to show all archived items, starting from the first item in the archive. Default .. _reverseAMenu: reverseAMenu ~~~~~~~~~~~~ .. container:: table-row Property reverseAMenu Data type boolean Description If set, newer archive menu items are displayed first Default 1 .. _archiveMode: archiveMode ~~~~~~~~~~~ .. container:: table-row Property archiveMode Data type string Description Determines which archive mode is used possible values: “month”, “year” or “quarter” (see “archiveTitleCObject”) **Example:** :: plugin.tt_news.archiveMode = month Default month .. _archiveTitleCObject: archiveTitleCObject ~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property archiveTitleCObject Data type cObject Description cObject that renders the title of the archive periods. Note that the data array (current) of the cObject is loaded with an array with the keys: “start” - starting time of period “stop” - ending time of period “quarter” - the quarter of the period (1-2-3-4) “count” - number of news items in this period **Example:** :: plugin.tt_news.archiveTitleCObject { 10 = TEXT 10.field = start 10.strftime = %B - %Y } **More advanced Example:** This will display an AMENU in quarter periods like this: “Jan - Mar 2005: 3 items”. The selected archive period is displayed in bold text. :: plugin.tt_news { reverseAMenu = 0 archiveMode = quarter archiveTitleCObject > archiveTitleCObject = COA archiveTitleCObject { 10 = COA 10 { 10= TEXT 10 { field = start strftime = %b -  wrap = | } 11 = TEXT 11 { field = stop strftime = %b %Y wrap = | } if { value.field = start equals.data = GPvar:tx_ttnews|pS } } 20 = COA 20 { 10= TEXT 10 { field = start strftime = %b -  wrap = } 11 = TEXT 11 { field = stop strftime = %b %Y wrap = } if { value.field = start equals.data = GPvar:tx_ttnews|pS negate = 1 } } } } Default .. _archiveMenuNoEmpty: archiveMenuNoEmpty ~~~~~~~~~~~~~~~~~~ .. container:: table-row Property archiveMenuNoEmpty Data type boolean Description If set, there will be no empty elements in the archive menu Default 1 .. _archiveHeader-stdWrap: archiveHeader\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property archiveHeader\_stdWrap Data type ->stdWrap Description stdWrap for the archive header. Default .. _archiveEmptyMsg-stdWrap: archiveEmptyMsg\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property archiveEmptyMsg\_stdWrap Data type ->stdWrap Description stdWrap for the message, that is displayed if no archived items are found at all Default .. ###### END~OF~TABLE ###### .. _Display-Settings-for-SINGLE-LIST-and-LATEST: Display Settings for “SINGLE”,”LIST” and “LATEST” """"""""""""""""""""""""""""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _general-stdWrap: general\_stdWrap ~~~~~~~~~~~~~~~~ .. container:: table-row Property general\_stdWrap Data type ->stdWrap Description The fields “bodytext”, “short” (subheader) and “links” will be processed by this stdWrap settings. **Example:** :: plugin.tt_news { general_stdWrap > general_stdWrap { parseFunc < tt_content.text.20.parseFunc } } This will clear any given “general\_stdWrap” from default setup, and parse the content from tt\_news through the same parseFunc as normal content like “text” or “text with image”.The handling of the content from RTE depends also on the global settings for the RTE and the RTE- transformations. See section “The Rich-Text-Editor” in this manual. Default .. _excludeLatestFromList: excludeLatestFromList ~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property excludeLatestFromList Data type boolean Description **[deprecated]** use "excludeAlreadyDisplayedNews" Set this to exclude news records shown in “LATEST” from appearing again in a “LIST” on the same page. **Note:** set this only for the page showing the “LIST” element. Otherwise it will affect all lists in your site. Default 0 .. _listStartId: listStartId ~~~~~~~~~~~ .. container:: table-row Property listStartId Data type int+ Description **[deprecated]** use "excludeAlreadyDisplayedNews" Here you can set the number of the news item which will be displayed as first item in lists. This works also with the LATEST template. In combination with “limit” you can create complex combinations of several tt\_news content elements on one page without displaying double news articles. **Example:** This will display a list of 3 news-articles starting from the 5 :sup:`th` record, found in the db. (counting starts at zero) :: plugin.tt_news { listStartId = 4 limit = 3 } Default .. _excludeAlreadyDisplayedNews: excludeAlreadyDisplayedNews ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property excludeAlreadyDisplayedNews Data type boolean Description This option allows you to place multiple news plugins on one page where each plugin itself takes care that no newsarticle is displayed twice. This feature makes the options "excludeLatestFromList" and "listStartId" obsolete. If "excludeAlreadyDisplayedNews" is enabled "excludeLatestFromList" and "listStartId" will be ignored. Default 0 .. _displayArchivedInLatest: displayArchivedInLatest ~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property displayArchivedInLatest Data type boolean Description By setting this to “1” you can display archived news in the “LATEST” template Default 0 .. _listOrderBy: listOrderBy ~~~~~~~~~~~ .. container:: table-row Property listOrderBy Data type string Description Here you can set the “ORDER BY” part of the query for LIST and LATEST view.The special keyword **”random”** will trigger randomized ordering of news in lists. **Use this with care:** The query parts, given from TS are only trimmed and not further validated -> if the field don't exist, you'll get a mysql-error **Example:** this will order the records by title, beginning with Z: :: plugin.tt_news.listOrderBy = title desc This will order the news by random: :: plugin.tt_news.listOrderBy = random **Hint:** if you set “asc” or ”desc” from the tt\_news content-element (flexform) then the “asc/desc” part of listOrderBy will be ignored to prevent a mysql error. Default datetime desc .. _listGroupBy: listGroupBy ~~~~~~~~~~~ .. container:: table-row Property listGroupBy Data type string Description The “GROUP BY” part of the query: if you set “listGroupBy = category”the string “category” is processed in a special way, because the tt\_news\_cat\_mm table is not joined by default. This simulates the “group by category” functionality by joining the mm table to the tt\_news table. (see line 745 in class.tx\_ttnews.php). **Restriction:** This works only correct, if the news records have only one category assigned. **Example:** This will fill the object “lib.newsLatest” with a news content-element that displays only the newest item of each category :: lib.newsLatest < plugin.tt_news lib.newsLatest { code > code = LATEST catImageMode = 0 catTextMode = 1 listOrderBy = title asc listGroupBy = category } Default .. _title-stdWrap: title\_stdWrap ~~~~~~~~~~~~~~ .. container:: table-row Property title\_stdWrap Data type ->stdWrap Description stdWrap for display of the title field. Default .. _author-stdWrap: author\_stdWrap ~~~~~~~~~~~~~~~ .. container:: table-row Property author\_stdWrap Data type ->stdWrap Description stdWrap for display of the author field. Default .. _email-stdWrap: email\_stdWrap ~~~~~~~~~~~~~~ .. container:: table-row Property email\_stdWrap Data type ->stdWrap Description stdWrap for display of the email field. Default .. _subheader-stdWrap: subheader\_stdWrap ~~~~~~~~~~~~~~~~~~ .. container:: table-row Property subheader\_stdWrap Data type ->stdWrap Description stdWrap for display of the news subheader (short). **Example:** :: plugin.tt_news.displayList.subheader_stdWrap { crop = 300 | ... | 1 ifEmpty.field = bodytext } This will crop the subheader after 300 characters and add “...” at the end of the text. (the third parameter for cropping only at the end of a word, works only with TYPO3 >=3.7.0).If the subheader field (short) is empty, the content of the bodytext field is taken instead. subheader\_stdWrap is only active if the subheader is filled to the template marker ###NEWS\_SUBHEADER### and not for the register “newsSubheader”. see section “Registers” in this manual for more information. Default .. _content-stdWrap: content\_stdWrap ~~~~~~~~~~~~~~~~ .. container:: table-row Property content\_stdWrap Data type ->stdWrap Description stdWrap for display of the news content (field: bodytext). Default .. _keywords-stdWrap: keywords\_stdWrap ~~~~~~~~~~~~~~~~~ .. container:: table-row Property keywords\_stdWrap Data type ->stdWrap Description stdWrap for display of the news keywords. This wrap Is only active if the content of the field “keywords” is filled to the Template marker ###NEWS\_KEYWORDS### and not for the register “newsKeywords”. see section “Registers” in this manual for more information. Default .. _links-stdWrap: links\_stdWrap ~~~~~~~~~~~~~~ .. container:: table-row Property links\_stdWrap Data type ->stdWrap Description stdWrap for the complete links section in the SINGLE view Default .. _linksHeader-stdWrap: linksHeader\_stdWrap ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property linksHeader\_stdWrap Data type ->stdWrap Description stdWrap for header of the links section. Default .. _linksItem-stdWrap: linksItem\_stdWrap ~~~~~~~~~~~~~~~~~~ .. container:: table-row Property linksItem\_stdWrap Data type ->stdWrap Description stdWrap for a single link. Default .. _addInfo-stdWrap: addInfo\_stdWrap ~~~~~~~~~~~~~~~~ .. container:: table-row Property addInfo\_stdWrap Data type ->stdWrap Description This stdWrap wraps the complete list of additional data. It is inserted if there is at least one of the following items present: related news, files, links or “related news by category”. Default .. _useBidirectionalRelations: useBidirectionalRelations ~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property useBidirectionalRelations Data type boolean Description If you set a relation between two news-records and you enable this feature you'll see the relation in both records on the website. The relation back from the target-record to the source is inserted automatically. In the BE you won't see the relation. **Example:** :: plugin.tt_news.useBidirectionalRelations = 1 Default .. _usePagesRelations: usePagesRelations ~~~~~~~~~~~~~~~~~ .. container:: table-row Property usePagesRelations Data type boolean Description If you enable this feature you can assign pages as related news. Those “related pages” are handled as news with type set to “link to internal page” so no changes to the TS of the getRelatedCObject are needed. Default .. _related-stdWrap: related\_stdWrap ~~~~~~~~~~~~~~~~ .. container:: table-row Property related\_stdWrap Data type ->stdWrap Description stdWrap for the list of related news. Default .. _relatedHeader-stdWrap: relatedHeader\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property relatedHeader\_stdWrap Data type ->stdWrap Description stdWrap for the header of the “related news” section. Default .. _alwaysShowRelated: alwaysShowRelated ~~~~~~~~~~~~~~~~~ .. container:: table-row Property alwaysShowRelated Data type boolean Description Enable this if you want to show related news in LIST or LATEST, too. In the default setup this option is disabled to make the listview render faster. To see the related news in LIST or LATEST you have to add the markers ###TEXT\_RELATED### and ###NEWS\_RELATED### to your template for the listview. Default .. _getRelatedCObject: getRelatedCObject ~~~~~~~~~~~~~~~~~ .. container:: table-row Property getRelatedCObject Data type COA / ->stdWrap Description Configuration for the related links in “SINGLE” view. The first case (10.default) configures the links to other news. The cases 10.1 and 10.2 configure the links to internal pages and external URLs (news types: article & external URL).You can set an individal wrap for each type of related news. The tmp object “tmp.5” is used to add an icon for each type of linkthe “tmp.20” object is the datetime of the related item which is appended after the link. **Example:** :: plugin.tt_news { ### Settings for Related News: related_stdWrap.wrap = relatedHeader_stdWrap.wrap =
      |
      # icon for related news tmp.5 = IMAGE tmp.5 { file = EXT:tt_news/ext_icon.gif file.width = 11 file.height = 12 wrap = |   } # end-wrap for the getRelated objects tmp.20 = TEXT tmp.20 { field = datetime strftime = %d-%m-%y %H:%M wrap =  -  | } # Build the list of related news: getRelatedCObject = COA getRelatedCObject { # groupBy = orderBy = datetime desc 10 = CASE 10.key.field = type # settings for 'normal' related news 10.default = COA 10.default { wrap =
      |
      5 < plugin.tt_news.tmp.5 10 = TEXT 10.field = title 10.typolink.parameter = {$plugin.tt_news.singlePid} 10.typolink.additionalParams.data = register:newsAddParams 10.typolink.useCacheHash = 1 20 < plugin.tt_news.tmp.20 } # settings for related news, that point to internal pages 10.1 = COA 10.1 { wrap =
      |
      5 < plugin.tt_news.tmp.5 5.file = EXT:tt_news/res/tt_news_article.gif 10 = TEXT 10.field = title 10.typolink.parameter.field = page 20 < plugin.tt_news.tmp.20 } # settings for related news, that point to external URLs 10.2 = COA 10.2 { wrap =
      |
      5 < plugin.tt_news.tmp.5 5.file = EXT:tt_news/res/tt_news_exturl.gif 10 = TEXT 10.field = title 10.typolink.parameter.field = ext_url 20 < plugin.tt_news.tmp.20 } } } Default .. _getRelatedCObject-orderBy: getRelatedCObject.orderBy ~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property getRelatedCObject.orderBy Data type string Description Add an “ORDER BY”-clause to the query that finds the related news. **Example:** :: plugin.tt_news.getRelatedCObject.orderBy = title Default .. _getRelatedCObject-groupBy: getRelatedCObject.groupBy ~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property getRelatedCObject.groupBy Data type string Description Add an “GROUP BY”-clause to the query that finds the related news. **Example:** :: plugin.tt_news.getRelatedCObject.groupBy = type Default .. _noNewsIdMsg-stdWrap: noNewsIdMsg\_stdWrap ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property noNewsIdMsg\_stdWrap Data type ->stdWrap Description stdWrap for the error message that is diplayed when a user enters the single-view page without the GET var &tx\_ttnews[tt\_news]. Default .. _noNewsToListMsg-stdWrap: noNewsToListMsg\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property noNewsToListMsg\_stdWrap Data type ->stdWrap Description stdWrap for the error message that appears if there are no new found to display in the list view. **Example:** :: plugin.tt_news.noNewsToListMsg_stdWrap.wrap =

      |

      Default .. _substitutePagetitle: substitutePagetitle ~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property substitutePagetitle Data type boolean Description if this is set, the pagetitle and the title for the page that is indexed by the indexed\_search are substituted with the title of the news article. (works only in the “SINGLE”-view). **Example:** :: plugin.tt_news.substitutePagetitle = 1 Default .. _showRelatedNewsByCategory: showRelatedNewsByCategory ~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property showRelatedNewsByCategory Data type boolean Description Enable this if you want that the SINGLE view shows a list of news articles with the same category as the current article. If news with the same category are found, they will be rendered as LIST to the marker “###NEWS\_RELATED\_BY\_CATEGORY###”. By default the code LIST causes tt\_news to render the content to the template ###TEMPLATE\_LIST### This can be changed to a userdefined template part which f.e contains only the titles of the records. See section “Related news by category” for an example. Default .. ###### END~OF~TABLE ###### .. _SINGLE-view-with-pagebreaks: SINGLE view with pagebreaks """"""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _useMultiPageSingleView: useMultiPageSingleView ~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property useMultiPageSingleView Data type boolean Description This enables pagebreaks for the SINGLE view or is enabled automaticly when “maxWordsInSingleView” has a value. Pagebreaks are insertedafter a certain amount of words or with the manually inserted “pageBreakToken”'. **Example:** This will enable pagebreaks for the single view if no value for “maxWordsInSingleView” exists. :: plugin.tt_news { useMultiPageSingleView = 1 } Default 0 .. _pageBreakToken: pageBreakToken ~~~~~~~~~~~~~~ .. container:: table-row Property pageBreakToken Data type string Description This will overwrite the default pagebreak token (<---newpage--->) with a different string. **Example:** This sets the pagebreak token to . :: plugin.tt_news { pageBreakToken = } Default <---newpage---> .. _maxWordsInSingleView: maxWordsInSingleView ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property maxWordsInSingleView Data type int+ Description Insert pagebreaks automatically after a given amount of words. Can be configured globally or for a single content element. This can be disabled for news records individually by setting “no automatic pagebreaks for this record” . Default 0 .. _useParagraphAsPagebreak: useParagraphAsPagebreak ~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property useParagraphAsPagebreak Data type boolean Description Here you can configure that pagebreaks will be inserted after a paragraph (an empty line in the bodytext field after pressing enter) instead of inserting them after the first dot after “maxWordsInSingleView” was reached. **Hint:** If you enable this and set “maxWordsInSingleView” to a small value (e.g. 3) a paragraph will function as pagebreak token. Default 0 .. _singleViewPointerName: singleViewPointerName ~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property singleViewPointerName Data type string Description If you want to change the name of the GETvar that is used for the pointer of the pagebrowser in SINGLE view, it's possible to set this name here. **Example:** this will set the pointer in single view to 'page'. :: plugin.tt_news { singleViewPointerName = page } Default sViewPointer .. _subheaderOnAllSViewPages: subheaderOnAllSViewPages ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property subheaderOnAllSViewPages Data type boolean Description By default the subheader is only displayed on the first page of a multipage SINGLE view. If this is not wanted the subheader can be configured to appear on all those pages by setting “subheaderOnAllSViewPages” to 1. Default 0 .. _appendSViewPBtoContent: appendSViewPBtoContent ~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property appendSViewPBtoContent Data type boolean Description The pagebrowser for the SINGLE view can be inserted into the content in two different ways: 1. There is a separate marker for the pagebrowser in SINGLE view: ###NEWS\_SINGLE\_PAGEBROWSER### 2. Alternatively it is possible to simply append the pagebrowser to the bodytext (###NEWS\_CONTENT###) without using a special marker by setting “appendSViewPBtoContent” to 1. **Example:** This will append the pagebrowser to the end of the bodytext :: plugin.tt_news { appendSViewPBtoContent = 1 } Default 0 .. ###### END~OF~TABLE ###### .. _News-Images: News Images """"""""""" .. ### BEGIN~OF~TABLE ### .. _imageCount: imageCount ~~~~~~~~~~ .. container:: table-row Property imageCount Data type int+ Description Number of images from the list of images to display. **Example:** This will supress images in list view. :: plugin.tt_news.displayList.imageCount = 0 Default 1 .. _imageWrapIfAny: imageWrapIfAny ~~~~~~~~~~~~~~ .. container:: table-row Property imageWrapIfAny Data type wrap Description If there is any image code returned, this wraps those images Default .. _image: image ~~~~~ .. container:: table-row Property image Data type ->imgResource ->stdWrap Description Configurates the image(s) in news items. **Example:** :: plugin.tt_news.displayList.image { file.maxW = 120 file.maxH = 90 imageLinkWrap = 1 stdWrap.spaceAfter = 5 } see: `TSref->imgResource `_ Default .. _image-noImage-stdWrap: image.noImage\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property image.noImage\_stdWrap Data type ->stdWrap Description This allows you to set an image which is shown if no image is attached to the news article. **Example:** This will render an image with the text “No image” on it in the LIST view: :: plugin.tt_news.displayList.image.noImage_stdWrap { cObject = IMAGE cObject { wrap = file = GIFBUILDER file { XY = {$plugin.tt_news.listMaxW},{$plugin.tt_news.listMaxH} backColor = #ffffff 10 = TEXT 10 { text = No image fontSize = 14 niceText = 1 fontColor = #000000 offset = {$plugin.tt_news.listMaxW}/2-30, {$plugin.tt_news.listMaxH}/2+4 } } } } Default .. _caption-stdWrap: caption\_stdWrap ~~~~~~~~~~~~~~~~ .. container:: table-row Property caption\_stdWrap Data type ->stdWrap Description stdWrap for display of the image caption(s). Default .. _firstImageIsPreview: firstImageIsPreview ~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property firstImageIsPreview Data type boolean Description If this is set to 1, the first image of a news article is handled as "preview image". This means this image is only displayed in LIST & LATEST view and not in SINGLE view. (if only one image is atached to the news item this parameter does not have any effect). **Example:** :: plugin.tt_news.firstImageIsPreview = 1 Default .. _forceFirstImageIsPreview: forceFirstImageIsPreview ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property forceFirstImageIsPreview Data type boolean Description Works like firstImageIsPreview but always removes the first image from SINGLE view, even if only one image is attached. Default .. ###### END~OF~TABLE ###### .. _News-Files: News Files """""""""" .. ### BEGIN~OF~TABLE ### .. _newsFiles: newsFiles ~~~~~~~~~ .. container:: table-row Property newsFiles Data type -> filelink Description Here you can specify the options for the displaying and linking of files, attached to news items. See: `TSref->filelink `_ **Example:** (default configuration) :: plugin.tt_news { newsFiles_stdWrap.wrap =
      |
      newsFilesHeader_stdWrap.wrap =
      |
      newsFiles { path = uploads/media/ icon = 1 stdWrap.wrap =
      |
      } } Default .. _newsFilesHeader-stdWrap: newsFilesHeader\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property newsFilesHeader\_stdWrap Data type ->stdWrap Description stdWrap for the header of the “attached files” section in your template. Default .. _newsFiles-stdWrap: newsFiles\_stdWrap ~~~~~~~~~~~~~~~~~~ .. container:: table-row Property newsFiles\_stdWrap Data type ->stdWrap Description stdWrap for the list of attached files Default .. ###### END~OF~TABLE ###### .. _Date-Time-wraps: Date & Time wraps """"""""""""""""" .. ### BEGIN~OF~TABLE ### .. _date-stdWrap: date\_stdWrap ~~~~~~~~~~~~~ .. container:: table-row Property date\_stdWrap Data type ->stdWrap Description Here you can set the date formating for the template-marker: ###NEWS\_DATE###. **Example:** :: plugin.tt_news.displayList { date_stdWrap.strftime= %A %d. of %B %Y } This will display the date in news LIST content elements like this: “Sunday 15. of August 2004”. Default .. _time-stdWrap: time\_stdWrap ~~~~~~~~~~~~~ .. container:: table-row Property time\_stdWrap Data type ->stdWrap Description Here you can set the time formating for the template-marker: ###NEWS\_TIME###. **Example:** :: plugin.tt_news.displaySingle { time_stdWrap.strftime = %H:%M } This will display the time in news SINGLE content elements like this: “12:03”. Default .. _age-stdWrap: age\_stdWrap ~~~~~~~~~~~~ .. container:: table-row Property age\_stdWrap Data type ->stdWrap Description stdWrap for display of ages. Instead of the value “1” ( = display default strings for ages) you can also add your own names for minutes, hours, days and years: **Example:** This will change the output of the age in the SINGLE view to german names: :: plugin.tt_news.displaySingle { age_stdWrap.age = Minuten | Stunden | Tage | Jahre } **Note:** More about the stdWrap properties “strftime” and “age” can be found here: `TSref->stdWrap `_ Default 1 .. _textNewsAge-stdWrap: textNewsAge\_stdWrap ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property textNewsAge\_stdWrap Data type ->stdWrap Description stdWrap for the age text: ( “age:”) Default .. ###### END~OF~TABLE ###### .. _Category-Settings: Category Settings """"""""""""""""" .. ### BEGIN~OF~TABLE ### .. _useSubCategories: useSubCategories ~~~~~~~~~~~~~~~~ .. container:: table-row Property useSubCategories Data type boolean Description This enables the use of subcategories for selecting news for display in the FrontEnd. Default .. _displaySubCategories: displaySubCategories ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property displaySubCategories Data type boolean Description This enables the display of subcategories in the FrontEnd. **Example:** :: plugin.tt_news { useSubCategories = 1 displaySubCategories = 1 } Default .. _catExcludeList: catExcludeList ~~~~~~~~~~~~~~ .. container:: table-row Property catExcludeList Data type string Description List of categories that should not be displayed in news articles in LIST, LATEST and SINGLE. Default .. _categoryMode: categoryMode ~~~~~~~~~~~~ .. container:: table-row Property categoryMode Data type int Description Use this, if you want to configure a news conetnt element, inserted by TS to display news by their categories (this value will be overwritten by values set directly in the news content-element). - 2 = Show news which have all selected categories assigned (AND) - 1 = Show news which have at least one of the selected categories assigned (OR) - 0 = Show all. Don't care about category selections - -1 = Show news which not have all of the selected categories assigned (AND) - -2 = Show news which have none of the selected categories assigned (OR) **Example:** :: plugin.tt_news.categoryMode = -1 This will only display news with categories NOT selected in "categorySelection" **Note:** If the GETvar “&tx\_ttnews[cat]=” is present, the selection from GETvars will have priority over the selection made in the content-element or by TS. Default .. _categorySelection: categorySelection ~~~~~~~~~~~~~~~~~ .. container:: table-row Property categorySelection Data type Int+ / list / ->stdWrap Description If you want to display only new with certain categories in a news content element that is inserted by TS, set the selection with “categorySelection”. **Note:** To make this work you'll also have to set the categoryMode to 1 (=show selected) **Example:** :: # this will only show items with category 2 or 3 plugin.tt_news { categorySelection = 2,3 # show only selected categories categoryMode = 1 } “categorySelection” has also stdWrap properties.If you want to get the selected categories f.e. from the “getText” object something like this should work: :: plugin.tt_news { categorySelection.data = register:whatever } Default .. _catImageMode: catImageMode ~~~~~~~~~~~~ .. container:: table-row Property catImageMode Data type int Description Display mode for category images. - 0 – No category images will be displayed - 1 – Category images will be displayed but not linked - 2 – Category images will be displayed and function as shortcut link. - 3 – Category images will be displayed and function as category selector **Example:** :: # don't display any category images plugin.tt_news.catImageMode = 0 Default 2 .. _catTextMode: catTextMode ~~~~~~~~~~~ .. container:: table-row Property catTextMode Data type int Description Display mode for category texts (titles). - 0 – No category texts will be displayed - 1 – Category texts will be displayed but not linked - 2 – Category texts will be displayed and function as shortcut link. - 3 – Category texts will be displayed and function as category selector **Example:** :: # don't display any category titles plugin.tt_news.catTextMode = 0 Default 1 .. _catSelectorTargetPid: catSelectorTargetPid ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property catSelectorTargetPid Data type Int+ Description Set this value to let the links from categories in “catSelector” mode point to another page than the current page (catImageMode or catTextMode = 3). Default .. _latestWithCatSelector: latestWithCatSelector ~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property latestWithCatSelector Data type boolean Description By default, the “LATEST” element is not influenced by the selection made with the catselector. If you want to allow this, set this var to 1. **Example:** :: plugin.tt_news.latestWithCatSelector=1 Default .. _amenuWithCatSelector: amenuWithCatSelector ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property amenuWithCatSelector Data type boolean Description The same as above for the “AMENU” element. Default .. _category-stdWrap: category\_stdWrap ~~~~~~~~~~~~~~~~~ .. container:: table-row Property category\_stdWrap Data type ->stdWrap Description stdWrap for the complete category section. Default .. _categoryTitles-stdWrap: categoryTitles\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property categoryTitles\_stdWrap Data type ->stdWrap Description stdWrap for all category titles. Default .. _categoryImages-stdWrap: categoryImages\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property categoryImages\_stdWrap Data type ->stdWrap Description stdWrap for all category images. Default .. _categoryTitleItem-stdWrap: categoryTitleItem\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property categoryTitleItem\_stdWrap Data type ->stdWrap Description stdWrap for a single category title. Default .. _subCategoryTitleItem-stdWrap: subCategoryTitleItem\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property subCategoryTitleItem\_stdWrap Data type ->stdWrap Description stdWrap for a single subcategory title. **Example:** :: plugin.tt_news { displayList { subCategoryImgItem_stdWrap.wrap = | subCategoryTitleItem_stdWrap.wrap = | } } Default .. _categoryImgItem-stdWrap: categoryImgItem\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property categoryImgItem\_stdWrap Data type ->stdWrap Description stdWrap for a single category image. Default .. _subCategoryImgItem-stdWrap: subCategoryImgItem\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property subCategoryImgItem\_stdWrap Data type ->stdWrap Description stdWrap for a single subcategory image. Default .. _catImageMaxWidth: catImageMaxWidth ~~~~~~~~~~~~~~~~ .. container:: table-row Property catImageMaxWidth Data type int+ Description Maximum width of category images. Default 20 .. _catImageMaxHeight: catImageMaxHeight ~~~~~~~~~~~~~~~~~ .. container:: table-row Property catImageMaxHeight Data type int+ Description Maximum height of category images. Default 20 .. _catTextLength: catTextLength ~~~~~~~~~~~~~ .. container:: table-row Property catTextLength Data type int+ Description Maximum length in characters of all category titles. **Note:** This var makes only sense, when using the catTextMode 1 (= display but don't link). If the category title is linked, the chars of the html code are counted also and the cropping causes broken HTML. Default .. _maxCatImages: maxCatImages ~~~~~~~~~~~~ .. container:: table-row Property maxCatImages Data type int+ Description Maximum number of displayed category images. Default .. _maxCatTexts: maxCatTexts ~~~~~~~~~~~ .. container:: table-row Property maxCatTexts Data type int+ Description Maximum number of displayed category texts. Default .. _catOrderBy: catOrderBy ~~~~~~~~~~ .. container:: table-row Property catOrderBy Data type string Description By default categories that are assigned to a news-record are displayed on the website in the same order as they are ordered in the category field in the tt\_news db-record. If you want to change this, you can set “catOrderBy” to f.e. “title” to order the categories alphabetically. The ordering of categories in the CATMENU content element is influenced by this parameter, too, but it's of course (who wonders? ;-)) possible to set the ordering of categories in the catmenu different from the ordering in LIST, LATEST or SINGLE (see Example 2). **Example:** :: # this will order the categories in news articles and in the CATMENU alphabetically plugin.tt_news { catOrderBy = title } **Example 2:** :: plugin.tt_news { # order categories in LIST by uid displayList.catOrderBy = uid # order categories in SINGLE and CATMENU by title displaySingle.catOrderBy = title displayCatMenu.catOrderBy = title } **Note:** The value you insert here is only trimmed and not further validated. If you enter a field that does not exist in the tt\_news table, you'll get a MySQL error. Default .. _useSPidFromCategory: useSPidFromCategory ~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property useSPidFromCategory Data type boolean Description Here you can enable the use of the singlePid which is configured in the category record. Default 0 .. _categoryDivider: categoryDivider ~~~~~~~~~~~~~~~ .. container:: table-row Property categoryDivider Data type string Description The value inserted here appears between the category titles which are shown in news records. Default , .. _categoryDivider-stdWrap: categoryDivider\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property categoryDivider\_stdWrap Data type ->stdWrap Description This is the stdWrap for the categoryDivider. Since it is not possible to insert a space with a string value in TypoScript this wrap is used to insert the space after the comma in the default setup. **Example:** :: # This is the default setup plugin.tt_news { categoryDivider = , categoryDivider_stdWrap.noTrimWrap = || | } Default .. ###### END~OF~TABLE ###### .. _Settings-for-the-CATMENU-displayCatMenu-options: Settings for the CATMENU -> displayCatMenu.[options] """""""""""""""""""""""""""""""""""""""""""""""""""" This is the configuration array for the content element “CATMENU”. All settings here start with “displayCatMenu.” .. ### BEGIN~OF~TABLE ### .. _mode: mode ~~~~ .. container:: table-row Property mode Data type string Description The “render mode” for the catmenu. Currently the following modes are supported: - **tree** (default): The category menu will be rendered like the categories in BE fields. The shown “tree” is build by images and can show userdefinded icons. - **nestedWraps** : This mode will render a category menu where each level has its onwn wrap. **Example:** :: plugin.tt_news { displayCatMenu { mode = nestedWraps } } Default tree .. _excludeList: excludeList ~~~~~~~~~~~ .. container:: table-row Property excludeList Data type string Description Uid (or comma seperated list of uids) of the categories which should not appear in the category menu Default .. _includeList: includeList ~~~~~~~~~~~ .. container:: table-row Property includeList Data type string Description Uid (or comma seperated list of uids) of the categories which should be shown in the category menu. **Example:** :: plugin.tt_news { displayCatMenu.excludeList = displayCatMenu.includeList = **}** Default .. _catmenuIconMode: catmenuIconMode ~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuIconMode Data type int Description The “catmenuIconMode” defines how icons in the catmenu will be displayed: - -1 = display no icons at all - 0 = display the default icon (tt\_news\_cat.gif) - 1 = display image from category record as icon - 2 = display the icon which is configured as “catmenuIconFile” (default: EXT:tt\_news/res/arrow.gif) Default 0 .. _catmenuIconPath: catmenuIconPath ~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuIconPath Data type string Description The icon files will be prepended by this path Default .. _catmenuIconFile: catmenuIconFile ~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuIconFile Data type imgResource Description This configures the userdefined icons in “catmenuIconMode” set to 1 or 2 **Example:** :: plugin.tt_news { displayCatMenu { catmenuIconMode = 2 catmenuIconFile = EXT:tt_news/res/arrow.gif catmenuIconFile { width = 18 height = 16 } } } For “catmenuIconMode” 1 no file is needed only width and height Default .. _insertDescrAsTitle: insertDescrAsTitle ~~~~~~~~~~~~~~~~~~ .. container:: table-row Property insertDescrAsTitle Data type boolean Description If this is enabled the content of the field “description” from the category db-record will be inserted as “alt” and “title” attributes to the catselector links. Default 1 .. _catmenuNoRootIcon: catmenuNoRootIcon ~~~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuNoRootIcon Data type boolean Description disables the “root” icon in mode“tree”. Default 1 .. _catmenuRootIconFile: catmenuRootIconFile ~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuRootIconFile Data type imgResource Description Imagefile for the root icon (see “catmenuIconFile”) Default .. _catmenu-stdWrap: catmenu\_stdWrap ~~~~~~~~~~~~~~~~ .. container:: table-row Property catmenu\_stdWrap Data type ->stdWrap Description stdWrap for the complete CATMENU. **Example:** :: plugin.tt_news { displayCatMenu { catmenu_stdWrap.wrap =
      |
      } } Default .. _catmenuHeader-stdWrap: catmenuHeader\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuHeader\_stdWrap Data type ->stdWrap Description stdWrap for the header of the CATMENU. **Example:** :: plugin.tt_news { displayCatMenu { catmenuHeader_stdWrap.wrap =

      |

      } } Default .. _catmenuItem-ACT-stdWrap: catmenuItem\_ACT\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuItem\_ACT\_stdWrap Data type ->stdWrap Description stdWrap for an active link in the CATMENU. **Example:** :: plugin.tt_news { displayCatMenu { catmenuItem_ACT_stdWrap.wrap = | catmenuItem_NO_stdWrap.wrap = | } } Default .. _catmenuItem-NO-stdWrap: catmenuItem\_NO\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuItem\_NO\_stdWrap Data type ->stdWrap Description stdWrap for a normal link in the CATMENU. Default .. _catmenuLevel-stdWrap: catmenuLevel[#]\_stdWrap ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property catmenuLevel[#]\_stdWrap Data type ->stdWrap Description stdWrap for a certain level in the CATMENU in mode “nestedWraps”. Substitute “[#]” with the number of the level (1 is first level). **Example:** :: plugin.tt_news { displayCatMenu { catmenuLevel1_stdWrap.wrap =
      |
      catmenuLevel2_stdWrap.wrap =
      |
      catmenuLevel3_stdWrap.wrap =
      |
      catmenuLevel4_stdWrap.wrap =
      |
      catmenuLevel5_stdWrap.wrap =
      |
      } } Default .. ###### END~OF~TABLE ###### .. _Settings-for-the-catRootline-catRootline-options: Settings for the catRootline -> catRootline.[options] """"""""""""""""""""""""""""""""""""""""""""""""""""" The category rootline is rendered to the template marker ###NEWS\_CATEGORY\_ROOTLINE###. All settings here start with “catRootline.” .. ### BEGIN~OF~TABLE ### .. _showCatRootline: showCatRootline ~~~~~~~~~~~~~~~ .. container:: table-row Property showCatRootline Data type boolean Description If this is enabled tt\_news will show the category rootline Default 0 .. _catRootline-stdWrap: catRootline\_stdWrap ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property catRootline\_stdWrap Data type ->stdWrap Description StdWrap for the complete category rootline. **Example:** :: plugin.tt_news { # settings for the category rootline catRootline { showCatRootline = 1 catRootline_stdWrap.wrap =
      |
      # if titles are linked the link points to the page which is configured as category shortcut linkTitles = 1 title_stdWrap.wrap = divider =  >  } } Default .. _linkTitles: linkTitles ~~~~~~~~~~ .. container:: table-row Property linkTitles Data type boolean Description Switch which configures if categories are linked or not. Default 1 .. _title-stdWrap: title\_stdWrap ~~~~~~~~~~~~~~ .. container:: table-row Property title\_stdWrap Data type ->stdWrap Description stdWrap for a single category title in the category rootline Default .. _divider: divider ~~~~~~~ .. container:: table-row Property divider Data type string Description This string is inserted between the category titles in the category rootline Default .. ###### END~OF~TABLE ###### .. _Display-Settings-for-XML: Display Settings for “XML” """""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _rss091-tmplFile: rss091\_tmplFile ~~~~~~~~~~~~~~~~ .. container:: table-row Property rss091\_tmplFile Data type resource Description XML template for RSS 0.91 feed Default .. _rss2-tmplFile: rss2\_tmplFile ~~~~~~~~~~~~~~ .. container:: table-row Property rss2\_tmplFile Data type resource Description XML template for RSS 2.0 feed Default .. _atom03-tmplFile: atom03\_tmplFile ~~~~~~~~~~~~~~~~ .. container:: table-row Property atom03\_tmplFile Data type resource Description XML template for Atom 0.3 feed Default .. _atom1-tmplFile: atom1\_tmplFile ~~~~~~~~~~~~~~~ .. container:: table-row Property atom1\_tmplFile Data type resource Description XML template for Atom 1.0 feed Default .. _rdf-tmplFile: rdf\_tmplFile ~~~~~~~~~~~~~ .. container:: table-row Property rdf\_tmplFile Data type resource Description XML template for RDF feed Default .. _xmlFormat: xmlFormat ~~~~~~~~~ .. container:: table-row Property xmlFormat Data type string Description Defines the format of the news feed. Possible values are: rss091, rss2, rdf, atom03 and atom1 Default rss2 .. _xmlTitle: xmlTitle ~~~~~~~~ .. container:: table-row Property xmlTitle Data type string Description The title of your news feed. (required for rss091, rss2, rdf, atom03, atom1) Default .. _xmlLink: xmlLink ~~~~~~~ .. container:: table-row Property xmlLink Data type string Description The link to your hompage. (required for rss091, rss2, rdf, atom03, recommended for atom1) Default .. _xmlDesc: xmlDesc ~~~~~~~ .. container:: table-row Property xmlDesc Data type string Description The description of your news feed. (required for rss091, rss2, rdf, optional for atom03, optional for atom1) Default .. _xmlLang: xmlLang ~~~~~~~ .. container:: table-row Property xmlLang Data type string Description Your site's language. A list of allowable is available at `http://backend.userland.com/stories/storyReader$16 `_ (required for rss091, optional for rss2, recommended for atom03, not available for rdf and atom1) Default en .. _xmlIcon: xmlIcon ~~~~~~~ .. container:: table-row Property xmlIcon Data type string Description Provide an icon for your news feed with preferred size of 16x16 px, can be gif, jpeg or png. (required for rss091, optional for rss2 and rdf, not available for atom03 and atom1) **Example:** :: plugin.tt_news.displayXML { xmlIcon = fileadmin/images/feedicon.gif } Default .. _xmlCopyright: xmlCopyright ~~~~~~~~~~~~ .. container:: table-row Property xmlCopyright Data type string Description Copyright notice for content in the channel. Maximum length is 100 (optional for rss091, rss2, atom03, atom1, not available for rdf) Default .. _xmlManagingEditor: xmlManagingEditor ~~~~~~~~~~~~~~~~~ .. container:: table-row Property xmlManagingEditor Data type string Description The email address of the managing editor of the channel, the person to contact for editorial inquiries. Maximum length is 100. (optional for rss091, rss2, not available for rdf, atom03 and atom1) Default .. _xmlWebMaster: xmlWebMaster ~~~~~~~~~~~~ .. container:: table-row Property xmlWebMaster Data type string Description The email address of the webmaster for the channel, the person to contact if there are technical problems. Maximum length is 100. (optional for rss091, rss2, not available for rdf, atom03 and atom1) Default .. _xmlLastBuildDate: xmlLastBuildDate ~~~~~~~~~~~~~~~~ .. container:: table-row Property xmlLastBuildDate Data type boolean Description The last time the content of the channel changed. (when the latest news was added) (optional for rss091, rss2, required for atom03 and atom1, not available for rdf) Default 1 .. _xmlLimit: xmlLimit ~~~~~~~~ .. container:: table-row Property xmlLimit Data type int+ Description Limit for news records in the RSS/XML feed **Example:** :: plugin.tt_news.displayXML { xmlLimit = 10 } Default 10 .. _xmlCaching: xmlCaching ~~~~~~~~~~ .. container:: table-row Property xmlCaching Data type boolean Description Allow caching for the RSS/XML feed Default 1 .. _dontInsertSiteUrl: dontInsertSiteUrl ~~~~~~~~~~~~~~~~~ .. container:: table-row Property dontInsertSiteUrl Data type boolean Description If set, the links in the XML feeds are not preprended with the siteUrl. Default 0 .. _: :: ~~ .. container:: table-row Property :: xmlDeclaration Data type string Description In XML-feeds from tt\_news the template marker ###XML\_DECLARATION### will be substituted with this string: :: The “encoding” attribue will be substituted with the globally configured charset (config.metaCharset). If you if you want to override the default xml-declaration with a given string, you can do this by setting an own xmlDeclaration. **Example:** :: plugin.tt_news.displayXML { xmlDeclaration = } Default .. ###### END~OF~TABLE ###### .. _Language-settings: Language settings """"""""""""""""" .. ### BEGIN~OF~TABLE ### .. _sys-language-mode: sys\_language\_mode ~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property sys\_language\_mode Data type string Description This configures how not-translated new-records are handled. possible values: “strict”. (if a value for “page.config.sys\_language\_mode” is given and “plugin.tt\_news.sys\_language\_mode” is empty, tt\_news will take this value) Default is to display the record in the default language (sys\_language\_uid=0) if there is no translation available. Setting the “sys\_language\_mode” to “strict” will only display records in the choosen language. **Example:** :: plugin.tt_news.sys_language_mode = strict see: `TSref->CONFIG `_ -> search: “sys\_language\_mode” Default .. _showNewsWithoutDefaultTranslation: showNewsWithoutDefaultTranslation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property showNewsWithoutDefaultTranslation Data type boolean Description If you have a website with two languages (english = default, german = 1) than the default is not to show news in the german translation that have no parent in the default language. With the the option “showNewsWithoutDefaultTranslation” it is possible to disable this behaviour. Default 0 .. _showLangLabels: showLangLabels ~~~~~~~~~~~~~~ .. container:: table-row Property showLangLabels Data type Description Display language labels and/or flags in news articles. The language labels are inserted in the html-template with the marker ###NEWS\_LANGUAGE### . **Example:** :: plugin.tt_news { showLangLabels = 0 showFlags = 1 flagImage { file.maxW = 16 } } Default 0 .. _showFlags: showFlags ~~~~~~~~~ .. container:: table-row Property showFlags Data type boolean Description Display flag Image. Default 0 .. _flagPath: flagPath ~~~~~~~~ .. container:: table-row Property flagPath Data type string Description Path to the flag-images. If this is empty, the flags from “typo3/gfx/flags/” are taken Default .. _flagImage: flagImage ~~~~~~~~~ .. container:: table-row Property flagImage Data type -> IMAGE Description Flag image configuration array. Default .. ###### END~OF~TABLE ###### .. _Other-Settings: Other Settings """""""""""""" .. ### BEGIN~OF~TABLE ### .. _defaultCode: defaultCode ~~~~~~~~~~~ .. container:: table-row Property defaultCode Data type string Description If “code” (see above) is empty the value of defaultCode is taken instead. By default it's not set and a help screen will appear if “code” is also empty. By setting this parameter you can also define a different template part for displaying news-records with the “insert records” content element. **Example:** This will render records in the “insert records” content element with the LIST template (default is: SINGLE\_RECORD\_INSERT). :: plugin.tt_news.defaultCode = LIST Default .. _displayCurrentRecord: displayCurrentRecord ~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property displayCurrentRecord Data type boolean Description If set, certain settings are manipulated in order to let the script render one or more single items as an "insert records" content- element. You can change between the SINGLE and the LIST view to display the items by setting the "defaultCode". The default template for this is a slightly changed version of the SINGLE template called "TEMPLATE\_SINGLE\_RECORDINSERT". Default .. _itemMarkerArrayFunc: itemMarkerArrayFunc ~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property itemMarkerArrayFunc Data type string Description If this is set to a valid function name, the marker array from class tx\_ttnews is processed by a user-defined function.See file: “res/example\_itemMarkerArrayFunc.php” for description and needed TS setup. Default .. _newsAmenuUserFunc: newsAmenuUserFunc ~~~~~~~~~~~~~~~~~ .. container:: table-row Property newsAmenuUserFunc Data type string Description If this is set to a valid function name, the archive menu items are processed by a user function.See file: “res/example\_amenuUserFunc.php” for an example of how to divide the Archive menu to years by a user function. Default .. _imageMarkerFunc: imageMarkerFunc ~~~~~~~~~~~~~~~ .. container:: table-row Property imageMarkerFunc Data type string Description Use this to process the image markers with your own userfunction. See file: “res/example\_imageMarkerFunc.php” for an example, that wraps the images for the news single view in different wraps. -> useful for positioning the images by CSS. Default .. _userPageBrowserFunc: userPageBrowserFunc ~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property userPageBrowserFunc Data type string Description With this userfunction you can substitute the build-in pagebrowser from tt\_news with your own script. See file: “res/example\_userPageBrowserFunc.php” for examples. Default .. _LOCAL-LANG: \_LOCAL\_LANG ~~~~~~~~~~~~~ .. container:: table-row Property \_LOCAL\_LANG Data type string Description Here you can overwrite values from the language file. See ext/tt\_news/pi/locallang.xml for a list of all translated words. **Example:** :: plugin.tt_news { _LOCAL_LANG.de { latestHeader = Das Allerneuste vom Neuen! more = [weiterlesen...] pi_list_browseresults_displays = Sie sehen Artikel ###SPAN_BEGIN###%s bis %s von ###SPAN_BEGIN### %s } } Default .. _CSS-DEFAULT-STYLE: \_CSS\_DEFAULT\_STYLE ~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property \_CSS\_DEFAULT\_STYLE Data type string Description Default CSS-styles for tt\_news. **Example:** :: plugin.tt_news { _CSS_DEFAULT_STYLE ( /* example styles for the pagebrowser*/ .tx-ttnews-browsebox TD { font-size: 10px; } .tx-ttnews-browsebox-strong, .tx-ttnews-browsebox-SCell { font-weight: bold; } .tx-ttnews-browsebox-SCell { background-color: #EEE; } ) } Default .. ###### END~OF~TABLE ###### .. _FAQ: FAQ """ **Q:** There are 3 ways (constants, setup and flexforms) to set a value for the e.g. “SINGLE view” page. If I set all 3, which will win? **A:** The flexform value from the tt\_news content element will override values from TypoScript. In TS values set directly in the setup field will override values from the constant editor.To see the current TS settings for a page, click on “Template” in the “Web” menu, choose this page in the pagetree, and open the “TypoScript Object Browser” on this page. (See screenshot at the beginning of this chapter). .. _TypoScript-Examples: TypoScript Examples: ^^^^^^^^^^^^^^^^^^^^ .. _generated: ((generated)) """"""""""""" .. _Insert-a-news-LATEST-element-in-the-left-column-so-that-it-is-visible-on-all-pages: **Insert a news LATEST element in the left column, so that it is visible on all pages:** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :: ### News LATEST in left column lib.newsLatest < plugin.tt_news lib.newsLatest { code > code = LATEST pid_list > pid_list = 2,3 # the pids of the pages where your news are stored catImageMode = 0 catTextMode = 0 } # add tmp to page Object page.subparts.NEWSLATEST < lib.newsLatest If you don't use subparts in your TS, you can use something like this to insert "tmp.newsLatest" to your page object: :: page.10.43 < lib.newsLatest .. _Render-news-articles-with-graphical-header-in-SINGLE-view: Render news-articles with graphical header in SINGLE view: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :: ### SINGLE news with graphical header plugin.tt_news { displaySingle { title_stdWrap.cObject = IMAGE title_stdWrap.cObject.file = GIFBUILDER title_stdWrap.cObject.file { XY = [10.w]+2,30 backColor = #FFFFFF 10 = TEXT 10.text.field = title 10.text.case = upper 10.fontSize = 18 10.fontFile = t3lib/fonts/verdana.ttf 10.fontColor = #769400 10.offset = 1,20 10.antiAlias = 0 10.niceText = 1 } } } .. _The-Category-Selector: The Category-Selector ~~~~~~~~~~~~~~~~~~~~~ **[depreciated]** Since tt\_news 2.2.0 the category selector is a normal content element: CATMENU. So take this as a general TS example – maybe useful for other purposes. This will insert a simple list of all tt\_news categories from configurable folders to the left content-column. Clicking on a category link will display only news with the selected category. (highlights the current category) :: ### news Category Selector page.10.subparts.left_content > page.10.subparts.left_content = CONTENT page.10.subparts.left_content { table = tt_news_cat select { # the category folder(s) pidInList = 124 } renderObj = COA renderObj.wrap =
      |
      renderObj { 10 = TEXT 10.field = uid 10.dataWrap = 10.insertData = 1 20 = TEXT 20 { field = title wrap = | if { value.field = uid equals.data = GPvar:tx_ttnews|cat } } 21 = TEXT 21 { field = title wrap = | if { value.field = uid equals.data = GPvar:tx_ttnews|cat negate = 1 } } 30 = TEXT 30.value =
      } } .. _Default-news-id: Default news id ~~~~~~~~~~~~~~~ Insert the following lines to the setup field of an ext-template at the page where you want to display the latest news item in SINGLE view if no SINGLE view for another record was requested: :: # hide the "no news id" message plugin.tt_news._LOCAL_LANG.default.noNewsIdMsg =   # set the tt_news singlePid to the current page plugin.tt_news.singlePid = 977 # fill the content of the main-column to a tmp.object tmp.pagecontent < page.10.subparts.contentarea # clear the content of the main column page.10.subparts.contentarea > # build a new object for this column as content-object-array page.10.subparts.contentarea = COA page.10.subparts.contentarea { 10 = CONTENT 10.table = tt_news 10.select { # insert the pids of all pages from where you want to fetch news. # the recursive-field has no influence on this selection pidInList = 1078,1079,1080,1081,1082,1083,1084 orderBy = datetime desc max = 1 } # insert the object “10.” only if there is no SINGLE news selected 10.stdWrap.if.isFalse.data = GPvar:tx_ttnews|tt_news # re-insert the normal pagecontent to the page 20 < tmp.pagecontent } The page in this example contains 2 columns. The news LIST is located in the left column. the main column (page.10.subparts.contentarea) contains a SINGLE news content-element. .. _LIST-and-SINGLE-at-the-same-page: LIST and SINGLE at the same page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ With a small TypoScript condition it's possible to show the news SINGLE view at the same page where the LIST is. This has some advantages for realUrl links: Insert this to the setup field: :: # clear the code field plugin.tt_news.code > plugin.tt_news.code = LIST # prevent indexing of the LIST view config.index_enable = 0 [globalVar = GP:tx_ttnews|tt_news > 0] # set code to SINGLE if the GETvar tx_ttnews[tt_news] exists plugin.tt_news.code = SINGLE # enable indexing of the SINGLE view config.index_enable = 1 [global] # clear main content in page object page.10.subparts.content > # load tt_news as content to the page object page.10.subparts.content < plugin.tt_news .. _How-to-get-rid-of-the-p-class-bodytext-wrap: How to get rid of the

      wrap ? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Add one of the following lines to your TS-Setup field: :: # this will remove the complete

      tag from all news content elements plugin.tt_news { general_stdWrap { parseFunc.nonTypoTagStdWrap.encapsLines.nonWrappedTag > } } # this will remove the complete

      tag from ALL content elements lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.nonWrappedTag > # This will remove the

      wrap from subheader, author and links plugin.tt_news { # unset general_stdWrap general_stdWrap > displayList { # add a wrap to the subheader subheader_stdWrap.wrap =

      |

      } displaySingle { # add parseFunc to the subheader subheader_stdWrap.parseFunc < lib.parseFunc_RTE # prevent adding of

      tags subheader_stdWrap.parseFunc.nonTypoTagStdWrap.encapsLines.nonWrappedTag > # add parseFunc to the bodytext content_stdWrap.parseFunc < lib.parseFunc_RTE # add parseFunc to the links field linksItem_stdWrap.parseFunc < lib.parseFunc_RTE # prevent adding of

      tags linksItem_stdWrap.parseFunc.nonTypoTagStdWrap.encapsLines.nonWrappedTag > } } .. _Registers: Registers ^^^^^^^^^ Registers can be considered as a clipboard which is in this case used to traverse values from the tt\_news class to the TypoScript setup. .. ### BEGIN~OF~TABLE ### .. _newsMoreLink: newsMoreLink """""""""""" .. container:: table-row Name newsMoreLink Description This register is filled with the html-string for the more-link example: :: more .. _newsCategoryUid: newsCategoryUid """"""""""""""" .. container:: table-row Name newsCategoryUid Description This register holds the Uid of the category of the current news record. if there is more than on category assigned, the uid of that one is choosen that is first in the list of categories of the news record. .. _newsKeywords: newsKeywords """""""""""" .. container:: table-row Name newsKeywords Description This register is filled with the value of the field “Keywords”. .. _newsSubheader: newsSubheader """"""""""""" .. container:: table-row Name newsSubheader Description This register is filled with the value of the field “Subheader” (short). .. ###### END~OF~TABLE ###### .. _generated: ((generated)) """"""""""""" .. _Alternative-more-Link: Alternative ”more”-Link ~~~~~~~~~~~~~~~~~~~~~~~ If you want the “more”-link to appear inside the wrap of the subheader, you can use the stdWrap-function “append” to wrap the content of the register “newsMoreLink” to the subheader. Now the “more”-link should appear in the same line (and the same

      tag) as the subheader. **Example:** :: plugin.tt_news.displayList.subheader_stdWrap { append = TEXT append.data = register:newsMoreLink append.wrap = | } .. _Conditional-more-Link: Conditional ”more”-Link ~~~~~~~~~~~~~~~~~~~~~~~ With one more line of Typoscript the alternative “more” link can be made conditional – means: it will show up when the field “bodytext” contains something. **Example:** :: plugin.tt_news.displayList.subheader_stdWrap { append = TEXT append.data = register:newsMoreLink append.wrap = | append.if.isTrue.field = bodytext } .. _Different-wraps-by-category: Different wraps by category ~~~~~~~~~~~~~~~~~~~~~~~~~~~ A register named “newsCategoryUid” is filled from the script with the uid of the first assigned category. You can access this register by TS to generate different wraps for different categories. **Example:** :: plugin.tt_news.displayList { title_stdWrap.wrap =

      |
      title_stdWrap.insertData=1 } You need a css-class for each category that contains the uid of the category in its name. for example: :: .news-list-title-4 { background-color: #090;} .. _Adding-dynamic-Metatags-in-SINGLE-view: Adding dynamic Metatags in SINGLE view ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The registers “newsKeywords” and “newsSubheader” can be used to fill values from the news record to the tags of the page with the SINGLE view on it. They are not filled in LIST and LATEST view. **Example:** This example assumes, that you've installed the extension “Meta tags extended” (extKey: metatags). The output of the extension is added to the “page” object as “headerData.999” (extension default). :: page.headerData.999 { local > local { description.data = register:newsSubheader keywords.data = register:newsKeywords } } .. _RealUrl-and-SimulateStaticDocuments: RealUrl and SimulateStaticDocuments ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Since tt\_news only uses standard "typolink" functions to build its links, it works with “simulateStaticDocuments” and “RealUrl”. A RealUrl configuration example is included. See file: EXT:tt\_news/res/realUrl\_example\_setup.txtCopy the contents of this file to your /typo3conf/localconf.php. See comments in file for needed changes. The only thing which is needed change should be the id of the rootpage. For detailed information about the configuration of this extension see the “ `realUrl manual `_ ”. tt\_news offers several ways to optimize RealUrls that include tt\_news parameters. By default all links to a news single view will contain all GETvars that are needed to build the “back to List”-link. In case a link points from a LIST showing an archive period to the SINGLE view its realUrl would look like this: http://www.example.com/news/archive/period/1112313600/2681999/archived /article/newstitle/ Which means: [domain name]/[pagetitle]/[pagetitle]/[label for archive vars]/[period start in unixtime]/[period length in seconds]/[tx\_ttnews[arc]]/[label for news title]/[title of the news record] This shows two problems at once: a) Something like “1112313600” can not be considered as “speaking Url”. For almost all humans it is not obvious that this means: April 1 :sup:`st` 2005. b) If the news article is shown in more than one list, there will be different SINGLE views with different backPid parameters. There will be multiple instances of the article in the page cache too, which will f.e. produce multiple search results for the same article in indexed search. RealUrl will detect these duplicates and will disable caching what will slow down the site. Both problems can be solved by adding this to your TS setup: :: plugin.tt_news { dontUseBackPid = 1 useHRDates = 1 } “dontUseBackPid” will prevent the backPid and all other backPid- related parameters in links from tt\_news. The disadvantage of this feature is, that now the backPids from all SINGLE views will point to the same page – the one that is configured as “plugin.tt\_news.backPid”. “useHRDates” will enable tt\_news to use “year” and “month” instead of “pS”. “pL” and “arc”. Now the URL from above should look like this: http://www.example.com/news/article/newstitle/ With the monthnames and numbers as key-value pairs in the realUrl configuration, Urls with “speaking archive dates” are possible (see example realUrl configuration file). Links, pointing to archive periods would look like this: `http://www.example.com/news/2005/april/ `_ With two additional parameters tt\_news can be configured to add the values for “year”, “month” and even the “day” to the links pointing to the SINGLE view. “useHRDatesSingle” will enable the use of all three vars, “useHRDatesSingleWithoutDay” will add only “year” and “month” to this links. Example: :: plugin.tt_news { useHRDates = 1 useHRDatesSingle = 1 useHRDatesSingleWithoutDay = 1 } The table shows with which configuration links would look how: .. ### BEGIN~OF~TABLE ### .. _LIST-LATEST: LIST/LATEST """"""""""" .. container:: table-row code LIST/LATEST useHRDatesSingle http://www.example.com/news/ useHRDatesSingleWithoutDay http://www.example.com/news/ .. _AMENU: AMENU """"" .. container:: table-row code AMENU useHRDatesSingle http://www.example.com/news/view/2005/04/ useHRDatesSingleWithoutDay http://www.example.com/news/view/2005/04/ .. _SINGLE: SINGLE """""" .. container:: table-row code SINGLE useHRDatesSingle http://www.example.com/news/view/2005/04/12/this-is-awesome/ useHRDatesSingleWithoutDay http://www.example.com/news/view/2005/04/this-is-awesome/ .. ###### END~OF~TABLE ###### ("view" is the name of the realUrl postVarSet for tt\_news) The table shows all views at the same page (news/). This is possible with a bit TypoScript which is explained in the section “TypoScript Examples” in this manual. **SimulateStaticDocuments** This feature is not so sophisticated as realUrl and therefore a bit easier to configure - you'll only have to add the lines below to your TS setup. With SimulateStaticDocuments the URLs of your site will look like this: http://server.com/news/newstitle+M5aj89345.0.html To get rid of the GET parameters from tt\_news showing in the adressbar of your browser, you can add them to the pEnc\_onlyP list (see example): .. _generated: ((generated)) """"""""""""" .. _Example: Example: ~~~~~~~~ :: config { simulateStaticDocuments=1 simulateStaticDocuments_pEnc=md5 # displays 22 chars of the page title simulateStaticDocuments_addTitle=22 # include the GET parameters from tt_news to the encoded vars (all in one line) simulateStaticDocuments_pEnc_onlyP = cHash, L, print, tx_ttnews[backPid], tx_ttnews[tt_news], tx_ttnews[pS], tx_ttnews[pL], tx_ttnews[arc], tx_ttnews[cat], tx_ttnews[pointer], tx_ttnews[swords] } More information: `Tsref->CONFIG `_ .. _Date-and-Time-formats: Date and Time formats ^^^^^^^^^^^^^^^^^^^^^ The display of date and time values in the FrontEnd depends on the environment where TYPO3 is installed. tt\_news uses the global language-settings from PHP and then it formats the date and time values with the stdWrap function "strftime". (see: `http://www.php.net/manual/en/function.strftime.php `_ ) The defaults for formating of the date and time strings are configured in the TS-setup of tt\_news. **Notice:** if you have one of the **ts\_language\_xx** extensions installed and configured as default language, these extension will override the default settings for the tt\_news time formating.The language specific TS settings for several extensions can be found in the file "ext\_typoscript\_setup.txt" in the (ts\_language-) extensions install directory (e.g. "typo3/ext/ts\_language\_de/ext\_typoscript\_setup.txt" for the german settings). |img-65| These settings are again overridden by settings you make in your main TS template or in some "+ext" templates located in pages below the main template. If you look in the "template analyzer" you see the loading order of the TS-settings. The values in the template at the end of the list will override previous settings): |img-66| To view or change the settings for a page, click on “Template” in the “Web” menu, choose this page in the pagetree, and open the “TypoScript Object Browser” on this page. (See screenshot at the beginning of the section “Configuration”). .. _generated: ((generated)) """"""""""""" .. _Examples: Examples: ~~~~~~~~~ Your site is a "one-language-site" and you configured the site- language as default language of TYPO3. If you have a ts\_language\_xx extension installed, to set some country specific settings for other extensions, I suggest to copy the part which refers to tt\_news in your main template or an ext template which is included. Here an example for german settings: :: # set the TYPO3 language to german config.language = de # set the PHP locale to german config.locale_all = de_DE # tt_news date & time formats plugin.tt_news { archiveTitleCObject { 10.strftime = %B - %Y } getRelatedCObject { 20.strftime = %d.%m.%Y %H:%M } displaySingle { date_stdWrap.strftime= %d.%m.%y time_stdWrap.strftime= %H:%M } displayLatest { date_stdWrap.strftime= %d.%m.%y time_stdWrap.strftime= %H:%M } displayList { date_stdWrap.strftime= %A %d. %B %Y time_stdWrap.strftime= %d.%m.%y %H:%M } } **Hint:** If the locale\_all setting "de\_DE" don't work on your WAMP installation, try to set it to "german". There are some differences in the handling of the php-locale on windows and linux. If your site is a multilanguage site like the "one-tree-fits-all- languages" example from the "testsite" package (see: `http://typo3.org/documentation/tips-tricks/multi-language-sites-in- typo3/ `_ ) you can add the country specific settings to the language condition in your TS-setup: :: # Setting up the language variable "L" to be passed along with links config.linkVars = L # German language, sys_language.uid = 2 [globalVar = GP:L = 2] config.sys_language_uid = 2 config.language = de config.locale_all = de_DE # set german date & time formats plugin.tt_news { archiveTitleCObject { 10.strftime = %B - %Y } getRelatedCObject { 20.strftime = %d.%m.%Y %H:%M } displaySingle { date_stdWrap.strftime= %d.%m.%y time_stdWrap.strftime= %H:%M age_stdWrap.age = Minuten | Stunden | Tage | Jahre } displayLatest { date_stdWrap.strftime= %d.%m.%y time_stdWrap.strftime= %H:%M } displayList { date_stdWrap.strftime= %A %d. %B %Y time_stdWrap.strftime= %d.%m.%y %H:%M } } [global] # Danish language, sys_language.uid = 1 [globalVar = GP:L = 1] config.sys_language_uid = 1 config.language = dk config.locale_all = danish # set danish date & time formats plugin.tt_news { # sorry, don't know the danish date & time settings ;-) } [global] .. _Multilanguage-News: Multilanguage News ^^^^^^^^^^^^^^^^^^ Since version 2.0.0 tt\_news supports the localization features introduced with TYPO3 3.7.0. Now you can build a true “one-tree-fits- all-languages” site without breaking this concept by using a news- sysfolder for each language. **Note:** If you use TYPO3 3.6.2, tt\_news will work as known, because the localization features will be disabled if no TYPO3 3.7.0 or higher is found. To integrate tt\_news in a multilanguage site, follow the steps described below. Environment for this example: a working multilanguage site for normal content with tt\_news 2.0.0 installed and some news articles. Open the sysfolder where your news are located (in web/list view) and create an “Alternative Page Language” for each desired translation. |img-67| Now activate the “localization view”: |img-68| If you assigned flag-images to your website languages you should see something like this in your browser: |img-69| Click on a flag icon (or the language label) to “localize” a news db- record in a certain language. Now the flag-icon is moved to the “localization” column to show that this news record is translated. **Hint:** If you don't want the localized news records to be immediately visible on the website you can enable “Hide new translations” in the extension configuration (see section “Installation”). |img-70| The titles of the news records had been prepended with “[Translate to {language\_label}]”. **Hint:** Prepending titles with “[Translate to {language\_label}]” can be disabled in the extension configuration. If this is disabled “(copy [#])” will be added to the titles of localized records. This can be disabled, too by setting “Prepend at copy” to” 0” (see “Localization mode for text fields” and “Prepend at Copy” in section “Installation”). **Language = all** if you set the language in a news record to “all” ths record will be displayed in all available languages. |img-71| Now let's see what else changed in a “localized” news article: |img-72| |img-73| You see, that some fields are “missing” in the translated version. Those fields are taken from to the original-language (f.e.: type, related news). Categories are always copied from the record in the default language. The localized article shows only which categories are assigned they are not editable in translations. If the record has categories assigned that are not in the list of allowsed categories for the current BE user a warning message will be displayed and saving of the article will be disabled (see section “Categories” for more information). **Hint:** The image field of a localized news article is excluded by default (images are alwas taken from the record in the default language). If you need localized images (f.e. if the images show texts) you can enable the "image" field for translated news by setting "l10n\_mode\_imageExclude" to “0” in the extension configuration. All fields are showing the value of their original-language below the input field. .. _Sys-language-mode: **Sys\_language\_mode** """"""""""""""""""""""" With the TS-var “sys\_language\_mode”, you can configure the handling of not translated news-articles. The default is to display the article in the default language if there is no translation was found. If you don't want this behaviour you can set “sys\_language\_mode” to strict .. _Example: **Example:** ~~~~~~~~~~~~ :: plugin.tt_news.sys_language_mode = strict Let's say you have 10 news articles in your site (in the default language) and 5 of them are translated to the selected language. In the default “sys\_language\_mode” a news list will display 10 items. With “sys\_language\_mode=strict” the same list will show only 5 news articles. .. _The-Language-Menu: The Language Menu """"""""""""""""" The example language-menu (/media/scripts/example\_languageMenu.php) coming with older TYPO3 packages (“testsite” package) does not support the tt\_news GETvars (the parameters in the Adressbar). The HMENU type=language (new in TYPO3 3.7.0) does exactly the same. I included a new version of this script in the tt\_news distribution. See file: EXT:tt\_news/res/tt\_news\_languageMenu.phpThis version keeps the link vars from tt\_news (and other extensions) and it also works with simulateStaticDocuments and RealUrl. You can also use the extension: “sr\_language\_menu” to switch your website's languages. This extension keeps also the linkVars from tt\_news. .. _XML-feeds-from-tt-news: XML feeds from tt\_news ^^^^^^^^^^^^^^^^^^^^^^^ To enable your site for serving news as XML-feed, add the static ext- template “News-feed (RSS 0.91, RSS 2 , RDF, Atom 0.3, Atom 1.0)” to your TypoScript setup. This adds a new page-type (100) and configures tt\_news with the code “XML”, if a page with type=100 is requested. |img-74| the other settings for XML feeds can be configured in the constant editor or directly in your TypoScript setup. |img-75| Here's a comparison chart of the required (r), optional (o) and not available (n/a) settings for the different feed formats: .. ### BEGIN~OF~TABLE ### .. _Unknown-Property: ((Unknown Property)) """""""""""""""""""" .. container:: table-row a rss091 rss091 rss2 rss2 rdf rdf atom03 atom03 atom1 atom1 .. _xmlTitle: **xmlTitle** """""""""""" .. container:: table-row a **xmlTitle** rss091 r rss2 r rdf r atom03 r atom1 r .. _xmlLink: **xmlLink** """"""""""" .. container:: table-row a **xmlLink** rss091 r rss2 r rdf r atom03 r atom1 o .. _xmlDesc: **xmlDesc** """"""""""" .. container:: table-row a **xmlDesc** rss091 r rss2 r rdf r atom03 o atom1 o .. _xmlLang: **xmlLang** """"""""""" .. container:: table-row a **xmlLang** rss091 r rss2 o rdf n/a atom03 o (recommended) atom1 n/a .. _xmlIcon: **xmlIcon** """"""""""" .. container:: table-row a **xmlIcon** rss091 r rss2 o rdf o (must be 88x31px) atom03 n/a atom1 n/a .. ###### END~OF~TABLE ###### If you want to include the settings by TS – Here's the code: :: # Configure tt_news to display the xml template plugin.tt_news { displayXML { # rss091_tmplFile = EXT:tt_news/res/rss_0_91.tmpl # rdf_tmplFile = EXT:tt_news/res/rdf.tmpl # atom03_tmplFile = EXT:tt_news/res/atom_0_3.tmpl # atom1_tmplFile = EXT:tt_news/res/atom_1_0.tmpl rss2_tmplFile = EXT:tt_news/res/rss_2.tmpl # possibile values: rss091 / rss2 / rdf / atom03 / atom1 xmlFormat = rss2 xmlTitle = example.com: Latest News xmlLink = http://example.com/ xmlDesc = Latest News xmlLang = en xmlIcon = fileadmin/tt_news_article.gif title_stdWrap.htmlSpecialChars = 1 title_stdWrap.htmlSpecialChars.preserveEntities = 1 subheader_stdWrap.stripHtml = 1 subheader_stdWrap.htmlSpecialChars = 1 subheader_stdWrap.htmlSpecialChars.preserveEntities = 1 subheader_stdWrap.crop = 100 | ... | 1 subheader_stdWrap.ifEmpty.field = bodytext xmlLastBuildDate = 1 } } ## This enables the xml news feed xmlnews = PAGE xmlnews { typeNum = 100 10 > 10 < plugin.tt_news 10.pid_list > 10.pid_list = {$plugin.tt_news.pid_list} 10.singlePid = {$plugin.tt_news.singlePid} 10.defaultCode = XML config { disableAllHeaderCode = 1 additionalHeaders = Content-type:text/xml no_cache = 1 xhtml_cleaning = 0 } } ## To get an additional RDF feed add the following rdffeed = PAGE rdffeed < xmlnews rdffeed { 10.displayXML.xmlFormat = rdf 10.displayXML.xmlIcon = fileadmin/feed_icon_88x31.gif typeNum = 101 } ## To get an additional Atom 0.3 feed add the following atom03feed = PAGE atom03feed < xmlnews atom03feed { 10.displayXML.xmlFormat = atom03 typeNum = 102 } ## To get an additional Atom 1.0 feed add the following atom1feed = PAGE atom1feed < xmlnews atom1feed { 10.displayXML.xmlFormat = atom1 typeNum = 103 } **Hint:** if you add the line below to the header of your site, browsers will detect this site as a RSS-source. (f.e. Firefox 1 with the nice “Add life bookmarks” feature) :: **More information:** RSS 0.91 specification: `http://my.netscape.com/publish/formats/rss- spec-0.91.html `_ RSS 2.0 specification: `http://blogs.law.harvard.edu/tech/rss `_ RDF specification: `http://web.resource.org/rss/1.0/spec `_ / `http://www.w3.org/TR/rdf- syntax-grammar/ `_ Atom 0.3 specification: `http://www.atomenabled.org/developers/syndication/atom-format- spec.php `_ Atom 1.0 specification: `http://www.atomenabled.org/developers/syndication/ `_ .. _Extending-tt-news: Extending tt\_news ------------------ There are several possibilities to extend/change the functionality of tt\_news without building a new extension (see list below). If you need additional fields in the BE-Form, you can create an extension with the kickstarter, that adds the new fields to the tt\_news database-table. After this, take a look to the file EXT:tt\_news/res/example\_itemMarkerArrayFunc.php for an example, how to display the contents of an additional field with a userdefined marker. You can also have a look at the extensions `“news\_author\_rel” `_ and `“news\_dam\_con” `_ which show how to extend tt\_news by a field. “news\_author\_rel” offers also a single view for related records. Another code example for using the hook in function getItemMarkerArray() can be found in the extension `chcnewscon `_ . So there should be enough “sources” to copy & paste your own “news\_special\_extended” extension. Good Luck ;-)Here the list of the userfunctions: - “newsAmenuUserFunc”: for processing the archive menu -> see example in folder res/ - “itemMarkerArrayFunc”: for processing the complete marker array -> see example in folder res/ - “imageMarkerFunc”: gives you the possibility to process the image markers by a user function. This userfunction works a bit different from the others: if it is enabled, the images are only processed by the userfunction not by both functions. (this could already be done by the “itemMarkerArrayFunc” but this would process the same images two times) Added an new example script: “res/example\_imageMarkerFunc.php” that uses the new userfunction to add different wraps to the images in single view (see comments in file for needed TS-settings) -> see example in folder res/ - “userPageBrowserFunc”: With this userfunction you can substitute the build-in pagebrowser from tt\_news with your own script. See file: “res/example\_userPageBrowserFunc.php”.With the two example- pagebrowsers from this file it is possible, to use html-code like images for the “next” and “previous” links. - you can define different template parts with: “altMainMarkers” -> see example in “Reference”. There are many function-“hooks” in the tt\_news extension: - you can add extra-codes to the FF sheets with the function from “class.tx\_ttnews\_itemsProcFunc.php”: This function is called from the flexform xml files by using “tx\_ttnews\_itemsProcFunc->user\_insertExtraCodes”this adds the “codes” to the “What to display” selectbox, that are found in the array: $GLOBALS['TYPO3\_CONF\_VARS']['EXTCONF']['tt\_news']['what\_to\ _display']. - Hook for processing the extra codes in function main\_news() (extraCodesProcessor). - Hook for processing extra markers for each news record in function getItemMarkerArray() (extraItemMarkerProcessor) . - Hook for processing the selectConf-array in function getSelectConf() (processSelectConfHook). - Hook for processing extra markers for the complete output in function displayList() (extraGlobalMarkerHook) . - Hook for adding a userdefined category menu (catmenu) in function displayCatmenu() (userDisplayCatmenuHook) . - Hook to add fields to search form in function displayList() (additionalFormSearchFields) - Hook to post-process search condition in function searchWhere() (searchWhere) For more information about hooks see: `TYPO3 Core APIs / The concept of "hooks" `_ and: `http://typo3.org/development/articles/how-to-use-existing-hooks/ `_ .. _List-of-tt-news-add-ons: List of tt\_news add-ons ------------------------ Disclaimer: this chapter provides a list of extensions that contribute additional functionality to tt\_news. This list is not guarantied to be complete but best efforts are made to keep it up to date. Inclusion to this list does not mean any preference, quality assessment or recommendation. This list is only for your information and convenience. tt\_news developers generally have no relation to these plugins and cannot answer questions about these plugins. The information in this list is compiled from TER. .. ### BEGIN~OF~TABLE ### .. _tt-news-most-popular: tt\_news most popular ^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Extension title tt\_news most popular Extension key nc\_ttnews\_mostpopular Author Dmitry Dulepov / Netcreators BV Description Adds an option to tt\_news to display most read news .. _SmoothGallery-for-TYPO3: SmoothGallery for TYPO3 ^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Extension title SmoothGallery for TYPO3 Extension key rgsmoothgallery Author Georg Ringer Description Display tt\_news images in a nice photogallery .. _Import-an-RSS-feed-into-tt-news: Import an RSS feed into tt\_news ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Extension title Import an RSS feed into tt\_news Extension key xml\_ttnews\_import Author Schopfer Olivier Description This extension imports contents from an RSS feed into distinct tt\_news records. Auto import is also possible. .. _ttnews-feeder: ttnews\_feeder ^^^^^^^^^^^^^^ .. container:: table-row Extension title ttnews\_feeder Extension key ttnews\_feeder Author Alex Tuveri Description Fill tt\_news with news from other web sites, which do not support RSS export .. _NewsPlus: NewsPlus ^^^^^^^^ .. container:: table-row Extension title NewsPlus Extension key sg\_newsplus Author Stefan Geith Description Extends tt\_news with FE-User-Editing and Layout-Selection .. _Flash-files-in-News-articles: Flash files in News articles ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Extension title Flash files in News articles Extension key ah\_flashinnews Author Andreas Hupfau Description Insert Flash files into tt\_news articles .. _DAM-News: DAM News ^^^^^^^^ .. container:: table-row Extension title DAM News Extension key dam\_ttnews Author Erich Bircher Description Adds DAM support to tt\_news .. _News-Calendar: News Calendar ^^^^^^^^^^^^^ .. container:: table-row Extension title News Calendar Extension key newscalendar Author Philip Almeida Description News Calendar for EXT:tt\_news. This extension provides a calendar view for tt\_news extension. It also provides a list view that works together with the calendar. .. _Commenting-system: Commenting system ^^^^^^^^^^^^^^^^^ .. container:: table-row Extension title Commenting system Extension key comments Author Dmitry Dulepov / Netcreators BV Description Can be used to comment on tt\_news items in FE .. ###### END~OF~TABLE ###### .. _Sponsoring-tt-news-development: Sponsoring tt\_news development ------------------------------- If you want to donate money, sponsor the development of tt\_news or want to hire me as freelancer for a TYPO3 project, feel free to contact me: (Rupert Germann, rupi(at)gmx.li). Donations can also be made `directly at sourceforge.net `_ (http://sourceforge.net/donate/index.php?user\_id=1067864) where tt\_news CVS project is hosted. Or take a look at my amazon wishlist: `http://www.amazon.de/gp/registry/1JS3I9WKKEG31 `_ .. _Known-problems: Known problems -------------- - “direct preview” with the save&preview button doesn't work in editforms of non-public versions of news articles -> use normal “version preview” instead. - “direct preview” works only in the “Live” workspace. If you find problems, that are not listed here, please post them at the bugtracker ( `http://bugs.typo3.org `_ ) project tx\_ttnews or in the tt\_news newsgroup (news://news.netfielders.de/typo3.projects.tt-news ) .. _To-Do: To-Do ----- If you have a feature request. please post it at the bugtracker ( `http://bugs.typo3.org `_ ). .. _Changelog: Changelog --------- See: `http://forge.typo3.org/repositories/entry/extension- tt\_news/trunk/ChangeLog `_ |img-76| EXT: news - 73 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.png .. :align: left .. :border: 0 .. :height: 462 .. :id: Grafik1 .. :name: Grafik1 .. :width: 550 .. |img-2| image:: img-2.png .. :align: left .. :border: 0 .. :height: 239 .. :id: Grafik5 .. :name: Grafik5 .. :width: 138 .. |img-3| image:: img-3.png .. :align: left .. :border: 0 .. :height: 48 .. :id: Grafik6 .. :name: Grafik6 .. :width: 531 .. |img-4| image:: img-4.png .. :align: left .. :border: 0 .. :height: 336 .. :id: Grafik7 .. :name: Grafik7 .. :width: 483 .. |img-5| image:: img-5.png .. :align: left .. :border: 0 .. :height: 168 .. :id: Grafik62 .. :name: Grafik62 .. :width: 564 .. |img-6| image:: img-6.png .. :align: left .. :border: 0 .. :height: 422 .. :id: Grafik21 .. :name: Grafik21 .. :width: 625 .. |img-7| image:: img-7.png .. :align: left .. :border: 0 .. :height: 425 .. :id: Grafik25 .. :name: Grafik25 .. :width: 626 .. |img-8| image:: img-8.png .. :align: left .. :border: 0 .. :height: 210 .. :id: Grafik67 .. :name: Grafik67 .. :width: 635 .. |img-9| image:: img-9.png .. :align: left .. :border: 0 .. :height: 438 .. :id: Grafik9 .. :name: Grafik9 .. :width: 669 .. |img-10| image:: img-10.png .. :align: left .. :border: 0 .. :height: 615 .. :id: Grafik10 .. :name: Grafik10 .. :width: 669 .. |img-11| image:: img-11.png .. :align: left .. :border: 0 .. :height: 226 .. :id: Grafik11 .. :name: Grafik11 .. :width: 670 .. |img-12| image:: img-12.png .. :align: left .. :border: 0 .. :height: 343 .. :id: Grafik70 .. :name: Grafik70 .. :width: 664 .. |img-13| image:: img-13.png .. :align: left .. :border: 0 .. :height: 199 .. :id: Grafik71 .. :name: Grafik71 .. :width: 631 .. |img-14| image:: img-14.png .. :align: left .. :border: 0 .. :height: 139 .. :id: Grafik29 .. :name: Grafik29 .. :width: 605 .. |img-15| image:: img-15.png .. :align: left .. :border: 0 .. :height: 313 .. :id: Grafik54 .. :name: Grafik54 .. :width: 612 .. |img-16| image:: img-16.png .. :align: left .. :border: 0 .. :height: 48 .. :id: Grafik55 .. :name: Grafik55 .. :width: 441 .. |img-17| image:: img-17.png .. :align: left .. :border: 0 .. :height: 106 .. :id: Grafik48 .. :name: Grafik48 .. :width: 522 .. |img-18| image:: img-18.png .. :align: left .. :border: 0 .. :height: 110 .. :id: Grafik45 .. :name: Grafik45 .. :width: 524 .. |img-19| image:: img-19.png .. :align: left .. :border: 0 .. :height: 125 .. :id: Grafik3 .. :name: Grafik3 .. :width: 362 .. |img-20| image:: img-20.png .. :align: left .. :border: 0 .. :height: 143 .. :id: Grafik37 .. :name: Grafik37 .. :width: 469 .. |img-21| image:: img-21.png .. :align: left .. :border: 0 .. :height: 109 .. :id: Grafik4 .. :name: Grafik4 .. :width: 409 .. |img-22| image:: img-22.png .. :align: left .. :border: 0 .. :height: 754 .. :id: Grafik2 .. :name: Grafik2 .. :width: 557 .. |img-23| image:: img-23.png .. :align: left .. :border: 0 .. :height: 76 .. :id: Grafik12 .. :name: Grafik12 .. :width: 154 .. |img-24| image:: img-24.png .. :align: left .. :border: 0 .. :height: 283 .. :id: Grafik13 .. :name: Grafik13 .. :width: 634 .. |img-25| image:: img-25.png .. :align: left .. :border: 0 .. :height: 82 .. :id: Grafik30 .. :name: Grafik30 .. :width: 440 .. |img-26| image:: img-26.png .. :align: left .. :border: 0 .. :height: 16 .. :id: Grafik58 .. :name: Grafik58 .. :width: 18 .. |img-27| image:: img-27.png .. :align: left .. :border: 0 .. :height: 16 .. :id: Grafik39 .. :name: Grafik39 .. :width: 18 .. |img-28| image:: img-28.png .. :align: left .. :border: 0 .. :height: 16 .. :id: Grafik60 .. :name: Grafik60 .. :width: 18 .. |img-29| image:: img-29.png .. :align: left .. :border: 0 .. :height: 227 .. :id: Grafik8 .. :name: Grafik8 .. :width: 669 .. |img-30| image:: img-30.png .. :align: left .. :border: 0 .. :height: 581 .. :id: Grafik68 .. :name: Grafik68 .. :width: 559 .. |img-31| image:: img-31.png .. :align: left .. :border: 0 .. :height: 146 .. :id: Grafik69 .. :name: Grafik69 .. :width: 548 .. |img-32| image:: img-32.png .. :align: left .. :border: 0 .. :height: 148 .. :id: Grafik66 .. :name: Grafik66 .. :width: 321 .. |img-33| image:: img-33.png .. :align: left .. :border: 0 .. :height: 290 .. :id: Grafik61 .. :name: Grafik61 .. :width: 594 .. |img-34| image:: img-34.png .. :align: left .. :border: 0 .. :height: 573 .. :id: Grafik18 .. :name: Grafik18 .. :width: 516 .. |img-35| image:: img-35.png .. :align: left .. :border: 0 .. :height: 63 .. :id: Grafik19 .. :name: Grafik19 .. :width: 412 .. |img-36| image:: img-36.png .. :align: left .. :border: 0 .. :height: 99 .. :id: Grafik56 .. :name: Grafik56 .. :width: 514 .. |img-37| image:: img-37.png .. :align: left .. :border: 0 .. :height: 142 .. :id: Grafik63 .. :name: Grafik63 .. :width: 193 .. |img-38| image:: img-38.png .. :align: left .. :border: 0 .. :height: 167 .. :id: Grafik64 .. :name: Grafik64 .. :width: 191 .. |img-39| image:: img-39.png .. :align: left .. :border: 0 .. :height: 82 .. :id: Grafik65 .. :name: Grafik65 .. :width: 548 .. |img-40| image:: img-40.png .. :align: left .. :border: 0 .. :height: 100 .. :id: Grafik57 .. :name: Grafik57 .. :width: 476 .. |img-41| image:: img-41.png .. :align: left .. :border: 0 .. :height: 133 .. :id: Grafik59 .. :name: Grafik59 .. :width: 575 .. |img-42| image:: img-42.png .. :align: left .. :border: 0 .. :height: 126 .. :id: Grafik221 .. :name: Grafik221 .. :width: 439 .. |img-43| image:: img-43.png .. :align: left .. :border: 0 .. :height: 174 .. :id: Grafik53 .. :name: Grafik53 .. :width: 563 .. |img-44| image:: img-44.png .. :align: left .. :border: 0 .. :height: 135 .. :id: Grafik16 .. :name: Grafik16 .. :width: 560 .. |img-45| image:: img-45.png .. :align: left .. :border: 0 .. :height: 421 .. :id: Grafik27 .. :name: Grafik27 .. :width: 669 .. |img-46| image:: img-46.png .. :align: left .. :border: 0 .. :height: 18 .. :id: Grafik28 .. :name: Grafik28 .. :width: 90 .. |img-47| image:: img-47.png .. :align: left .. :border: 0 .. :height: 33 .. :id: Grafik38 .. :name: Grafik38 .. :width: 161 .. |img-48| image:: img-48.png .. :align: left .. :border: 0 .. :height: 18 .. :id: Grafik31 .. :name: Grafik31 .. :width: 90 .. |img-49| image:: img-49.png .. :align: left .. :border: 0 .. :height: 19 .. :id: Grafik32 .. :name: Grafik32 .. :width: 18 .. |img-50| image:: img-50.png .. :align: left .. :border: 0 .. :height: 19 .. :id: Grafik33 .. :name: Grafik33 .. :width: 18 .. |img-51| image:: img-51.png .. :align: left .. :border: 0 .. :height: 34 .. :id: Grafik36 .. :name: Grafik36 .. :width: 192 .. |img-52| image:: img-52.png .. :align: left .. :border: 0 .. :height: 19 .. :id: Grafik34 .. :name: Grafik34 .. :width: 18 .. |img-53| image:: img-53.png .. :align: left .. :border: 0 .. :height: 19 .. :id: Grafik35 .. :name: Grafik35 .. :width: 18 .. |img-54| image:: img-54.png .. :align: left .. :border: 0 .. :height: 19 .. :id: Grafik40 .. :name: Grafik40 .. :width: 18 .. |img-55| image:: img-55.png .. :align: left .. :border: 0 .. :height: 18 .. :id: Grafik41 .. :name: Grafik41 .. :width: 18 .. |img-56| image:: img-56.png .. :align: left .. :border: 0 .. :height: 18 .. :id: Grafik42 .. :name: Grafik42 .. :width: 18 .. |img-57| image:: img-57.png .. :align: left .. :border: 0 .. :height: 18 .. :id: Grafik43 .. :name: Grafik43 .. :width: 18 .. |img-58| image:: img-58.png .. :align: left .. :border: 0 .. :height: 18 .. :id: Grafik44 .. :name: Grafik44 .. :width: 18 .. |img-59| image:: img-59.png .. :align: left .. :border: 0 .. :height: 505 .. :id: Grafik17 .. :name: Grafik17 .. :width: 568 .. |img-60| image:: img-60.png .. :align: left .. :border: 0 .. :height: 68 .. :id: Grafik141 .. :name: Grafik141 .. :width: 445 .. |img-61| image:: img-61.png .. :align: left .. :border: 0 .. :height: 243 .. :id: Grafik14 .. :name: Grafik14 .. :width: 669 .. |img-62| image:: img-62.png .. :align: left .. :border: 0 .. :height: 126 .. :id: Grafik15 .. :name: Grafik15 .. :width: 650 .. |img-63| image:: img-63.png .. :align: left .. :border: 0 .. :height: 125 .. :id: Grafik81 .. :name: Grafik81 .. :width: 399 .. |img-64| image:: img-64.png .. :align: left .. :border: 0 .. :height: 361 .. :id: Grafik201 .. :name: Grafik201 .. :width: 648 .. |img-65| image:: img-65.png .. :align: left .. :border: 0 .. :height: 84 .. :id: Grafik181 .. :name: Grafik181 .. :width: 440 .. |img-66| image:: img-66.png .. :align: left .. :border: 0 .. :height: 62 .. :id: Grafik191 .. :name: Grafik191 .. :width: 432 .. |img-67| image:: img-67.png .. :align: left .. :border: 0 .. :height: 93 .. :id: Grafik20 .. :name: Grafik20 .. :width: 283 .. |img-68| image:: img-68.png .. :align: left .. :border: 0 .. :height: 64 .. :id: Grafik22 .. :name: Grafik22 .. :width: 150 .. |img-69| image:: img-69.png .. :align: left .. :border: 0 .. :height: 94 .. :id: Grafik23 .. :name: Grafik23 .. :width: 533 .. |img-70| image:: img-70.png .. :align: left .. :border: 0 .. :height: 96 .. :id: Grafik24 .. :name: Grafik24 .. :width: 438 .. |img-71| image:: img-71.png .. :align: left .. :border: 0 .. :height: 30 .. :id: Grafik52 .. :name: Grafik52 .. :width: 561 .. |img-72| image:: img-72.png .. :align: left .. :border: 0 .. :height: 782 .. :id: Grafik50 .. :name: Grafik50 .. :width: 515 .. |img-73| image:: img-73.png .. :align: left .. :border: 0 .. :height: 344 .. :id: Grafik51 .. :name: Grafik51 .. :width: 490 .. |img-74| image:: img-74.png .. :align: left .. :border: 0 .. :height: 105 .. :id: Grafik47 .. :name: Grafik47 .. :width: 523 .. |img-75| image:: img-75.png .. :align: left .. :border: 0 .. :height: 217 .. :id: Grafik46 .. :name: Grafik46 .. :width: 477 .. |img-76| image:: img-76.png .. :align: left .. :border: 0 .. :height: 32 .. :id: Graphic1 .. :name: Graphic1 .. :width: 102