Zum Inhalt springen

realurl sauber für tt_news formatieren

Erstellt am 29. November 2007 · 7 Antworten · letzte Antwort am 20. August 2009

Tags: RealURL, tt_news, Frage

teddy86 ·

moin!

ich habe realurl mit tt_news am laufen und erhalte die adresse www.domain.de/news/detailansicht/artikel/115/titel-des-artikels.html
hätte aber gerne www.domain.de/news/titel-des-artikels.html.

news liegen im sysfolder "news", singleansicht ist die "detailansicht". wie lässt sich dies eleganter lösen? ziel ist es hier den virtuellen folder detalansicht zu entfernen.

im nächsten schritt hätte ich gerne "news" als identifyer für die postVarSets anstelle von "artikel", wie lässt sich dies bewerkstelligen sodass artikel rausfällt?

im letzten schritt stört mich noch die 115 die meine backPid darstellt, kriege ich diese auch noch irgendwie raus? habe auf meiner detailansicht ja noch nicht einmal nen zurück button :/

schonmal vielen dank
teddy

schwenni ·

Ich weiss...es ist nicht direkt die Antwort auf Deine Frage.. aber
hast Du schon mal die Extension "CoolURI" getestet anstatt RealURL ?

Gefällt mir persönlich wesentlich besser und ist erheblich
einfacher zu konfigurieren (xml-File). Für Deinen Fall auch bei tt_news machbar.

Gruss

Beispiel:http://www.hsgstedingen.de
(sh.unter News)

tobru ·

Hallo

Ich versuche mich gerade mit CoolURI.
@schwenni: Kannst du hier evtl mal deine CoolUriConf.xml posten? Wäre interessant um den einstieg zu finden...
Habe leider nirgends eine gut vorkonfigurierte CoolUriConf.xml für tt_news gefunden, die alle (oder jedenfalls fast alle) Parameter abdeckt.

Vielen Dank
Gruss
Tobias

just2b ·

Das Stichwort für tt_news heißt hier fixedPostVars

'fixedPostVars' => array(
'news' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
'valueMap' => array(),
'noMatch' => 'bypass',
),
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' => '-',
),
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l18n_parent',
'autoUpdate' => 1,
'expireDays' => 180,
),
),
),

),

und anschließend

// RealURL - valueMap creation for tt-news
for($x=1; $x<=100; $x++) {
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['fixedPostVars']['news'][0]['valueMap'][$x+1] = $x;
}

// RealURL - page definition for tt_news
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['fixedPostVars']['82'] = 'news';

82 = uid der detailseite

georg

schwenni ·

Bitte sehr...

<?xml version="1.0" encoding="utf-8"?>
<cooluri>
  <urlsuffix>.html</urlsuffix>
  <removetrailingslash>1</removetrailingslash>
  <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>tx_realurl_pathsegment,alias,subtitle,title</title>
    <saveto>id</saveto>
    <default>0</default>    
    <userfunc>tx_cooluri->getPageTitle</userfunc>
    <t3conv>1</t3conv>
  </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>
        <t3conv>1</t3conv>
      </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>
        <t3conv>1</t3conv>
      </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>
Floater ·
just2b schrieb

Das Stichwort für tt_news heißt hier fixedPostVars

'fixedPostVars' => array(
'news' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
'valueMap' => array(),
'noMatch' => 'bypass',
),
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' => '-',
),
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l18n_parent',
'autoUpdate' => 1,
'expireDays' => 180,
),
),
),

),

und anschließend

// RealURL - valueMap creation for tt-news
for($x=1; $x<=100; $x++) {
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['fixedPostVars']['news'][0]['valueMap'][$x+1] = $x;
}

// RealURL - page definition for tt_news
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['fixedPostVars']['82'] = 'news';

82 = uid der detailseite

georg

Wo werden denn diese beiden Code-Schnippsel eingefügt?
Ich sehe es doch richtig, dass diese für die RealUrl-Extension gelten?

Gruß,
Floater

elv1s ·

Hallo,

@linajoy
es wäre aber evtl. Sinnvoll die richtige Lösung hier zu posten oder wenigstens ein Link im Blog zu posten die auch funktioniert.

Liebe Grüße