Multi Domain TYPO3 Sites using CoolUri and jb_status_code
Multilingual Sites are marked yellow
ABC-T3Pack - Instant Typo3 Solutions, Training and Support
Landesverband der Freien Wähler Bayern (Kontakt: Steffen Gerbert - http://www.steffen-gebert.de)This multidomain-site actually consists of 103 domains serving about 13k pages for the >330 city-/county-associations of Freie Wähler in Bavaria participating in this TYPO3-installation
Next Site
http://
Next Site
http://
Single Domain TYPO3 Sites using Cooluri and jb_status_code
Multilingual Sites are marked yellow
Castello Monte Gallini - Cooluri and YAML (Kontakt; Frank Huettner - http://web-me.org )
Freie Wähler Marktzeuln - Cooluri and YAML-TV (Kontakt: Frank Hüttner - http://web-me.org )
http://www.fw-marktzeuln.de
Ingenieurbüro für Bauplanung Marc-A. Fleischmann (Kontakt: Frank Hüttner - http://web-me.org )
Jan Bednariks Homepage
Klamert Bau GmbH (Kontakt: Frank Huettner - http://web-me.org )
ProFiesta GbR - „Feier lieber ungewöhnlich“ (Kontakt: Frank Hüttner - http://web-me.org )
Sunisa H.H.R. International Company Ltd. (Kontakt: Andreas Becker - http://www.t3pack.org )
6. Go to the Extension Manager
7. Choose in the TOP Dropdown Menu: Import Extensions
8. Go to: Extensions in TYPO3 Extension Repository
9. In the input field type: cooluri - and press the look up button
10. Choose the cooluri Extension and click on the read arrow on the left side
Step 4 - Installation
1. Press the Button: Make Updates - some database tables need to be modified or added
2. In the configuration part define (TIP: keep the defaults):A. Language var
Here you can define the variable used in the xml configuration file which defines the Language Entries (default: L)B. xml-path
Define where you have stored the CoolUriConf.xml (default: typo3conf)C. Multi domain site
Check this if you are having more then one Domain/Subdomain in your TYPO3 Installation.
>>> if everything is OK the continue with Step 5
Step 5 - Domain Entry Check
1. Open List module
2. Go to the Page Tree
Here starts the Main Root - You need a Domain Record (test.abc-typo3.com ) and a Root Template here
Click on "Links" to get from the UNESCO BKK T3-Pack to the MULTIDOMAIN, SUBDOMAIN and ROOTDOMAIN Site
Here start another Root - You need a Domain Record (multidomain.t3pack.org ) and a Root Template here
This Page is pointed by a subdomain - You need a Domain Record only (subdomain.t3pack.org )
To avoid doubled content you need to use a 301 redirect like shown below
Here start another Root - You need a Domain Record (rootdomain.t3pack.org ) and a Root Template here
This Page links back to the MainPage
This Page links back to the MainPage
if you are running a Multidomain Site you will have to repeat 3-6 for each Domainroot!3. Click on the Rootpage of your Pagetree
4. Check if there is a Domain Record available
if yes
4.1 check if the domain entry is using the right syntax to avoid doubled content. (see examples below )if no
>>> continue with 5
4.2 click on: create a new record (you'll find it at the button of the page)5. Your Domain Record should have the following syntax.
4.3 choose: Domain
4.4 enter: your domain values (see examples below )
4.5. check your entry
>>> continue with 5
Example: Domain Record - SUBDOMAIN incl. 301 redirect.
The domain which will be called without http:// !!!
The domain you wanna redirect to with http:// !!!
write down the exact link to the page with trailing slash (more Info )
Please check it to transfer all paranmeters to the redirect record.
Here you enter the Status code.
In our Example it is 301 for the Redirect: Permanently moved - to aviod dublicated content
Save and Close
More Info:
If someone types in his browser "subdomain.abc-typo3.com" he will be led directly to a subpage in MULTIDOMAIN called SUBDOMAIN
Even the page SUBDOMAIN has got a subtree we don't want that the link to subpages will look like "subdomain.abc-tpo3.com/sub_page_1/" if we call them from SUBDOMAIN and "multidomain.abc-typo3.com/subdomain/sub_page_1/" if the same page is been called from a page in MULTIDOMAIN.
Therfore we have to redirect the call "subdomain.abc-typo3.com" to the pageUrl as if the page would be called from MULTIDOMAIN
It has to be "multidomain.abc-typo3.com/subdomain/"
6. Check if the Status Code Box is available on the button of the domain record
If you haven't already jb_status_code installed - do it now and then continue here!
>>> Install JB_Status_Code - Go to the JB_Status_Code - Redirect 301 - Tutorial
>>> If everything is OK continue with Step 6
JB_Status_Code Tutorial
JB_Status_Code adds a new field for status code to the domain record where you can insert i.e. redirecting code and more
It enables you to redirect 301 within TYPO3. No need to edit your .htaccess!
Simply install the extension and it is working
i.e. you want to redirect 301 - permanently moved - your domain without www. to the domain using the www. prefix
Enter your domain you wanna redirect: example.comYou also need to create a second domain record for www.example.com
Enter the domain you want to redirect to: http://www.example.com
Attention don't forget the http:// in front of this second "redirect to" entry. BUT http:// is not needed in the first entry!Check the box: Transfer Parameters to Redirect URL
Enter 301 into the small Status code box below
Create a new domain recordThat's it!
Use Listmodule
Go to your page
Search for the Domain Box
Click the green plus in the domain field
Enter your domain you wanna redirect: www.example.com
Save and close
>>> Please repeat Step 5 if you haven't made the required settings
>>> if everything is OK the continue with Step 6
Step 6 - Template Setup Typoscript Check
1. Open Template module2. Go to the Page Tree
if you are running a Multidomain Site you will have to repeat 3-6 for each Domainroot!3. Click on the Rootpage of your Pagetree
4. Open: Setupif you had realurl installed search for the realurl Entry and replace it
# Cooluri
config.simulateStaticDocuments = 0
config.baseURL = http://www.example.com/ use your domain here
config.tx_cooluri_enable = 1
config.redirectOldLinksToNew = 15. Save and Close
6. Repeat 3-6 for every Rootpage you have inside your TYPO3 Installation
Step 7 - Cleaning up realurl and localconf.php - Moving from RealURL!
If you are switching from realurl to cooluri you need to do a very carefull cleanup!
1. Please deinstall the following extensions:
adaltas_realurl_i18n2. Cleaning your Template Setup Typoscript
aeurltool
bk_realurl
cab_realurl_languageselector
danp_realurlconfigurator
jb_realurl_regeneration
nfc_realurl_individual
p2_realurl
realurl
realurlmanagement
realurlmanmoduleexample
realurlsettings
weeaar_languagemenu
(this list might be incomplete - please report missing extensions which are no longer needed if you are using cooluri)
You need to remove all RealUrl Settings and those made by the extensions mentioned above!
3. Clean your localconf.php file - Go here if you are using a separate config fileIn order to have a clean configuration of cooluri you should clean the localconf.php file in your typoconf directory from all kind of entries caused by the above mentioned realurl stuff
i.e. everything marked red should be removed as all configuration is done with an .xml file
<?php
$TYPO3_CONF_VARS['SYS']['sitename'] = 'New TYPO3 site';
// Default password is "joh316" :
$TYPO3_CONF_VARS['BE']['installToolPassword'] = 'bacb98acf97e0b6112b1d1b650b84971';
$TYPO3_CONF_VARS['SYS']['sitename'] = '';
$TYPO3_CONF_VARS['SYS']['cookieDomain'] = '';
$TYPO3_CONF_VARS['BE']['warning_email_addr'] = '';
$TYPO3_CONF_VARS['BE']['notificationPrefix'] = '[TYPO3 Note]';
$TYPO3_CONF_VARS['BE']['installToolPassword'] = '';
$typo_db_username = '';
$typo_db = '';
$typo_db_password = '';
$typo_db_host = '';
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['linkData-PostProc'][] = 'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['checkAlternativeIdMethods-PostProc'][] = 'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urldecodecache'] = 'tx_realurl_urldecodecache';
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urlencodecache'] = 'tx_realurl_urlencodecache';
$TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',tx_realurl_pathsegment';
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => 1,
'enableUrlEncodeCache' => 1,
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '_',
'languageGetVar' => 'L',
'expireDays' => 7,
'rootpage_id' => 61,
),
/* Prevars show up in the first part of the URL */
'preVars' => array(
array(
'GETvar' => 'L',
'valueMap' => array(
'en' => '1',
'de' => '2',
'th' => '3',
'valueDefault' => 'en',
),
'noMatch' => 'bypass',
),
),
/* fixedPostVars are limited to a single page in the backend */
'fixedPostVars' => array(
/* User Account */
'52' => array(
array(
'GETvar' => 'tx_srfeuserregister_pi1[cmd]',
),
),
/*
* Calendar Pages
* ************************************************************* /
/* Month */
'53'=> array(
array( 'GETvar' => 'tx_calendar_pi1[f1]' ),
array( 'GETvar' => 'tx_calendar_pi1[f2]' ),
),
/* Week */
'56'=> array(
array( 'GETvar' => 'tx_calendar_pi1[f1]' ),
array( 'GETvar' => 'tx_calendar_pi1[f2]' ),
),
/* Day */
'55'=> array(
array( 'GETvar' => 'tx_calendar_pi1[f1]' ),
array( 'GETvar' => 'tx_calendar_pi1[f2]' ),
array( 'GETvar' => 'tx_calendar_pi1[f3]' ),
),
/* Event Page */
'54'=> array(
array(
'GETvar' => 'tx_calendar_pi1[f1]',
'lookUpTable' => array(
'table' => 'tx_calendar_item',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'userUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
/* Blog Home */
/*
'81' => array(
// news categories
'category' => array(
array(
'GETvar' => 'tx_ttnews[cat]',
'lookUpTable' => array(
'table' => 'tt_news_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
),
),*/
'82' => array(
array(
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array(
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
),
'40' => array(
array(
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array(
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
),
'74' => array(
array(
'GETvar' => 'sub',
'valueMap' => array(
'subscribe' => '1',
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'respond',
'lookUpTable' => array (
'table' => 'tx_wecconnector_entries',
'id_field' => 'uid',
'alias_field' => 'subject',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
'noMatch' => 'bypass',
),
),
'79' => array(
array(
'GETvar' => 'devo_sec',
'lookUpTable' => array (
'table' => 'tx_wecdevo_section',
'id_field' => 'uid',
'alias_field' => 'name',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
array(
'GETvar' => 'txtpg',
'valueMap' => array(
'single_page' => '1',
'multiple_pages' => '2',
'scrolling' => '3',
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'txtsz',
'valueMap' => array(
'small_text' => '1',
'medium_text' => '2',
'large_text' => '3',
),
'noMatch' => 'bypass',
),
),
'87' => array(
array(
'GETvar' => 'showinterest',
'lookUpTable' => array(
'table' => 'tx_wecservant_minopp',
'id_field' => 'uid',
'alias_field' => 'name',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
),
),
'postVarSets' => array(
'_DEFAULT' => array (
'photobook' => array(
array('GETvar' => 'tx_gooffotoboek_pi1[srcdir]'
),
array(
'GETvar' => 'tx_gooffotoboek_pi1[fid]'
),
array(
'GETvar' => 'tx_gooffotoboek_pi1[func]',
'valueMap' => array(
'thumbnails' => 'thumb',
),
),
),
),
),
'postVarSets' => array(
'_DEFAULT' => array (
'browse' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
),
),
'app' => array(
'type' => 'single',
'keyValues' => array(
'type' => 200,
),
),
'trackback' => array(
'type' => 'single',
'keyValues' => array(
'tx_timtab_pi2[trackback]' => 1,
),
),
'archive' => array(
array(
'GETvar' => 'tx_ttnews[year]',
),
array(
'GETvar' => 'tx_ttnews[month]',
),
),
/* News Categories */
'category' => array(
array(
'GETvar' => 'tx_ttnews[cat]',
'lookUpTable' => array(
'table' => 'tt_news_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
),
'forum' => array(
array(
'GETvar' => 'view',
),
array(
'GETvar' => 'cat_uid',
'lookUpTable' => array(
'table' => 'tx_chcforum_category',
'id_field' => 'uid',
'alias_field' => 'cat_title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'conf_uid',
'lookUpTable' => array(
'table' => 'tx_chcforum_conference',
'id_field' => 'uid',
'alias_field' => 'conference_name',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'thread_uid',
'lookUpTable' => array(
'table' => 'tx_chcforum_thread',
'id_field' => 'uid',
'alias_field' => 'thread_subject',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'post_uid',
'lookUpTable' => array(
'table' => 'tx_chcforum_post',
'id_field' => 'uid',
'alias_field' => 'post_subject',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'cal_group' => array(
array(
'GETvar' => 'tx_calendar_pi1[targetgroup]',
'lookUpTable' => array(
'table' => 'tx_calendar_targetgroup',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'cal_category' => array(
array(
'GETvar' => 'tx_calendar_pi1[category]',
'lookUpTable' => array(
'table' => 'tx_calendar_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'not_cached' => array(
'type' => 'single',
'keyValues' => array(
'no_cache' => 1,
),
),
),
),
'fileName' => array (
'index' => array(
'index.xml' => array(
'keyValues' => array (
'type' => 100,
)
),
'print.html' => array(
'keyValues' => array(
'type' => 98,
)
),
'defaultToHTMLsuffixOnPrev' => 0,
),
),
);
$TYPO3_CONF_VARS['EXT']['extList'] = 'tsconfig_help,context_help,extra_page_cm_options,impexp,sys_note,tstemplate,tstemplate_ceditor,tstemplate_info,tstemplate_objbrowser,tstemplate_analyzer,func_wizards,wizard_crpages,wizard_sortpages,lowlevel,install,belog,beuser,aboutmodules,setup,taskcenter,info_pagetsconfig,viewpage,rtehtmlarea,css_styled_content';
$typo_db_extTableDef_script = 'extTables.php';
## INSTALL SCRIPT EDIT POINT TOKEN - all lines after this points may be changed by the install script!
$TYPO3_CONF_VARS['EXT']['extConf']['partner'] = 'a:1:{s:13:"noTabDividers";s:1:"0";}'; // Modified or inserted by TYPO3 Extension Manager.
// Updated by TYPO3 Extension Manager:39:04
// Updated by TYPO3 Install Tool:57:50
$TYPO3_CONF_VARS['EXT']['extConf']['news_lngselect'] = 'a:2:{s:11:"defaultFlag";s:14:"United Kingdom";s:10:"oneDefault";s:1:"1";}'; // Modified or inserted by TYPO3 Extension Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['p2_realurl'] = 'a:2:{s:13:"language_uids";s:3:"all";s:20:"default_language_uid";s:1:"1";}'; // Modified or inserted by TYPO3 Extension Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['js_select'] = 'a:1:{s:5:"JSDIR";s:16:"fileadmin/abc/j/";}'; // Modified or inserted by TYPO3 Extension Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['css_select'] = 'a:2:{s:6:"CSSDIR";s:16:"fileadmin/abc/c/";s:6:"CSSEXT";s:3:"css";}'; // Modified or inserted by TYPO3 Extension Manager.
......... PLEASE CHECK THE COMPLETE FILE!!!
?>
4. Moving from RealURL with separate RealURL config file
==============================================
- If you used a separate RealURL config file (i.e. realurl_config.php), delete it.
- Delete the include at localconf.php too.
- Delete the following RealURL tables from your database using PHPMyAdmin
(if you know how to do it, otherwise leave it alone)
- tx_realurl_chashcache
- tx_realurl_errorlog
- tx_realurl_pathcache
- tx_realurl_redirects
- tx_realurl_uniqalias
- tx_realurl_urldecodecache
- tx_realurl_urlencodecache
>>> if you are finished check once again and then continue with Step 8
Step 8 - CoolUriConf.xml Check
1. Copy the CoolUriConf.xml_default to the typo3conf directory
using SSH from typo3conf directory
cp ext/cooluri/cooluri/CoolUriConf.xml_default CoolUriConf.xmlusing ftp or cpanel etc.
go to typo3conf/ext/cooluri/cooluri/ folder
mark CoolUriConf.xml_default
Copy this file to typo3conf
Rename this file to CoolUriConf.xml2. Edit the CoolUriConf.xml file according to your needs.
The default is:
<?xml version="1.0" encoding="utf-8"?>To modify and add the settings according to your needs, edit the CoolUriConf.xml
<cooluri>
<cooluris>1</cooluris>
<cache>
<usecache>1</usecache>
<params2cool>
<checkforchangeevery>1</checkforchangeevery>
</params2cool>
<cool2params>
<translateifnotfound>0</translateifnotfound>
<oldlinksvalidfor>365</oldlinksvalidfor>
</cool2params>
<cacheparams>0</cacheparams>
<pagenotfound>
<status>HTTP/1.0 404 Not Found</status>
<behavior type="message"><![CDATA[ <h1>Page not found!</h1> ]]></behavior>
</pagenotfound>
</cache>
<pagepath>
<title>alias,subtitle,title</title>
<saveto>id</saveto>
<default>0</default>
<userfunc>tx_cooluri->getPageTitle</userfunc>
</pagepath>
<uriparts>
<part>
<parameter>tx_ttnews[tt_news]</parameter>
<lookindb>
<to>SELECT title FROM tt_news WHERE uid=$1</to>
<translatetoif>
<match>^[0-9]+$</match>
</translatetoif>
<urlize>1</urlize>
</lookindb>
</part>
<part>
<parameter>tx_eeblog[showUid]</parameter>
<lookindb>
<to>SELECT subject FROM tx_eeblog_maintable WHERE uid=$1</to>
<translatetoif>
<match>^[0-9]+$</match>
</translatetoif>
<urlize>1</urlize>
</lookindb>
</part>
</uriparts>
<predefinedparts>
<part>
<parameter>tx_ttnews[backPid]</parameter>
</part>
<part>
<parameter>cHash</parameter>
</part>
<part>
<parameter>tx_eeblog[pointer]</parameter>
</part>
<part>
<parameter>tx_eeblog[backPID]</parameter>
</part>
<part>
<parameter>no_cache</parameter>
</part>
</predefinedparts>
<valuemaps>
<valuemap>
<parameter>L</parameter>
<value key="">0</value>
<value key="en">1</value>
</valuemap>
</valuemaps>
<paramorder>
<param>L</param>
</paramorder>
</cooluri>
(TIP: Do it in a Second Step after you have finished this Tutorial - Try first the default settings)
Step 9 - Create new URLs with CoolUri-Manager
1. Open the Backend of TYPO3
2. Go to Tools
3. Click on CoolUri - the CoolUri Manager will open
4. Press Delete/Update All
5. Click on DELETE EVERYTHING AND START AGAIN
6. Clear your TYPO3 Caches
7. Clear the Browser Cache
8. Call your domain(s) and check
Step 10 - Check your Site(s)
1. Try to click on the Menus and check their linksFURTHER STEPS - Managing the URLs
All URLs are stored like shown on the picture below
Domain@url Parameters Created Options
- Clicking on the stick will open the Edit Page of the specific URL
(Screenshot goes here)
- Clicking on the green arrows will delete and renew the specific URL
- Clicking on the dustbin will delete the URL. A new one will be created when the page is called again.
Tips and Tricks with CoolUri
Changing from RealUrl oder StaticUrl to CoolUri.
If you want to preserve your old links you should save your values externally, so they can be copied back into cooluri:
CoolUri is storing Values like this
Moving from RealUrl to CoolUri
Follow Step 1 - 10
Additionally you need to do a special check of your former RealUrl Configuration - VERY IMPORTANT!
Check your localconf.php
Check your separate RealUrl Config file
(if you had your RealUrl Configuration in such a file or one of the followin extensions installed
i.e.
- if you used cbstarter Extension - you need to delete the file and the include in localconf.php
- if you are using abcstarter the RealUrl file is only active if people are using PHP4. No further settings are needed here.
CoolUri is default in abcstarter
Moving from Simulate Static to CoolUri
XML-EXAMPLES
Languages XML
ab_downloads
ab_linklist
advCalendar
bahag_fotogallery
Creating the Settings is easy:
parameter => URL
-----------------------
somevariable=X => X
uriparts:
<part>
<parameter>somevariable</parameter>
</part>
somevariable=X => X is UID in DB table => get value
uriparts:
<part>
<parameter>somevariable</parameter>
<lookindb>
<to>SELECT title FROM table WHERE uid=$1</to>
<t3conv>1</t3conv>
</lookindb>
</part>
somevariable=X => sometextX
predefinedparts:
<part key="sometext([0-9]+)" regexp="1">
<parameter>somevariable</parameter>
</part>
somevariable=X => X'
somevariable=Y => Y'
somevariable=Z => Z'
valuemaps:
<valuemap>
<parameter>somevariable</parameter>
<value key="">0</value>
<value key="X'">X</value>
<value key="Y'">Y</value>
<value key="Z'">Z</value>
</valuemap>
somevariable=X => remove from URL
predefinedparts:
<part>
<parameter>somevariable</parameter>
</part>
somevariable=X => (value from DB)-X
uriparts:
<part>
<parameter>somevariable</parameter>
<lookindb>
<to>SELECT CONCAT(title,'-',uid) FROM table WHERE uid=$1</to>
<t3conv>1</t3conv>
</lookindb>
</part>CoolUri XML Settings --- in comparison to --- RealURL Settings in localconf.php
A - Z
CoolUri (new in CoolUriConf.xml) |
RealURL (old in localconf.php) |
| The Language should appear as full name at the end |
| <valuemaps> <valuemap> <parameter>L</parameter> <value key="">0</value> <value key="english">1</value> <value key="deutsch">2</value> <value key="thai">3</value> <value key="chinese">4</value> <value key="arabic">5</value> <value key="hebrew">6</value> <value key="greek">7</value> <value key="russian">8</value> <value key="hinti">9</value> <value key="japanese">10</value> </valuemap> </valuemaps> <partorder> <part>pagepath</part> <part>uriparts</part> <part>predefinedparts</part> <part>valuemaps</part> </partorder> NOTE: If your xml is already ordered
|
What will be the RealURL settings in localconf.php for this example? - The Language should appear as full name at the end - If somebody can figure out them please contact us! THX |
| The Language should appear as 2 letters name just after the domain name |
| <valuemaps> <valuemap> <parameter>L</parameter> <value key="">0</value> <value key="de">1</value> <value key="th">2</value> <value key="zn">3</value> <value key="jp">4</value> <value key="ar">5</value> <value key="hebrew">6</value> <value key="greek">7</value> <value key="ru">8</value> <value key="hinti">9</value> </valuemap> </valuemaps> <partorder> <part>valuemaps</part> <part>pagepath</part> <part>uriparts</part> <part>predefinedparts</part> </partorder> NOTE: If your xml is already ordered
|
, array( 'GETvar' => 'L', 'valueMap' => array( 'english' => '0', 'uk' => '0', 'us' => '0', 'de' => '1', 'th' => '2', 'zn' => '3', 'jp' => '4', 'ar' => '5', 'hebrew' => '6', 'greek' => '7', 'ru' => '8', 'hinti' => '9', ), 'noMatch' => 'bypass', ), ) , 'pagePath' => array( 'type' => 'user' , 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main' , 'spaceCharacter' => '-' , 'languageGetVar' => 'L' , 'rootpage_id' => 1 , 'disablePathCache' => 0 , 'autoUpdatePathCache' => 0 , 'expireDays' => 1095 , 'segTitleFieldList' => 'tx_realurl_pathsegment,alias,title,nav_title' , 'excludePageIds' => null ) |
| , 'dl-action' => array( array( 'GETvar' => 'tx_abdownloads_pi1[action]', 'valueMap' => array( 'show-category' => 'getviewcategory', 'propose-a-new-download' => 'getviewaddnewdownload', 'open-download' => 'getviewclickeddownload', 'show-details-for-download' => 'getviewdetailsfordownload', 'report-broken-download' => 'getviewreportbrokendownload', 'rate-download' => 'getviewratedownload', ), ), ) , 'dl-category' => array( array( 'GETvar' => 'tx_abdownloads_pi1[category_uid]', 'valueMap' => array( 'home' => '0', ), 'lookUpTable' => array( 'table' => 'tx_abdownloads_category', 'id_field' => 'uid', 'alias_field' => 'label', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ) , 'dl-download' => array( array( 'GETvar' => 'tx_abdownloads_pi1[uid]', 'lookUpTable' => array( 'table' => 'tx_abdownloads_download', 'id_field' => 'uid', 'alias_field' => 'label', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ) , 'dl-pointer' => array( array( 'GETvar' => 'tx_abdownloads_pi1[pointer]', ), ) |
<uriparts> <part> <parameter>tx_ablinklist_pi1[category_uid]</parameter> <lookindb> <to>SELECT label FROM tx_ablinklist_category WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_ablinklist_pi1[uid]</parameter> <lookindb> <to>SELECT label FROM tx_ablinklist_link WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> </uriparts> <predefinedparts> <part> <parameter>tx_ablinklist_pi1[action]</parameter> </part> <part> <parameter>tx_ablinklist_pi1[pointer]</parameter> </part> <part> <parameter>cHash</parameter> </part> <part> <parameter>no_cache</parameter> </part> </predefinedparts> <valuemaps> <valuemap> <parameter>L</parameter> <value key="">0</value> <value key="en">1</value> </valuemap> <valuemap>
<parameter> tx_ablinklist_pi1[category_uid] </parameter><value key="home">0</value>
</valuemap> <valuemap> <parameter>
tx_ablinklist_pi1[action] </parameter><value key="show-category">getviewcategory</value> <value key="propose-a-new-link">getviewaddnewlink</value><value key="open-link">getviewclickedlink</value> <value key="show-details-for-link">getviewdetailsforlink</value> </valuemap> <value key="report-broken-link">getviewreportbrokenlink</value> </valuemap> <value key="rate-link">getviewratelink</value> </valuemap> </valuemaps> |
/** * * Example RealURL setup for extension ab_linklist * */ $TYPO3_CONF_VARS['EXTCONF']['realurl'] = array( '_DEFAULT' => array( 'init' => array( 'enableCHashCache' => 1, 'enableUrlDecodeCache' => 1, 'enableUrlEncodeCache' => 1, 'appendMissingSlash' => 'ifNotFile', ), 'redirects' => array(), 'preVars' => array( array( 'GETvar' => 'no_cache', 'valueMap' => array( 'nc' => 1, ), 'noMatch' => 'bypass', ), array( 'GETvar' => 'L', 'valueMap' => array( 'de' => '0', 'en' => '1', ), 'noMatch' => 'bypass', ), ), 'pagePath' => array( 'type' => 'user', 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', 'spaceCharacter' => '-', 'languageGetVar' => 'L', 'expireDays' => 7, ###### Set your root page ID here ###### 'rootpage_id' => 1, ), 'fixedPostVars' => array(), 'postVarSets' => array( '_DEFAULT' => array( 'action' => array( array( 'GETvar' => 'tx_ablinklist_pi1[action]', 'valueMap' => array( 'show-category' => 'getviewcategory', 'propose-a-new-link' => 'getviewaddnewlink', 'open-link' => 'getviewclickedlink', 'show-details-for-link' => 'getviewdetailsforlink', 'report-broken-link' => 'getviewreportbrokenlink', 'rate-link' => 'getviewratelink', ), ), ), 'category' => array( array( 'GETvar' => 'tx_ablinklist_pi1[category_uid]', 'valueMap' => array( 'home' => '0', ), 'lookUpTable' => array( 'table' => 'tx_ablinklist_category', 'id_field' => 'uid', 'alias_field' => 'label', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), 'link' => array( array( 'GETvar' => 'tx_ablinklist_pi1[uid]', 'lookUpTable' => array( 'table' => 'tx_ablinklist_link', 'id_field' => 'uid', 'alias_field' => 'label', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), array( 'GETvar' => 'cHash', ), ), 'pointer' => array( array( 'GETvar' => 'tx_ablinklist_pi1[pointer]', ), ), ), ), ), ); |
| , 'll-action' => array( array( 'GETvar' => 'tx_ablinklist_pi1[action]', 'valueMap' => array( 'show-category' => 'getviewcategory', 'propose-a-new-link' => 'getviewaddnewlink', 'open-link' => 'getviewclickedlink', 'show-details-for-link' => 'getviewdetailsforlink', 'report-broken-link' => 'getviewreportbrokenlink', 'rate-link' => 'getviewratelink', ), ), ) , 'll-category' => array( array( 'GETvar' => 'tx_ablinklist_pi1[category_uid]', 'valueMap' => array( 'home' => '0', ), 'lookUpTable' => array( 'table' => 'tx_ablinklist_category', 'id_field' => 'uid', 'alias_field' => 'label', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ) , 'll-link' => array( array( 'GETvar' => 'tx_ablinklist_pi1[uid]', 'lookUpTable' => array( 'table' => 'tx_ablinklist_link', 'id_field' => 'uid', 'alias_field' => 'label', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ) , 'll-pointer' => array( array( 'GETvar' => 'tx_ablinklist_pi1[pointer]', ), ) , 'cal'=> array( array( 'GETvar' => 'tx_cal_controller[view]' ), array( 'GETvar' => 'tx_cal_controller[getdate]' ), array( 'GETvar' => 'tx_cal_controller[lastview]' ), array( 'GETvar' => 'tx_cal_controller[type]' ), array( 'GETvar' => 'tx_cal_controller[category]', 'lookUpTable' => array( 'table' => 'tx_cal_category', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), array( 'GETvar' => 'tx_cal_controller[uid]', 'lookUpTable' => array( 'table' => 'tx_cal_event', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ) |
| , 'calender-category' => array( array( 'GETvar' => 'tx_advCalendar_pi1[category]' ) ) , 'view' => array( array( 'GETvar' => 'view' ) ) , 'chc-forum' => array( array( 'GETvar' => 'cat_uid' ) , array( 'GETvar' => 'conf_uid' ) , array( 'GETvar' => 'thread_uid' ) ) , 'eventid' => array( array( 'GETvar' => 'eventid' ) ) , 'editflag' => array( array( 'GETvar' => 'editflag' ) ) , 'start' => array( array( 'GETvar' => 'start' ) ) , 'day' => array( array( 'GETvar' => 'day' ) ) , 'week' => array( array( 'GETvar' => 'week' ) ) , 'month' => array( array( 'GETvar' => 'month' ) ) , 'return-to' => array( array( 'GETvar' => 'backURL' ) ) , 'command' => array( array( 'GETvar' => 'cmd' ) ) , 'year' => array( array( 'GETvar' => 'year' ) ) |
| , 'gallery' => array( array( 'GETvar' => 'gallery' ) ) , 'view-image' => array( array( 'GETvar' => 'viewImage' ) ) , 'result-page' => array( array( 'GETvar' => 'resultPage' ) ) , 'index' => array( array( 'GETvar' => 'idx' ) ) , 'an-mode' => array ( array('GETvar' => 'tx_piapappnote_pi1[mode]') ) , 'an-pointer' => array ( array('GETvar' => 'tx_piapappnote_pi1[pointer]') ) , 'an-file' => array ( array('GETvar' => 'tx_piapappnote_pi1[file]') ) , 'an-seach-word' => array ( array('GETvar' => 'tx_piapappnote_pi1[sword]') ) , 'an-note-id' => array ( array('GETvar' => 'tx_piapappnote_pi1[noteid]') ) , 'an-author' => array ( array('GETvar' => 'tx_piapappnote_pi1[author]') ) , 'an-title' => array ( array('GETvar' => 'tx_piapappnote_pi1[title]') ) , 'an-description' => array ( array('GETvar' => 'tx_piapappnote_pi1[description]') ) , 'an-category-list' => array ( array('GETvar' => 'tx_piapappnote_pi1[categorylist]') ) , 'an-version-list' => array ( array('GETvar' => 'tx_piapappnote_pi1[versionlist]') ) , 'an-device-list' => array ( array('GETvar' => 'tx_piapappnote_pi1[devicelist]') ) , 'galpid' => array ( array('GETvar' => 'tx_hldamgallery_pi1[galleryPID]') ) , 'galcat' => array ( array('GETvar' => 'tx_hldamgallery_pi1[galleryCID]') ) , 'galimg' => array ( array('GETvar' => 'tx_hldamgallery_pi1[imgID]') ) |
'cal'=> array( |
| |
/* Prevars show up in the first part of the URL */ 'preVars' => array( /* Month */ '53'=> array( array( 'GETvar' => 'tx_calendar_pi1[f1]' ), array( 'GETvar' => 'tx_calendar_pi1[f2]' ), ), /* Week */ '56'=> array( array( 'GETvar' => 'tx_calendar_pi1[f1]' ), array( 'GETvar' => 'tx_calendar_pi1[f2]' ), ), /* Day */ '55'=> array( array( 'GETvar' => 'tx_calendar_pi1[f1]' ), array( 'GETvar' => 'tx_calendar_pi1[f2]' ), array( 'GETvar' => 'tx_calendar_pi1[f3]' ), ), /* Event Page */ '54'=> array( array( 'GETvar' => 'tx_calendar_pi1[f1]', 'lookUpTable' => array( 'table' => 'tx_calendar_item', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'userUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), ); 'postVarSets' => array( 'cal_group' => array( array( 'GETvar' => 'tx_calendar_pi1[targetgroup]', 'lookUpTable' => array( 'table' => 'tx_calendar_targetgroup', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), 'cal_category' => array( array( 'GETvar' => 'tx_calendar_pi1[category]', 'lookUpTable' => array( 'table' => 'tx_calendar_cat', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), 'not_cached' => array( 'type' => 'single', 'keyValues' => array( 'no_cache' => 1, ), ), ), ), 'fileName' => array ( 'index' => array( 'index.xml' => array( 'keyValues' => array ( 'type' => 100, ) ), 'print.html' => array( 'keyValues' => array( 'type' => 98, ) ), 'defaultToHTMLsuffixOnPrev' => 0, ), ), ); |
chc-forum |
|
'postVarSets' => array( 'forum' => array( array( 'GETvar' => 'view', ), array( 'GETvar' => 'cat_uid', 'lookUpTable' => array( 'table' => 'tx_chcforum_category', 'id_field' => 'uid', 'alias_field' => 'cat_title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), array( 'GETvar' => 'conf_uid', 'lookUpTable' => array( 'table' => 'tx_chcforum_conference', 'id_field' => 'uid', 'alias_field' => 'conference_name', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), array( 'GETvar' => 'thread_uid', 'lookUpTable' => array( 'table' => 'tx_chcforum_thread', 'id_field' => 'uid', 'alias_field' => 'thread_subject', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), array( 'GETvar' => 'post_uid', 'lookUpTable' => array( 'table' => 'tx_chcforum_post', 'id_field' => 'uid', 'alias_field' => 'post_subject', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), | |
commerce |
|
| <uriparts> <part> <parameter>tx_commerce_pi1[commerce]</parameter> <lookindb> <to>SELECT cat FROM tx_commerce_pi1 WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_commerce_pi1[commerce]</parameter> <lookindb> <to>SELECT pr FROM tx_commerce_pi1 WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> </uriparts> <predefinedparts> <part> <parameter>tx_commerce_pi1[catUid]</parameter> <lookindb> <to>SELECT title FROM tx_commerce_categories WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_commerce_pi1[showUid]</parameter> <lookindb> <to>SELECT title FROM tx_commerce_products WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> </predefinedparts> |
// . . . using just products (without articles). cHash and BasketHash remain as ordinary GETVars. |
ee-blog |
|
| <uriparts> <part> <parameter>tx_eeblog[showUid]</parameter> <lookindb> <to>SELECT subject FROM tx_eeblog_maintable WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> </uriparts> <predefinedparts> <part> <parameter>tx_eeblog[pointer]</parameter> </part> <part> <parameter>tx_eeblog[backPID]</parameter> </part> <part> <parameter>no_cache</parameter> </part> </predefinedparts> |
|
|
|
|
goof_fotoboek |
|
| 'postVarSets' => array( '_DEFAULT' => array ( 'photobook' => array( array('GETvar' => 'tx_gooffotoboek_pi1[srcdir]' ), array( 'GETvar' => 'tx_gooffotoboek_pi1[fid]' ), array( 'GETvar' => 'tx_gooffotoboek_pi1[func]', 'valueMap' => array( 'thumbnails' => 'thumb', ), ), ), ), ) | |
gsi_slideshow |
|
| , 'slide-show' => array( array( 'GETvar' => 'tx_gsislideshow_pi1[total]' ) , array( 'GETvar' => 'tx_gsislideshow_pi1[lastUid]' ) , array( 'GETvar' => 'tx_gsislideshow_pi1[firstUid]' ) , array( 'GETvar' => 'tx_gsislideshow_pi1[current]' ) , array( 'GETvar' => 'tx_gsislideshow_pi1[showUid]' , 'lookUpTable' => array( 'table' => 'tx_gsislideshow_images' , 'id_field' => 'uid' , 'alias_field' => 'caption' , 'addWhereClause' => ' AND NOT deleted' , 'useUniqueCache' => 1 , 'useUniqueCache_conf' => array( 'strtolower' => 1 , 'spaceCharacter' => '-' ) ) ) ) , 'tac' => array( array( 'GETvar' => 'tac' ) ) , 'return-to' => array( array( 'GETvar' => 'backPID' ) ) , 'product' => array( array( 'GETvar' => 'tt_products' , 'lookUpTable' => array( 'table' => 'tt_products' , 'id_field' => 'uid' // MLC Goolge wants uniqueness for spidering , 'alias_field' => 'concat(title, " ", uid)' , 'addWhereClause' => ' AND NOT deleted' , 'useUniqueCache' => 1 , 'useUniqueCache_conf' => array( 'strtolower' => 1 ), ) ) ) | |
irfaq |
|
| , 'faq-category' => array ( array('GETvar' => 'tx_irfaq_pi1[cat]' , 'lookUpTable' => array( 'table' => 'tx_irfaq_cat' , 'id_field' => 'uid' , 'alias_field' => 'title' , 'addWhereClause' => ' AND NOT deleted' , 'useUniqueCache' => 1 , 'useUniqueCache_conf' => array( 'strtolower' => 1 , 'spaceCharacter' => '-' ) ) ) ) | |
mm_forum (Mittenwald Forum Extension) englishFULL COLORED XML EXAMPLE TO COMPARE |
PLease scroll down to compare COOLURI XML and RealURL Settings! |
| <?xml version="1.0" encoding="utf-8"?> <cooluri> <cooluris>1</cooluris> <cache> <usecache>1</usecache> <params2cool> <checkforchangeevery>1</checkforchangeevery> </params2cool> <cool2params> <translateifnotfound>0</translateifnotfound> <oldlinksvalidfor>365</oldlinksvalidfor> </cool2params> <cacheparams>0</cacheparams> <pagenotfound> <status>HTTP/1.0 404 Not Found</status> <behavior type="message"><![CDATA[ <h1>Page not found!</h1> ]]></behavior> </pagenotfound> </cache> <pagepath> <title>alias,subtitle,title</title> <saveto>id</saveto> <default>0</default> <userfunc>tx_cooluri->getPageTitle</userfunc> </pagepath> <uriparts> <part> <parameter>tx_ttnews[tt_news]</parameter> <lookindb> <to>SELECT title FROM tt_news WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_eeblog[showUid]</parameter> <lookindb> <to>SELECT subject FROM tx_eeblog_maintable WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>mm_forum_pi1[mm_forum]</parameter> <lookindb> <to>SELECT PI1_PID FROM mm_forum_pi1 WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>mm_forum_pi3[mm_forum]</parameter> <lookindb> <to>SELECT PI3_PID FROM mm_forum_pi3 WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> </uriparts> <predefinedparts> <part> <parameter>tx_ttnews[backPid]</parameter> </part> <part> <parameter>cHash</parameter> </part> <part> <parameter>tx_eeblog[pointer]</parameter> </part> <part> <parameter>tx_eeblog[backPID]</parameter> </part> <part> <parameter>tx_mmforum_pi3[folder]</parameter> </part> <part> <parameter>tx_mmforum_pi3[action]</parameter> </part> <part> <parameter>tx_mmforum_pi3[messid]</parameter> <lookindb> <to>SELECT subject FROM tx_mmforum_pminbox WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_mmforum_pi3[userid]</parameter> <lookindb> <to>SELECT username FROM fe_users WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_mmforum_pi1[action]</parameter> </part> <part> <parameter>tx_mmforum_pi1[fid]</parameter> <lookindb> <to>SELECT forum_name FROM tx_mmforum_forums WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_mmforum_pi1[tid]</parameter> <lookindb> <to>SELECT topic_title FROM tx_mmforum_topics WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_mmforum_pi1[pid]</parameter> </part> <part> <parameter>tx_mmforum_pi1[page]</parameter> </part> <part> <parameter>tx_mmforum_pi1[user_id]</parameter> <lookindb> <to>SELECT username FROM fe_users WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>tx_mmforum_pi1[user_id]</parameter> <lookindb> <to>SELECT username FROM fe_users WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> <part> <parameter>no_cache</parameter> </part> </predefinedparts> <valuemaps> <valuemap> <parameter>tx_mmforum_pi3[folder]</parameter> <value key="inbox">inbox</value> <value key="outbox">outbox</value> <value key="archive">archiv</value> </valuemap> <valuemap> <parameter>tx_mmforum_pi3[folder]</parameter> <value key="read">message_read</value> <value key="write">message_write</value> <value key="delete">message_del</value> </valuemap> <valuemap> <parameter>tx_mmforum_pi1[action]</parameter> <value key="topics">list_topic</value> <value key="posts">list_post</value> <value key="user">forum_view_profil</value> <value key="reply">new_post</value> <value key="open">new_topic</value> <value key="report">post_alert</value> <value key="edit">post_edit</value> <value key="delete">post_del</value> <value key="all_posts">post_history</value> <value key="unanswered">list_unans</value> <value key="unread">list_unread</value> <value key="all_read">reset_read</value> <value key="user">forum_view_profil</value> <value key="subscribe">set_havealook</value> <value key="unsubscribe">del_havealook</value> <value key="favorite">set_favorite</value> <value key="no_favorite">del_favorite</value> <value key="delete">post_del</value> <value key="prefix">list_prefix</value> <value key="attachments">get_attachment</value> </valuemap> <valuemap> <parameter>L</parameter> <value key="">0</value> <value key="english">1</value> <value key="deutsch">2</value> <value key="thai">3</value> <value key="chinese">4</value> <value key="arabic">5</value> <value key="hebrew">6</value> <value key="greek">7</value> <value key="russian">8</value> <value key="hinti">9</value> <value key="japanese">10</value> </valuemap> </valuemaps> </cooluri> |
'fixedPostVars' => array( 'mm_forum_pi3' => array( array( 'GETvar' => 'tx_mmforum_pi3[folder]', 'valueMap' => array( 'inbox' => 'inbox', 'outbox' => 'send', 'archive' => 'archiv' ) ), array( 'GETvar' => 'tx_mmforum_pi3[action]', 'valueMap' => array( 'read' => 'message_read', 'write' => 'message_write', 'delete' => 'message_del' ) ), array( 'GETvar' => 'tx_mmforum_pi3[messid]', 'lookUpTable' => array( 'table' => 'tx_mmforum_pminbox' , 'id_field' => 'uid', 'alias_field' => 'subject', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'tx_mmforum_pi3[userid]', 'lookUpTable' => array( 'table' => 'fe_users' , 'id_field' => 'uid', 'alias_field' => 'username', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ) ), 'mm_forum_pi1' => array( array( 'GETvar' => 'tx_mmforum_pi1[action]', 'valueMap' => array( 'topics' => 'list_topic', 'posts' => 'list_post', 'user' => 'forum_view_profil', 'reply' => 'new_post', 'open' => 'new_topic', 'report' => 'post_alert', 'edit' => 'post_edit', 'delete' => 'post_del', 'all_posts' => 'post_history', 'unanswered' => 'list_unans', 'unread' => 'list_unread', 'all_read' => 'reset_read', 'subscribe' => 'set_havealook', 'unsubscribe' => 'del_havealook', 'favorite' => 'set_favorite', 'no_favorite' => 'del_favorite', 'prefix' => 'list_prefix', 'attachments' => 'get_attachment', ), ), array( 'GETvar' => 'tx_mmforum_pi1[fid]', 'lookUpTable' => array( 'table' => 'tx_mmforum_forums' , 'id_field' => 'uid', 'alias_field' => 'forum_name', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'tx_mmforum_pi1[tid]', 'lookUpTable' => array( 'table' => 'tx_mmforum_topics' , 'id_field' => 'uid', 'alias_field' => 'topic_title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'tx_mmforum_pi1[pid]', ), array( 'GETvar' => 'tx_mmforum_pi1[page]', ), array( 'GETvar' => 'tx_mmforum_pi1[user_id]', 'lookUpTable' => array( 'table' => 'fe_users' , 'id_field' => 'uid', 'alias_field' => 'username', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'tx_mmforum_pi1[user_id]', 'lookUpTable' => array( 'table' => 'fe_users' , 'id_field' => 'uid', 'alias_field' => 'username', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), ), 'PI1_PID' => 'mm_forum_pi1', 'PI3_PID' => 'mm_forum_pi3' ), |
mm_forum (Mittenwald Forum Extension) german, deutsch |
|
| 'fixedPostVars' => array( 'mm_forum_pi3' => array( array( 'GETvar' => 'tx_mmforum_pi3[folder]', 'valueMap' => array( 'posteingang' => 'inbox', 'postausgang' => 'send', 'archiv' => 'archiv' ) ), array( 'GETvar' => 'tx_mmforum_pi3[action]', 'valueMap' => array( 'lesen' => 'message_read', 'schreiben' => 'message_write', 'loeschen' => 'message_del' ) ), array( 'GETvar' => 'tx_mmforum_pi3[messid]', 'lookUpTable' => array( 'table' => 'tx_mmforum_pminbox' , 'id_field' => 'uid', 'alias_field' => 'subject', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'tx_mmforum_pi3[userid]', 'lookUpTable' => array( 'table' => 'fe_users' , 'id_field' => 'uid', 'alias_field' => 'username', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ) ), 'mm_forum_pi1' => array( array( 'GETvar' => 'tx_mmforum_pi1[action]', 'valueMap' => array( 'themen' => 'list_topic', 'beitraege' => 'list_post', 'benutzer' => 'forum_view_profil', 'antworten' => 'new_post', 'eroeffnen' => 'new_topic', 'melden' => 'post_alert', 'bearbeiten' => 'post_edit', 'loeschen' => 'post_del', 'alle_beitraege' => 'post_history', 'unbeantwortet' => 'list_unans', 'ungelesen' => 'list_unread', 'alles_gelesen' => 'reset_read', 'abonnieren' => 'set_havealook', 'abo_loeschen' => 'del_havealook', 'favorit' => 'set_favorite', 'kein_favorit' => 'del_favorite', 'praefix' => 'list_prefix', 'anhaenge' => 'get_attachment', ), ), array( 'GETvar' => 'tx_mmforum_pi1[fid]', 'lookUpTable' => array( 'table' => 'tx_mmforum_forums' , 'id_field' => 'uid', 'alias_field' => 'forum_name', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'tx_mmforum_pi1[tid]', 'lookUpTable' => array( 'table' => 'tx_mmforum_topics' , 'id_field' => 'uid', 'alias_field' => 'topic_title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'tx_mmforum_pi1[pid]', ), array( 'GETvar' => 'tx_mmforum_pi1[page]', ), array( 'GETvar' => 'tx_mmforum_pi1[user_id]', 'lookUpTable' => array( 'table' => 'fe_users' , 'id_field' => 'uid', 'alias_field' => 'username', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'tx_mmforum_pi1[user_id]', 'lookUpTable' => array( 'table' => 'fe_users' , 'id_field' => 'uid', 'alias_field' => 'username', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), ), 'PI1_PID' => 'mm_forum_pi1', 'PI3_PID' => 'mm_forum_pi3' ), | |
newloginbox |
|
| , 'new-login' => array( array( 'GETvar' => 'tx_newloginbox_pi3[showUid]' ) ) , 'forgot-login' => array( array( 'GETvar' => 'tx_newloginbox_pi1[forgot]' ) ) | |
rdf_import |
|
| , 'rdf-import' => array( array( 'GETvar' => 'tx_nrdfimport_pi1[showUid]' ) ) | |
simplecalendar |
|
| , 'simple-calendar' => array( array( 'GETvar' => 'tx_desimplecalendar_pi1[showUid]' ) , array( 'GETvar' => 'tx_desimplecalendar_pi1[form]' ) , array( 'GETvar' => 'tx_desimplecalendar_pi1[mode]' ) , array( 'GETvar' => 'tx_desimplecalendar_pi1[backPath]' ) ) | |
sk_pagecomments |
|
| , 'sk-comments' => array( array( 'GETvar' => 'tx_skpagecomments_pi1[showComments]', ), array( 'GETvar' => 'tx_skpagecomments_pi1[showForm]', ), ) | |
sr_feuserregister |
|
| , 'srfeuser' => array( array( 'GETvar' => 'tx_srfeuserregister_pi1[cmd]' ) , array( 'GETvar' => 'tx_srfeuserregister_pi1[pointer]' ) , array( 'GETvar' => 'tx_srfeuserregister_pi1[mode]' ) , array( 'GETvar' => 'tx_srfeuserregister_pi1[sword]' ) , array( 'GETvar' => 'tx_srfeuserregister_pi1[sort]' ) ) | |
t3_consultancies |
|
| , 'sponsor' => array( array( 'GETvar' => 'tx_t3consultancies_pi1[showUid]' , 'lookUpTable' => array( 'table' => 'tx_t3consultancies' , 'id_field' => 'uid' , 'alias_field' => 'title' , 'addWhereClause' => ' AND NOT deleted' , 'useUniqueCache' => 1 , 'useUniqueCache_conf' => array( 'strtolower' => 1 , 'spaceCharacter' => '-' ) ) ) , array( 'GETvar' => 'tx_t3consultancies_pi1[service]' ) , array( 'GETvar' => 'tx_t3consultancies_pi1[pointer]' ) ) | |
timtab - tt_news |
|
| /* Blog Home */ /* 'fixedPostVars' => array( '81' => array( // news categories 'category' => array( array( 'GETvar' => 'tx_ttnews[cat]', 'lookUpTable' => array( 'table' => 'tt_news_cat', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), ), ),*/ '82' => array( array( 'GETvar' => 'tx_ttnews[tt_news]', 'lookUpTable' => array( 'table' => 'tt_news', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), ), '40' => array( array( 'GETvar' => 'tx_ttnews[tt_news]', 'lookUpTable' => array( 'table' => 'tt_news', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), ), ), 'postVarSets' => array( '_DEFAULT' => array ( 'browse' => array( array( 'GETvar' => 'tx_ttnews[pointer]', ), ), 'app' => array( 'type' => 'single', 'keyValues' => array( 'type' => 200, ), ), 'trackback' => array( 'type' => 'single', 'keyValues' => array( 'tx_timtab_pi2[trackback]' => 1, ), ), 'archive' => array( array( 'GETvar' => 'tx_ttnews[year]', ), array( 'GETvar' => 'tx_ttnews[month]', ), ), /* News Categories */ 'category' => array( array( 'GETvar' => 'tx_ttnews[cat]', 'lookUpTable' => array( 'table' => 'tt_news_cat', 'id_field' => 'uid', 'alias_field' => 'title', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), ), ) | |
tt-news (year-month-day-pointer) |
|
| 'archive' => array( array( 'GETvar' => 'tx_ttnews[year]' ) , array( 'GETvar' => 'tx_ttnews[month]' // MLC uncomment if month names instead of numbers are // desired /* , 'valueMap' => array( 'january' => '01', 'february' => '02', 'march' => '03', 'april' => '04', 'may' => '05', 'june' => '06', 'july' => '07', 'august' => '08', 'september' => '09', 'october' => '10', 'november' => '11', 'december' => '12', ) */ ) , array( 'GETvar' => 'tx_ttnews[day]' ) ) // news pagebrowser , 'browse' => array( array( 'GETvar' => 'tx_ttnews[pointer]' ) ) // news category , 'select-category' => array ( array( 'GETvar' => 'tx_ttnews[cat]' , 'lookUpTable' => array( 'table' => 'tt_news_cat' , 'id_field' => 'uid' , 'alias_field' => 'title' , 'addWhereClause' => ' AND NOT deleted' , 'useUniqueCache' => 1 , 'useUniqueCache_conf' => array( 'strtolower' => 1 ), ), ), ) // news item , 'article' => array( array( 'GETvar' => 'tx_ttnews[tt_news]' , 'lookUpTable' => array( 'table' => 'tt_news' , 'id_field' => 'uid' // MLC Goolge wants uniqueness for spidering , 'alias_field' => 'concat(title, " ", uid)' , 'addWhereClause' => ' AND NOT deleted' , 'useUniqueCache' => 1 , 'useUniqueCache_conf' => array( 'strtolower' => 1 , 'spaceCharacter' => '-' ) ) ) , array( 'GETvar' => 'tx_ttnews[swords]' ) ) | |
tt-news |
|
| <uriparts> <part> <parameter>tx_ttnews[tt_news]</parameter> <lookindb> <to>SELECT title FROM tt_news WHERE uid=$1</to> <translatetoif> <match>^[0-9]+$</match> </translatetoif> <urlize>1</urlize> </lookindb> </part> </uriparts> <predefinedparts> <part> <parameter>tx_ttnews[backPid]</parameter> </part> <part> <parameter>cHash</parameter> </part> </predefinedparts> |
|
|
|
|
weeaar_robotstxt |
|
'fileName' => array( | |
|
|
|
wec_connector |
|
| 'fixedPostVars' => array( '74' => array( array( 'GETvar' => 'sub', 'valueMap' => array( 'subscribe' => '1', ), 'noMatch' => 'bypass', ), array( 'GETvar' => 'respond', 'lookUpTable' => array ( 'table' => 'tx_wecconnector_entries', 'id_field' => 'uid', 'alias_field' => 'subject', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array ( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), 'noMatch' => 'bypass', ), ), ), | |
wec_devotion |
|
| 'fixedPostVars' => array( '79' => array( array( 'GETvar' => 'devo_sec', 'lookUpTable' => array ( 'table' => 'tx_wecdevo_section', 'id_field' => 'uid', 'alias_field' => 'name', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array ( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), array( 'GETvar' => 'txtpg', 'valueMap' => array( 'single_page' => '1', 'multiple_pages' => '2', 'scrolling' => '3', ), 'noMatch' => 'bypass', ), array( 'GETvar' => 'txtsz', 'valueMap' => array( 'small_text' => '1', 'medium_text' => '2', 'large_text' => '3', ), 'noMatch' => 'bypass', ), ), ), | |
wec_servant |
|
| 'fixedPostVars' => array( '87' => array( array( 'GETvar' => 'showinterest', 'lookUpTable' => array( 'table' => 'tx_wecservant_minopp', 'id_field' => 'uid', 'alias_field' => 'name', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '_', ), ), ), ), ), | |
|
|
|
OTHER: print, rss, rdf, atom |
|
| , 'fileName' => array ( 'index' => array( 'index.html' => array( 'keyValues' => array( 'type' => 0, ) ) , 'print.html' => array( 'keyValues' => array( 'type' => 98, ) ) , 'rss.html' => array( 'keyValues' => array( 'type' => 100, ) ) , 'rss.xml' => array( 'keyValues' => array( 'type' => 100, ) ) , 'rss091.xml' => array( 'keyValues' => array( 'type' => 101, ) ) , 'rdf.xml' => array( 'keyValues' => array( 'type' => 102, ) ) , 'atom.xml' => array( 'keyValues' => array( 'type' => 103, ) ) , '_DEFAULT' => array( 'keyValues' => array() ) ) , 'defaultToHTMLsuffixOnPrev' => 1 ) | |
Multidomain |
|
| No additional Configuration is needed as CoolUri has Multidomain Support integrated IMPORT: 1. Every Rootpage needs at least one Domain Record 2. Use jb_status_code to set your 301 redirects. i.e. domain.com to http://www.domain.com/ 3. All URLs for any all your domain inside your TYPO3 Installation will be created automatically by CoolUri |
// multiple domain setup example // 1. Add lines similar to the following to typo3conf/localconf.php // 2. Update domains // 3. Update rootpage_id // The root page id is the uid of your domain home in the TYPO3 page tree // $TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.com'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']; // $TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.com']['pagePath']['rootpage_id'] = 1; // $TYPO3_CONF_VARS['EXTCONF']['realurl']['domain.com'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.com']; // $TYPO3_CONF_VARS['EXTCONF']['realurl']['subdomain.domain.com'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']; // $TYPO3_CONF_VARS['EXTCONF']['realurl']['subdomain.domain.com']['pagePath']['rootpage_id'] = 61; |
|
|
|
<urlsuffix>.html</urlsuffix>
<removetrailingslash>1</removetrailingslash>
no trailing slash
If you want endings without a trailing slash
myurl/page/subpage instead of myurl/page/subpage/
enter the following line in your CoolUriConf.xml file, right behind <cooluri>:
<removetrailingslash>1</removetrailingslash>
RSS Feed URL
You can modify what's
after a URL part with "after" attribute. Default is of course slash. So
you could try this:
<valuemap after="l">
<parameter>type</parameter>
<value key="rss.xm">100</value>
</valuemap>
so, l will be appended to rss.xm, creating rss.xml. Funny :). It may work.
This Tutorial was written by
Andreas Becker - ABC-TYPO3 - LisAndi Co.Ltd. (Phuket/Thailand) and Kultur und Familienwerkstatt (Stuttgart/Germany)
Jan Bednarik
(c) 2007-2008 Andreas Becker, Jan Bednarik