URL formatieren

  • made made
    Padawan
    0 x
    35 Beiträge
    0 Hilfreiche Beiträge
    15. 09. 2009, 12:46

    Hallo,

    ich verwende bisher meist realurl und stehe nun vor einem Problem. Für eine selbst geschriebene Erweiterung, möchte ich nun die URLs formatieren. Für die Anzeige meiner Datensätze brauche ich nur die Id des Eintrages, möchte jedoch gerne in der URL den Titel haben. Nun ist der Titel leider nicht eindeutig, so dass ich gerne eine URL in der Form /anzeige/titel-4711.html hätte. Also als "Dateiname" sowohl den Titel des Eintrages, als auch die Id.
    Geht so etwas mit realurl mit cooluri oder einer anderen Erweiterung, ich konnte bisher leider nichts finden.

    Danke für jede Hilfe

    Marc


  • 1
  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    15. 09. 2009, 12:56

    Hallo,

    das geht problemlos mit zB 'alias_field' => "CONCAT(title, '-', uid)",

    georg

  • made made
    Padawan
    0 x
    35 Beiträge
    0 Hilfreiche Beiträge
    15. 09. 2009, 17:11

    Hallo Georg,

    danke für die schnelle Antwort, ich habe dies nun so umgesetzt:

    Auszug realurl Konfiguration:

    1. 'GETvar' => 'tx_ext_pi1[uid]',
    2. 'lookUpTable' => array(
    3. 'table' => 'tx_ext_table1, tx_ext_table2',
    4. 'id_field' => 'tx_ext_table1.uid',
    5. 'alias_field' => 'CONCAT(tx_ext_table1.name, \'-\', tx_ext_table2.uid)',
    6. 'addWhereClause' => ' AND tx_ext_table1.uid = tx_ext_table2.table1_uid AND NOT tx_ext_table1.deleted AND NOT tx_ext_table2.deleted AND NOT tx_ext_table2.hidden',
    7. 'useUniqueCache' => 1,
    8. 'useUniqueCache_conf' => array(
    9. 'strtolower' => 1,
    10. 'spaceCharacter' => '-',
    11. ),
    12. ),
    13. )

    Hier kommt dann genau die URL raus, die ich möchte, titel-4711.html, allerdings wenn ich dann einen Link anklicke, ist in der Variable $this->piVars['uid'] auch der Inhalt titel-4711. Hab ich noch einen Fehler in meinem Code oder muss ich meine Id über einen regulären Ausdruck auslesen?

    Danke

    Marc

  • 1