.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt .. role:: underline ==================================== EXT: Readable name of your extension ==================================== :Created: 2010-02-18T17:33:18 :Changed by: David COQUILLET :Changed: 2012-03-19T11:13:51 :Classification: extensionkey :Description: The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ---- :Keywords: keywords comma-separated :Author: Author Name :Email: your@email.com :Info 4: :Language: en |img-1| |img-2| [Smile] Glossary- smile\_glossary[Smile] Glossary .. _Smile-Glossary: [Smile] Glossary ================ Extension Key: smile\_glossary Language: en,fr Keywords: frontend, glossary, definition, replace Copyright 2000-2011, Smile, 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 ----------------- `[Smile] Glossary 1 <#__RefHeading__706_1332002233>`_ **`Introduction 3 <#__RefHeading__708_1332002233>`_** `What does it do? 3 <#__RefHeading__710_1332002233>`_ **`Configuration 4 <#__RefHeading__1441_1621881556>`_** `Install extension 4 <#__RefHeading__959_1332002233>`_ `Configure Extension 5 <#__RefHeading__3132_1332002233>`_ **`Users manual 6 <#__RefHeading__714_1332002233>`_** `Creating Words 6 <#__RefHeading__3128_1332002233>`_ `Adding glossary plugin to a page 7 <#__RefHeading__3130_1332002233>`_ `Screenshots 9 <#__RefHeading__1443_1621881556>`_ `Frontend plugin : 9 <#__RefHeading__1445_1621881556>`_ `Special Thanks 10 <#__RefHeading__3426_1332002233>`_ `TYPOSCRIPT Configuration 11 <#__RefHeading__1447_1621881556>`_ `Disable replacement on one page 12 <#__RefHeading__961_1332002233>`_ `Use Keywords for search engine optimization 13 <#__RefHeading__1449_1621881556>`_ `RealURL Configuration example 14 <#__RefHeading__1451_1621881556>`_ **`Known problems 15 <#__RefHeading__730_1332002233>`_** **`To-Do list 16 <#__RefHeading__732_1332002233>`_** **`ChangeLog 17 <#__RefHeading__734_1332002233>`_** .. _Introduction: Introduction ------------ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ - This extension allows to create Word records, and see them in a frontend plugin “glossary”. The extension can even allows to parse cached content for defined words and replace them with a link pointing towards the glossary. - Caution : for the tooltip (see the screenshots) to work, the extension need jQuery to be included. The tooltip can be disabled otherwise. .. _Configuration: Configuration ------------- .. _Install-extension: Install extension ^^^^^^^^^^^^^^^^^ |img-3| - Download .t3x file, and import it in the extension manager, then install it, - Execute the database modification to add the Words items : |img-4| - Clear the cache .. _Configure-Extension: Configure Extension ^^^^^^^^^^^^^^^^^^^ The extension allows to parse cached content for defined words and replace them with a link pointing towards the glossary. To get this functionality working you will must configure it using the Extension Manager: |img-5| Do not forget to press the “update” button .. _Mandatory: Mandatory """"""""" - Enable glossary : this is mandatory for the content parsing to work. If not checked the content won't be parsed and words will not be linked to glossary. - Tag use to wrap content to parse : This tag has to be be placed in the HTML template where you wish the crawler to parse.For example, place it a the start and end of you central content column. - Theses markers are removed by the plugin. Example :
[...page content..]
.. _Optional: Optional """""""" - Max replacement in a page : maximum number of word replacement in a page. - Max replacement for a word, in a page : same, for a word. Use extension's CSS : disable if you don't want to use the extension's CSS. .. _Users-manual: Users manual ------------ .. _Creating-Words: Creating Words ^^^^^^^^^^^^^^ //Using list mode, placed in a SysFolder, you can create a new type of records : Words. Create a sysfolder in list mode wherein you can create a new type of records : Words |img-6| Tags items include following fields : - Language : Word's language, will allow to create a tag twice, with different values, according to the language - Hide / Start date / End date : Allow to completely disable word, or give him a start date (hidden before the date) or/and end date (hiddden after the date) , - Word : Word to search for in content, that will appear in the glossary - Aliases : Aliases for the word, which will point to original word's definition. One per line. - URL rewrite alias : Will allow to have a nice URL rewrite on links to definitions. See example configuration in following chapter. - |img-7| Keywords : not used by the extension, but can be used to build page keywords See TYPOSCRIPT example in the following chapter. .. _Adding-glossary-plugin-to-a-page: Adding glossary plugin to a page ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Once you've created words, you can consult them with the glossary plugin. You can add the plugin by adding a new content on a page. Choose the content type “Glossary” in the plugin section: |img-8| You must configure the plugin using the flexform: |img-9| - Starting point : Sysfolders containing the words. - LetterBar Layout : Define composition of the letterbar that will appear on top of your glossary. - Letters: displays the whole alphabet. - Numeric: is used for word starting with figures. It displays figures, from 0 to 9, each with a different link. - Numeric (grouped): is used for word starting with figures. It displays figures grouped under a [0-9] link. - Symbols: is used for word starting with symbols ($,&, etc). It displays every symbol used by at least one word, each with a different link. - Symbols (grouped): groups all the symbol word under a [ . ] link. Example of LetterBar layout with *Letters* , *Numeric grouped* and *Symbols grouped* : |img-10| Example of LetterBar layout with *Letters* and *Numeric* : |img-11| .. _Screenshots: Screenshots ^^^^^^^^^^^ Frontend plugin : |img-12| Replaced word, with a tooltip appearing on hover |img-13| .. _Special-Thanks: Special Thanks ^^^^^^^^^^^^^^ This development was made possible thanks to Poweo (http://www.poweo.com). Thanks to them. .. _TYPOSCRIPT-Configuration: TYPOSCRIPT Configuration ^^^^^^^^^^^^^^^^^^^^^^^^ .. _Mandatory: Mandatory """"""""" If you enabled content parsing (link to glossary), you :underline:`must` define the following value in your TYPOSCRIPT template: \- glossary\_page\_uid : Page where the glossary plugin is placed. Example : plugin.smile\_glossary {glossary\_page\_uid = 84} .. _Optional: Optional """""""" You can also change other Typoscript constants : Extension configuration : - wordsPid : List of folder(s) which contains word to look for. If not specfied, all words will be searches for. - crop : configuration is the same as stdWrap crop. Format is “length \| string”.Definition will be cropped to this length. If cropped it will be appended by the second string.Example: 100 \| ... - parseFunc : RTE parsing function used for description. - template : template for the link which replaces words. - templateTrim : will trim space from the above template before use. Useful to avoid white spaces. - JsFile : Javascript file for tooltip building, if not set, will use default JS - cssFile : CSS file for tooltip design, if not set, will use default CSS Example: plugin.smile\_glossary { glossary\_page\_uid = XXX words\_pid = 83,55,47 crop = 150\|... parseFunc = lib.parseFunc\_RTE template = EXT:smile\_glossary/res/glossary\_link.html templateTrim = 1 jsFile = path/to/tooltip/javascript cssFile = path/to/tooltip/css } Plugin configuration : - template : Template for the glossary plugin - enableLocale : Enable the use of localisation - hideNoneTranslated : Hide records with no translation for the current language. - string.symbolGroup : Name for the symbol group, default value “.” - string.numericGroup : Name for the numeric group, default value “0-9” .. _Disable-replacement-on-one-page: Disable replacement on one page ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can easily stop the word replacement in a specific page. In a page “Properties” just check the disable automatic links to glossary. |img-14| .. _Use-Keywords-for-search-engine-optimization: Use Keywords for search engine optimization ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can use the Keywords defined in the word items, with a similar Typoscript : ############################# \# Build the meta tags : keywords ##### lib.keywordstag = TEXT lib.keywordstag.field = keywords [globalVar = GP:tx\_smileglossary\_pi1\|word > 0] lib.keywordstag > lib.keywordstag = COA lib.keywordstag.10 = TEXT lib.keywordstag.10.field = keywords #lib.keywordstag.10.wrap = \|, lib.keywordstag.20 = RECORDS lib.keywordstag.20 { dontCheckPid = 1 tables = tx\_smileglossary\_word source.data = GPvar:tx\_smileglossary\_pi1\|word conf.tx\_smileglossary\_word = TEXT conf.tx\_smileglossary\_word.field = keywords } [global] .. _RealURL-Configuration-example: RealURL Configuration example ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you are using RealURL, you can easily configure a URL rewrite according to the URL aliases you've defined in the words records. To do so, in your RealURL array configuration ($GLOBALS['TYPO3\_CONF\_VARS']['EXTCONF']['realurl']),you can add the following example : 'postVarSets'=>array( // Smile Exemple - begin 'word'=>array( array( 'GETvar'=>'tx\_smileglossary\_pi1[word]', 'lookUpTable'=>array( 'table'=>'tx\_smileglossary\_word', 'id\_field'=>'uid', 'alias\_field'=>'word', 'addWhereClause'=>' AND NOT deleted', 'useUniqueCache'=>1, 'useUniqueCache\_conf'=>array( 'strtolower'=>1, 'spaceCharacter'=>'-', ), ), ), ), // Smile Exemple - end .. _Known-problems: Known problems -------------- If you encounter problem or a bug using this extension, feel free to contact us at typo3[at]smile.fr .. _To-Do-list: To-Do list ---------- If you have any ideas to improve this extension, feel free to contact us at typo3[at]smile.fr .. _ChangeLog: ChangeLog --------- .. ### BEGIN~OF~TABLE ### .. _1-0-0: 1.0.0 ^^^^^ .. container:: table-row Version 1.0.0 Changes Initial extension publishing .. ###### END~OF~TABLE ###### |img-2| 17 .. ######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: 23 .. :id: images6 .. :name: images6 .. :width: 659 .. |img-4| image:: img-4.png .. :align: left .. :border: 0 .. :height: 696 .. :id: images2 .. :name: images2 .. :width: 506 .. |img-5| image:: img-5.png .. :align: left .. :border: 0 .. :height: 366 .. :id: images12 .. :name: images12 .. :width: 585 .. |img-6| image:: img-6.png .. :align: left .. :border: 0 .. :height: 42 .. :id: images4 .. :name: images4 .. :width: 204 .. |img-7| image:: img-7.png .. :align: left .. :border: 0 .. :height: 492 .. :id: images5 .. :name: images5 .. :width: 441 .. |img-8| image:: img-8.png .. :align: left .. :border: 0 .. :height: 43 .. :id: images8 .. :name: images8 .. :width: 295 .. |img-9| image:: img-9.png .. :align: left .. :border: 0 .. :height: 504 .. :id: images9 .. :name: images9 .. :width: 600 .. |img-10| image:: img-10.png .. :align: left .. :border: 0 .. :height: 68 .. :id: images10 .. :name: images10 .. :width: 437 .. |img-11| image:: img-11.png .. :align: left .. :border: 0 .. :height: 96 .. :id: images11 .. :name: images11 .. :width: 472 .. |img-12| image:: img-12.png .. :align: left .. :border: 0 .. :height: 545 .. :id: images1 .. :name: images1 .. :width: 542 .. |img-13| image:: img-13.png .. :align: left .. :border: 0 .. :height: 353 .. :id: images7 .. :name: images7 .. :width: 453 .. |img-14| image:: img-14.png .. :align: left .. :border: 0 .. :height: 293 .. :id: images3 .. :name: images3 .. :width: 353