über eine eigene Extension und die Hook-Funktion getLinkParams sollte es möglich sein backPID herauszulöschen.
tt_products, realurl und backPID
Folgendes in der RealURL ext_localconf hat bei mir die backPID erfolgreich entfernt (unterhalb von 'preVars' => array( eingefügt):
array(
'GETvar' => 'backPID',
'valueMap' => array(
'dummy' => '1',
),
'noMatch' => 'bypass',
),
Ich nehme an jetzt kommt keine backPID mehr bei tt_products an - das Ganze funktioniert also nur, wenn diese in der entsprechenden Installation wirklich nicht benötigt wird...
Gruß, xxtobi
Vielen Dank, xxtobi.
Genau sowas habe ich gesucht.
Und deine Lösung kann man ja auch ganz einfach für jede beliebige Extension benutzen.
Vielleicht noch ein Hinweis:
Sollte backPID wirklich mal "1" sein, wird der Parameter natürlich mit in die URL übernommen: http://...backPID/1/...
Aber so kann man auch für ganz bestimmte Werte den Paramenter "aktivieren".
Ansonsten für 'dummy' einen utopischen Wert nehmen.
Hallo adventuremarker,
könntest du mal dein komplettes RealURL-Konfiguration für tt_produkts mal posten weil irgend wie will bei mir nicht so klappen.
mfg,
RChristian
gibt es mitlerweile eine "saubere" Lösung wie man RealURL zusammen mit tt_products konfiguriert?
Und mal dumm gefragt - wo genau kommt der oben gelistete Code rein?
Wie sieht dazu die .htaccess aus?
Grüsse,
Ralf
Hallo nochmal,
also ich habe nun etwas rumgespielt, jedoch ohne Erfolg. Meine realurl_autoconf.php sieht wie folgt aus. Wo genau muss da nun der gepostete code rein?
<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']=array (
'www.meinedomain.de' =>
array (
'init' =>
array (
'enableCHashCache' => true,
'appendMissingSlash' => 'ifNotFile',
'adminJumpToBackend' => true,
'enableUrlDecodeCache' => true,
'enableUrlEncodeCache' => true,
'emptyUrlReturnValue' => '/',
),
'pagePath' =>
array (
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'rootpage_id' => '148',
),
'fileName' =>
array (
'defaultToHTMLsuffixOnPrev' => 0,
'acceptHTMLsuffix' => 1,
),
),
//... nächste URL
Danke für Eure Hilfe!
Grüsse,
Ralf
Hallo ralfmc1,
so viel ich weiß kommt der Code in die ext_localconf.php im realurl Ordner aber so genau weiß ich das auch nicht. Bei TT-News ist es so, dass der Code für die RealUrl in die ext_localconf.php im realurl Ordner platziert werden soll. ich gehe davon aus, dass bei tt_products es nicht anders ist :-) Aber welcher Code denn genau?? den Du gepostet hast?? ich versuche nämlich auch meinen Shop mit realurl auszustatten. Danke für Deine Hilfe lg kati
Das Problem ist, dass tt_products trotz des Eintrags plugin.tt_products.PIDlistDisplay=XY die backPid im Link übergibt, wenn man nicht mit Kategorien arbeitet.
Mit folgender Änderung kann man Einstellen, dass bei gesetzter PIDlistDisplay der backPid Parameter nicht mehr im Link übergeben wird.
Vers. 2.6.0
view/class.tx_ttproducts_list_view.php
Dort bei ca. Zeile 777 statt:
$bUseBackPid = true;
if ($piVarCat) {
if ($this->conf['PIDlistDisplay']) {
$bUseBackPid = false;
}
$cat = $piVarCat;
}
das hier:
if ($this->conf['PIDlistDisplay']) {
$bUseBackPid = false;
} else {
$bUseBackPid = true;
}
if ($piVarCat) {
$cat = $piVarCat;
}
Vielleicht hilft es ja dem ein oder anderen...
Gruß
Michael
hi
gibt es mitlerweile eine "saubere" Lösung wie man RealURL zusammen mit tt_products konfiguriert?
es gibt eine tt_products definition.
siehe #850702
gruß danton
Ich habe jetzt alle möglichen Varianten ausprobiert, die ich bisher hier und über google gefunden habe. Die Darstellung der Kategorien durch realurl funktioniert erstmal. Nur das Unterdrücken der backPID nicht.
Meine Aktuelle Konfiguration der realurl:
<?php
/**
*
* aeUrlTool default realurl configuration
* based on realurl-configuration of news.typo3.org
* http://news.typo3.org/about/realurl-configuration/
*
*/
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array (
'_DEFAULT' => array (
'init' => array (
'enableCHashCache' => '1',
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => '1',
'enableUrlEncodeCache' => '1',
),
'redirects' => array (
),
'preVars' => array (
'0' => array (
'GETvar' => 'no_cache',
'valueMap' => array (
'nc' => '1',
),
'noMatch' => 'bypass'
),
'1' => array (
'GETvar' => 'L',
'valueMap' => array (
'de' => '0',
'en' => '1',
),
'noMatch' => 'bypass',
),
'2' => array (
'GETvar' => 'lang',
'valueMap' => array (
'de' => 'de',
'en' => 'en',
),
'noMatch' => 'bypass',
),
/* '3' => array (
'GETvar' => 'backPID',
'valueMap' => array(
'dummy' => '1',
),
'noMatch' => 'bypass',
),*/
),
'pagePath' => array (
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => '7',
'rootpage_id' => '46',
),
'fixedPostVars' => array (
),
'postVarSets' => array (
'_DEFAULT' => array (
'archive' => array (
'0' => array (
'GETvar' => 'tx_ttnews[year]',
),
'1' => array (
'GETvar' => 'tx_ttnews[month]',
'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',
),
),
),
'browse' => array (
'0' => array (
'GETvar' => 'tx_ttnews[pointer]',
),
),
'select_category' => array (
'0' => array (
'GETvar' => 'tx_ttnews[cat]',
),
),
'article' => array (
'0' => 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' => '-',
),
),
),
'1' => array (
'GETvar' => 'tx_ttnews[swords]',
),
),
// product categories
'categories' => array(
array(
'GETvar' => 'tx_ttproducts_pi1[cat]',
'lookUpTable' => array(
'table' => 'tt_products_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
// products
'products' => array(
array(
'GETvar' => 'tx_ttproducts_pi1[product]',
'lookUpTable' => array(
'table' => 'tt_products',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
// backPID
'backPID' => array(
array(
'GETvar' => 'tx_ttproducts_pi1[backPID]',
'lookUpTable' => array(
'table' => 'pages',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
),
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => false,
'index' => array (
'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',
),
),
),
),
),
);
?>
Die class.tx_ttproducts_list_view.php ist auch umgeschrieben, wie hier in dem Topic beschrieben.
Woran könnte es denn noch hängen?
Hallo und einen schönen Tag,
ich habe soweit die Kategorien von tt_products als Pfad in typo3 4.3.3. Nur wenn ich auf die Artikel (single view) dann zeigt es zwar den Link
(http://meineDomain.de/detailansicht.html?tt_products%5BbackPID%5D=93&tt_products%5Bproduct%5D=12&tt_products%5Bcat%5D=1&cHash=723d38b9b09c2e776f00fff0d2b168b0)
zum Produkt aber die Seite lädt dann die Index-Seite.
Meine Einstellungen in der localconf:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array (
'_DEFAULT' => array (
'init' => array (
'enableCHashCache' => '1',
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => '1',
'enableUrlEncodeCache' => '1',
),
'redirects' => array (
),
'preVars' => array (
'0' => array (
'GETvar' => 'no_cache',
'valueMap' => array (
'nc' => '1',
),
'noMatch' => 'bypass'
),
'1' => array (
'GETvar' => 'L',
'valueMap' => array (
'de' => '0',
'en' => '1',
),
'noMatch' => 'bypass',
),
'2' => array (
'GETvar' => 'lang',
'valueMap' => array (
'de' => 'de',
'en' => 'en',
),
'noMatch' => 'bypass',
),
/* '3' => array (
'GETvar' => 'backPID',
'valueMap' => array(
'dummy' => '1',
),
'noMatch' => 'bypass',
),*/
),
'pagePath' => array (
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => '7',
'rootpage_id' => '46',
),
'fixedPostVars' => array (
),
'postVarSets' => array (
'_DEFAULT' => array (
'archive' => array (
'0' => array (
'GETvar' => 'tx_ttnews[year]',
),
'1' => array (
'GETvar' => 'tx_ttnews[month]',
'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',
),
),
),
'browse' => array (
'0' => array (
'GETvar' => 'tx_ttnews[pointer]',
),
),
'select_category' => array (
'0' => array (
'GETvar' => 'tx_ttnews[cat]',
),
),
'article' => array (
'0' => 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' => '-',
),
),
),
'1' => array (
'GETvar' => 'tx_ttnews[swords]',
),
),
// product categories
'categories' => array(
array(
'GETvar' => 'tx_ttproducts_pi1[cat]',
'lookUpTable' => array(
'table' => 'tt_products_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
// products
'products' => array(
array(
'GETvar' => 'tx_ttproducts_pi1[product]',
'lookUpTable' => array(
'table' => 'tt_products',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
// backPID
'backPID' => array(
array(
'GETvar' => 'tx_ttproducts_pi1[backPID]',
'lookUpTable' => array(
'table' => 'pages',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
),
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => false,
'index' => array (
'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',
),
),
),
),
),
);
class.tx_ttproducts_list_view.php:
// Print Item Title
$wrappedSubpartArray=array();
$addQueryString=array();
$typoVersion = t3lib_div::int_from_ver($GLOBALS['TYPO_VERSION']);
$pid = $this->page->getPID($this->conf['PIDitemDisplay'], $this->conf['PIDitemDisplay.'], $row);
if ($typoVersion < 3008000) {
$pageLink = htmlspecialchars('index.php?id='.$pid.'&'.$this->pibase->prefixId.'['.strtolower($itemTable->marker).']='.intval($row['uid']).'&'.$this->pibase->prefixId.'[backPID]='.$TSFE->id);
} else {
$addQueryString[$itemTable->piVar] = intval($row['uid']);
$piVarCat = $this->pibase->piVars[$categoryTable->piVar];
if ($this->conf['PIDlistDisplay']) {
$bUseBackPid = false;
} else {
$bUseBackPid = true;
}
if ($piVarCat) {
$cat = $piVarCat;
}
if ($cat) {
$addQueryString[$categoryTable->piVar] = $cat;
}
und die .htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .*\.(html|pdf)$ index.php [L]
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
Habe ich einen Fehler drin?
Wäre sehr dankbar für Hilfe.
Falls da jemand nochmal etwas benötigt.
ext/realurl/ext_localconf:
$TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',tx_realurl_pathsegment';
$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
'_DEFAULT' => array(
'init' => array(
'enableCHashCache' => 1,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => 1,
'enableUrlEncodeCache' => 1,
'postVarSet_failureMode' => '',
),
'redirects' => array(),
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'nc' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
# 'de' => '0',
'en' => '1',
),
'valueDefault' => 'de',
'noMatch' => 'bypass',
),
array(
'GETvar' => 'tt_products[backPID]',
'valueMap' => array(
'dummy' => '1',
),
'noMatch' => 'bypass',
),
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 7,
'rootpage_id' => 41,
'firstHitPathCache' => 1,
),
'fixedPostVars' => array(),
'postVarSets' => array(
'_DEFAULT' => array(
// news archive parameters
'archive' => array(
array(
'GETvar' => 'tx_ttnews[year]' ,
),
array(
'GETvar' => 'tx_ttnews[month]' ,
'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',
)
),
),
// news pagebrowser
'browse' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
),
),
// news categories
'select_category' => array (
array(
'GETvar' => 'tx_ttnews[cat]',
),
),
// news articles anMd searchwords
'article' => 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' => '-',
),
),
),
array(
'GETvar' => 'tx_ttnews[backPid]',
),
array(
'GETvar' => 'tx_ttnews[swords]',
),
),
// product categories
'categories' => array (
array (
'GETvar' => 'tt_products[cat]' ,
'lookUpTable' => array (
'table' => 'tt_products_cat' ,
'id_field' => 'uid' ,
'alias_field' => 'title' ,
'addWhereClause' => ' AND NOT deleted' ,
'languageGetVar' => 'L',
'useUniqueCache' => 1 ,
'useUniqueCache_conf' => array (
'strtolower' => 1 ,
'spaceCharacter' => '-' ,
)
)
)
),
// products
'products' => array (
array (
'GETvar' => 'tt_products[product]' ,
'lookUpTable' => array (
'table' => 'tt_products' ,
'id_field' => 'uid',
'alias_field' => 'title' ,
'addWhereClause' => ' AND NOT deleted' ,
'languageGetVar' => 'L',
'useUniqueCache' => 1 ,
'useUniqueCache_conf' => array (
'strtolower' => 1 ,
'spaceCharacter' => '-' ,
)
)
)
),
// backPID
'backPID' => array (
array (
'GETvar' => 'tt_products[backPID]' ,
'lookUpTable' => array (
'table' => 'pages' ,
'id_field' => 'uid' ,
'alias_field' => 'title' ,
'addWhereClause' => ' AND NOT deleted' ,
'languageGetVar' => 'L',
'useUniqueCache' => 1 ,
'useUniqueCache_conf' => array (
'strtolower' => 1 ,
'spaceCharacter' => '-' ,
)
)
)
) ,
),
),
// configure filenames for different pagetypes
'fileName' => array(
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
'print.html' => array(
'keyValues' => array(
'type' => 98,
),
),
'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,
),
),
),
),
),
);
um die backPID noch zu verstecken hat mir dann noch http://typo3.intervation.de/snippets//backpid-und-andere-parameter-verbergen/ weitergeholfen.