Zum Inhalt springen

CoolURI - 2 zusätzliche GET Variablen!

Erstellt am 3. Februar 2010 · Noch keine Antworten

Tags: URLs & Routing, Frage

khamel ·

Ich hab ein externes PHP Script eingebunden, keine Extension und brauche jetzt 2 neue GET Variablen.

Hab mir schon die Cooluri Doku durchgelesen, aber ich verstehs einfach nicht 🙁
http://docs.google.com/View?docid=dd33gg45_3f8j96p

Die URL soll für den Anfang von
unterkuenfte/einfach-finden/hotelsvermieter/detail/299/
zu index.php?id=158&view=detail&vid=299 umgeschrieben werden

Optimal wäre wenn detail nicht angezeigt wird und statt der nummer der name steht. Wie ich das dann hinbekomme mit dem Rauslesen aus der Datenbank, das hab ich verstanden.
unterkuenfte/einfach-finden/hotelsvermieter/atzinger/
zu index.php?id=158&view=detail&vid=299

Mein Problem ist aber bisher, wie ich es schaffe 2 neue GET Parameter zu intergrieren.
Wie weiß COOLURI an welcher steller VID und DETAIL steht? Ob nicht zuerst VID und dann DETAIL oder umgekehrt? Muss ich da auf die Position der parts in der CoolUriConf.xml aufpassen? Muss ich nach jeder Änderung den Cache von CoolUri komplett leeren?

Hab die Standard CoolUriConf.xml in Verwendung.
Hab folgende Zeilen eingebunden, aber es funktioniert nicht. Es kommt immer die Meldung Page not found, wenn ich auf den SEO Link klicke.

<part>
      <parameter>vid</parameter>
    </part>
    <part>
      <parameter>view</parameter>
</part>

Wo muss ich das genau einfügen und in welcher Reihenfolge?

<?xml version="1.0" encoding="utf-8"?>
<cooluri>
 
  <cache>
    <usecache>1</usecache><!-- READONLY -->
    <params2cool>
      <!-- how often (in days) should be links updated (Typo3 cache needs to be cleared) -->
      <checkforchangeevery>1</checkforchangeevery>
    </params2cool>
    <cool2params>
      <!-- how many days should old links (those that are redirected to existing) should be kept active -->
      <oldlinksvalidfor>365</oldlinksvalidfor>
    </cool2params>
    
    <pagenotfound>
      <!-- the status has to meet HTTP protocol header -->
      <status>HTTP/1.0 404 Not Found</status>
      <behavior type="message"><![CDATA[ <h1>Page not found!</h1> ]]></behavior>
      <!-- possible @type values: 
        page - will show a file (loaded using file_get_contents)
        redirect - will redirect to a certaing URL
        message - will output a message
      -->
    </pagenotfound>
  </cache>

  <pagepath>
    <!-- first non-empty value will be used -->
    <title>tx_realurl_pathsegment,alias,subtitle,title</title>
    
    <saveto>id</saveto><!-- READONLY -->
    <default>0</default><!-- READONLY -->
    
    <userfunc>tx_cooluri->getPageTitle</userfunc>
    <t3conv>1</t3conv>
  </pagepath>
 
  <uriparts>
    <part>
      <parameter>vid</parameter>
    </part>
    <part>
      <parameter>view</parameter>
    </part>
    <part>
      <parameter>tx_ttnews[tt_news]</parameter>
      <lookindb>
        <to>SELECT title FROM tt_news WHERE uid=$1</to>
        <!-- if you have news items in different languages in one folder, use this sql -->
        <!-- to>SELECT title FROM tt_news WHERE (uid=$1 or l18n_parent=$1) AND sys_language_uid={L=0}</to -->
        <t3conv>1</t3conv>
      </lookindb>
    </part>
    <part>
      <parameter>tx_eeblog[showUid]</parameter>
      <lookindb>
        <to>SELECT subject FROM tx_eeblog_maintable WHERE uid=$1</to>
        <t3conv>1</t3conv>
      </lookindb>
    </part>
    <!-- you can move cHash to predefineparts to remove in from URL
         but first read the manual -->
    <part>
      <parameter>cHash</parameter>
    </part>
    
    <!-- common patterns -->
    
    <!-- this will just add this parameter value to URL -->
    <part>
      <parameter>paramA</parameter>
    </part>
    <!-- this will look up parameter value in the database table "sometable" and if found
          the value will be transformed using Typo3 csconv into URL-like value. 
        You can make all sorts of MySQL stuff here, such as add UID into the result:
        SELECT CONCAT(title,'-',uid) FROM ...
    -->
    <part>
      <parameter>paramB</parameter>
      <lookindb>
        <to>SELECT title FROM sometable WHERE uid=$1</to>
        <t3conv>1</t3conv>
      </lookindb>
    </part>
  </uriparts>
  
  <predefinedparts>
    <part>
      <parameter>no_cache</parameter>
    </part>
    
    <!-- common patterns -->
    
    <!-- parts defined this way will be removed from URL -->
    <part>
      <parameter>paramC</parameter>
    </part>
    <!-- this will prefix a value with "prefix-". Cannot be localized.
    -->
    <part key="prefix-(.*)" regexp="1">
      <parameter>paramD</parameter>
    </part>
    <!-- if parameter matches value, key will be added to URL 
         with mutliple values, use valuemaps
    -->
    <part key="thisWillAppearInUrl">
      <parameter>paramE</parameter>
      <value>ifParamEMatcesThisValue</value>
    </part>
  </predefinedparts>
  
  <valuemaps>
    <valuemap>
      <parameter>L</parameter>
      <!-- L is empty of 0, result is empty -->
      <value key="">0</value>
      <!-- L is 1, result is "en" -->
      <value key="en">1</value>
    </valuemap>
  </valuemaps>
  
  <!-- this will put L param to the first position
      for more magic see manual -->
  <paramorder>
    <param>L</param>
  </paramorder>
  
<!-- READONLY START -->
<cooluris>1</cooluris>
  
</cooluri>

Vielen Dank für eure Hilfe!