.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt .. role:: underline ========================================================= EXT: Prev-Next Paging for Pages and Extension-Detailviews ========================================================= :Author: Kasper Skårhøj :Created: 2002-11-01T00:32:00 :Changed: 2011-05-04T11:29:01.310000000 :Classification: mbkdprevnextpaging :Description: Easy to handle and comfortable Extension for prev-next paging for pages and extension detailviews. To include this extension for pages every person can do this. To include this extension for extension detailviews, you need a bit of programmers knowledge, because you habe to determine the correct extension detailview get-variable and SQL for extension listing. :Keywords: prev next paging paginator link pages extension detailview :Author: Markus Brunner, Katja Deutschmann :Email: mail@markusbrunner-design.de :Extension-Support: Markus Brunner :URL: http://www.markusbrunner-design.de, http://www.katjadeutschmann.de :Language: en |img-1| |img-2| EXT: Prev-Next Paging for Pages and Extension- Detailviews - mbkdprevnextpaging .. _EXT-Prev-Next-Paging-for-Pages-and-Extension-Detailviews: EXT: Prev-Next Paging for Pages and Extension-Detailviews ========================================================= Extension Key: mbkdprevnextpaging Language: en Keywords: prev next paging paginator link pages extension detailview Copyright 2000-2008, Markus Brunner, Katja Deutschmann, 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.org .. _Table-of-Contents: Table of Contents ----------------- `EXT: Prev-Next Paging for Pages and Extension-Detailviews 1 <#1.EXT :%20Prev-Next%20Paging%20for%20Pages%20and%20Extension- Detailviews|outline>`_ **`Introduction 3 <#Introduction|outline>`_** `What does it do? 3 <#2.0.1.What%20does%20it%20do_|outline>`_ `Screenshots 4 <#2.0.3.Screenshots|outline>`_ **`Users manual 5 <#Users%20manual|outline>`_** `Prev-Next Paging 5 <#2.0.4.Prev-Next%20Paging|outline>`_ `Prev-Next Paging Plugin-Configuration for pages 5 <#2.0.5.Prev- Next%20Paging%20Plugin-Configuration%20for%20pages|outline>`_ `Prev-Next Paging Plugin-Configuration for extensions 5 <#2.0.6.Prev- Next%20Paging%20Plugin-Configuration%20for%20extensions|outline>`_ **`Administration and Configuration 8 <#Administration%20and%20Configuration|outline>`_** **`Known problems 10 <#Known%20problems|outline>`_** **`ChangeLog 11 <#ChangeLog|outline>`_** .. _Introduction: Introduction ------------ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ Includes a prev-next paging for pages (include on each page, where it should be displayed) or extension detailviews (include once on extension detailview page with extension mode). Design can easily be styled via css. HTML-Structure can be overwritten with own html- template. .. _Screenshots: Screenshots ^^^^^^^^^^^ .. _Pages-mode-with-static-names: Pages mode with static names """""""""""""""""""""""""""" |img-3| .. _Pages-mode-with-dynamic-names: Pages mode with dynamic names """"""""""""""""""""""""""""" |img-4| .. _Extension-mode-with-static-names: Extension mode with static names """""""""""""""""""""""""""""""" |img-5| .. _Extension-mode-with-dynamic-names: Extension mode with dynamic names """"""""""""""""""""""""""""""""" |img-6| .. _Users-manual: Users manual ------------ .. _Prev-Next-Paging: Prev-Next Paging ^^^^^^^^^^^^^^^^ After installation of the extension in the Extension Manager, you can insert the Prev-Next Paging(pi1) on each page as a Content Element. .. _Prev-Next-Paging-Plugin-Configuration-for-pages: Prev-Next Paging Plugin-Configuration for pages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Setup for pages is very easy. Just include the plugin on each page and choose whether you want dynamic names or not: |img-7| .. _Prev-Next-Paging-Plugin-Configuration-for-extensions: Prev-Next Paging Plugin-Configuration for extensions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Setup for extensions is more complex and you'll need some programmers knowledge. First choose Mode 'Paging for extension-detailviews (included once on the extension-detail-page)' and determine whether names should be produced dynamic (you'll then need a title resulting in your SQL → see below): |img-8| After that, change to Plugin-Tab 'Extension-Mode' and fill out all fields correctly: |img-9| 1. (optional) Insert your main-database-table in the first field. It is used for replacing the ###ENABLEDIELDS### marker in your SQL-Query. Otherwise leave blank! 2. The Get-Var ist the identifier of your extension-detailview-record. In the extension mbwikifileknowledgebase this is tx\_mbwikifileknowledgebase\_pi1[uid], which therfore represents the uid of the article-record. This is needed to determine the current record out of the following SQL-result. If you fill out an incorrect variable, it's not possible to determine the correct previous and following record. 3. (optional) Insert the Get-Var of your category. In the extension mbwikifileknowledgebase this is tx\_mbwikifileknowledgebase\_pi1[category]. This is used to build the links. For this you also need to get the actual category\_uid in your query (… AS category\_uid). If you do not need the category in your link, leave this field blank! 4. In the SQL-field you have to insert a correct SQL-Query to get all records which are also shown in the list-view of the extension. In the case of mbwikifileknowledgebase this would be: :: SELECT tx_mbwikifileknowledgebase_fileindex.uid AS uid, tx_mbwikifileknowledgebase_fileindex.navtitle AS title, tx_mbwikifileknowledgebase_fileindex.foreign_category AS category_uid FROM tx_mbwikifileknowledgebase_fileindex LEFT JOIN tx_mbwikifileknowledgebase_categories ON tx_mbwikifileknowledgebase_fileindex.foreign_category = tx_mbwikifileknowledgebase_categories.uid WHERE tx_mbwikifileknowledgebase_fileindex.sys_language_uid = ###SYS_LANGUAGE_UID### AND ( ###GET###tx_mbwikifileknowledgebase_pi1[category]###0###/GET### = tx_mbwikifileknowledgebase_fileindex.foreign_category OR ###GET###tx_mbwikifileknowledgebase_pi1[category]###0###/GET### = 0 ) ###ENABLEFIELDS### ORDER BY tx_mbwikifileknowledgebase_fileindex.navtitle ASC For a very simple extension it could be: :: SELECT uid, name AS title FROM tx_extension_table WHERE sys_language_uid = ###SYS_LANGUAGE_UID### ###ENABLEFIELDS### ORDER BY name ASC As you can see, it is possible to manage normal language-support of extensions with the placeholder ###SYS\_LANGUAGE\_UID###, which is therefore replaced in the extension with the correct current sys\_language\_uid ($GLOBALS['TSFE']->sys\_language\_uid). ###ENABLEFIELDS### is replaced with the enable-fields-properties of your main-table you can fill in, in field “Table for which you want to include the enablefields-Function in your SQL-Query (optional - replaces ###ENABLEFIELDS### in SQL)”. Furthermore you have the possibility to insert current get-vars with the following syntax: ###GET### *VARIABLE* ### *DEFAULT\_VALUE* ###/GET### e.g.: ###GET###mayvariable[id]###0###/GET### or ###GET###mayvariable2###0###/GET###. These phrases are filtered with a regular expression. So if you make any mistake in the syntax it won't be parsed correct. If filled out correctly the output for the following examples would be: :: For http://www.domain.de/projects/project1.html?mayvariable[id]=1& mayvariable2=4 ###GET###mayvariable[id]###0###/GET### => 1 ###GET###mayvariable2###0###/GET### => 4 ###GET###mayvariable3###0###/GET### => 0 (not present in GET-Vars => default!) If you need to get string-variables for your SQL this would normally be no problem, but of course you have to insert quotes “” around get GET-Var in your SQL: :: SELECT uid AS uid, title AS title FROM myextensiontable WHERE stringcol = “###GET###mayvariable[id]###0###/GET###” AND sys_language_uid = ###SYS_LANGUAGE_UID### AND deleted = 0 AND hidden = 0 .. _Administration-and-Configuration: Administration and Configuration -------------------------------- This Extension produces no own database-tables. .. _generated: ((generated)) ^^^^^^^^^^^^^ .. _TypoScript: TypoScript """""""""" Extension TypoScript-Setup for “plugin.tx\_mbkdimagelightbox\_pi1.” .. ### BEGIN~OF~TABLE ### .. _wrapInBaseClass: wrapInBaseClass ~~~~~~~~~~~~~~~ .. container:: table-row Property wrapInBaseClass Data type integer Description Choose if the frontend plugin is wrapped with the standard extension wrapper: '
\|
'. 0 = disable wrapping 1 = enable wrapping Default 0 .. _innerWrap: innerWrap ~~~~~~~~~ .. container:: table-row Property innerWrap Data type wrap Description wrap within wrapInBaseClasse.g. innerWrap =
\|
Default .. _Template: Template ~~~~~~~~ .. container:: table-row Property Template Data type string -> path Description overwrite std. template file: 1. copy std. template for correct markers: EXT:mbkdprevnextpaging/res/template.tpl 2. overwrite template file e.g. with: template = fileadmin/templates/prevnext.tpl Default .. _usedefaultcss: usedefaultcss ~~~~~~~~~~~~~ .. container:: table-row Property usedefaultcss Data type integer Description Use of default CSS for Prev-Next-Pager-Links 0 = no CSS included 1 = default CSS included Default 1 .. _separator: separator ~~~~~~~~~ .. container:: table-row Property separator Data type string Description separator between prev and next, if both availablee.g. separator = | Default .. _contentafterlinks: contentafterlinks ~~~~~~~~~~~~~~~~~ .. container:: table-row Property contentafterlinks Data type string Description Normally for printing
after links for floating Default
.. _excludeUIDs: excludeUIDs ~~~~~~~~~~~ .. container:: table-row Property excludeUIDs Data type integers, comma-separated Description Here you can add page-ids, which should not appear in the paging (e.g. 1,23,5) Default .. _languageParam: languageParam ~~~~~~~~~~~~~ .. container:: table-row Property languageParam Data type string Description TYPO3-Language Parameter; typically “L” Default L .. _pageModeshowAlsoNavHiddenElements: pageModeshowAlsoNavHiddenElements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property pageModeshowAlsoNavHiddenElements Data type integer Description pageMode: nav\_hide -> show also pages which are hidden in menues in TYPO3-Backend 0 = disable nav hidden pages 1 = enable nav hidden pages Default 0 .. _pageModeDoktypes: pageModeDoktypes ~~~~~~~~~~~~~~~~ .. container:: table-row Property pageModeDoktypes Data type Integers, comma-separated Description pageMode: doktypes to select (1 = normal page, 4 = internal link; to select all "pageModeDoktypes = 1,4") Default 1 .. _underline-LOCAL-LANG-langKey-label: :underline:`\_LOCAL\_` LANG.langKey.label ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row Property :underline:`\_LOCAL\_` LANG.langKey.label Data type string Description Overwrite of language labels like in all well made extensions → you can overwrite all labels found in EXT:mbkdprevnextpaging/pi1/locallang.xml Default .. ###### END~OF~TABLE ###### Standard Template: :: # Default Values for plugin.tx_mbkdprevnextpaging_pi1 plugin.tx_mbkdprevnextpaging_pi1 { # wrap of links with default extension wrapper #
|
# needed for default css wrapInBaseClass = 1 # wrap within wrapInBaseClass e.g.
|
innerWrap > # overwrite std. template file (e.g. with fileadmin/templates/prevnext.tpl) # copy std. template for correct markers! EXT:mbkdprevnextpaging/res/template.tpl template > # activation of default css usedefaultcss = 1 # separator between prev and next, if both available e.g. | separator > # print
after Links for floating contentafterlinks =
# page-ids to exclude from navigation (comma separated values e.g. 1,23,5) excludeUIDs > # language Parameter (GET-Param-Name) - usually this is "L" languageParam = L # pageMode: nav_hide -> show also pages which are hidden in menues in TYPO3-Backend pageModeshowAlsoNavHiddenElements = 0 # pageMode: doktypes to select (1 = normal page, 4 = internal link; to select all "pageModeDoktypes = 1,4") pageModeDoktypes = 1 # language overwrite of EXT:mbkdprevnextpaging/pi1/locallang.xml /* _LOCAL_LANG { # english default { prev_dynamic = to " prev_dynamic_end = " prev_page = previous page prev_extension = next next_dynamic = to " next_dynamic_end = " next_page = next page next_extension = next of_title = of } # german de { prev_dynamic = zu " prev_dynamic_end = " prev_page = vorherige Seite prev_extension = vorherige(r) next_dynamic = zu " next_dynamic_end = " next_page = nächste Seite next_extension = nächste(r) of_title = von } } */ } .. _Template: Template """""""" :: File: EXT:mbkdprevnextpaging\res\template.tpl Copy it and define destination with TS plugin.tx_mbkdprevnextpaging_pi1.template if you want to make changes! special markers for links: ###PREV_NUMBER### ###NEXT_NUMBER### ###OF_TITLE### ###ALL_COUNT### .. _Known-problems: Known problems -------------- None, yet. .. _ChangeLog: ChangeLog --------- See ChangeLog-File in Extension-Root. 11 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.png .. :align: left .. |img-2| image:: img-2.png .. :border: 0 .. :height: 21 .. :hspace: 9 .. :id: Grafik2 .. :name: Grafik2 .. :width: 87 .. |img-3| image:: img-3.png .. :align: left .. :border: 0 .. :height: 35 .. :id: Grafik1 .. :name: Grafik1 .. :width: 669 .. |img-4| image:: img-4.png .. :align: left .. :border: 0 .. :height: 35 .. :id: Grafik3 .. :name: Grafik3 .. :width: 669 .. |img-5| image:: img-5.png .. :align: left .. :border: 0 .. :height: 42 .. :id: Grafik4 .. :name: Grafik4 .. :width: 669 .. |img-6| image:: img-6.png .. :align: left .. :border: 0 .. :height: 40 .. :id: Grafik9 .. :name: Grafik9 .. :width: 669 .. |img-7| image:: img-7.png .. :align: left .. :border: 0 .. :height: 301 .. :id: Grafik5 .. :name: Grafik5 .. :width: 502 .. |img-8| image:: img-8.png .. :align: left .. :border: 0 .. :height: 296 .. :id: Grafik8 .. :name: Grafik8 .. :width: 498 .. |img-9| image:: img-9.png .. :align: left .. :border: 0 .. :height: 562 .. :id: Grafik6 .. :name: Grafik6 .. :width: 669