wt_directory und real_url
| Autor | Nachricht |
|---|---|
|
Verfasst am: 28. 09. 2008 [15:33]
|
|
|
PeterMarteau
Themenersteller
Dabei seit: 22.09.2008
Beiträge: 5
|
Hallo, ich versuche gerade real_url für wt_directory zu konfigurieren und es klappt auch gut, solange ich die Detailseite aus einer Liste aufrufe, die nur eine Seite umfasst. Sobald ich den Pagebrower benutze, wird bei Aufruf der Detailseite entweder die GET-Variable tx_wtdirectory_pi1[pointer] (für eine 'Zahlen'-Seite) oder die GET-Variable tx_wtdirectory_pi1[filter][name] (für eine 'Buchstaben'-Seite) übergeben, die für einen backlink auf der Detailseite dienen. Dadurch werden dann aber mehrere Detailseiten produziert, eine für eine Listenansicht ohne Pagebrowser (und ohne die Variablen) und eine für den Aufruf der Detailseite aus einem Pagebrowser (mit den Variablen). Also im Prinzip dasgleiche Problem wie bei tt_news, das man dort durch 'dontUseBackPid' umgehen kann. Gibt es bei wt_directory eine Möglichkeit, diese beiden GET-Variablen nicht zu übergeben und auf den backlink zu verzichten? Wenn das nicht geht, wäre ich dankbar für einen Hinweis, an welcher Stelle im Code der Link erzeugt wird. Danke! Lieben Gruß, PM. |
|
Verfasst am: 28. 09. 2008 [19:42]
|
|
|
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8849
|
Ich habe eigentlich kein Problem mit Listenansicht, Detailansicht, Filter|Name, Kategorie Temporäres Beispiel: http://testumgebung.einpraegsam.net/wt-directory.html postVarSets für realurlconf: PHP 'postVarSets' => array(
'_DEFAULT' => array (
'index' => array(
array(
'GETvar' => '',
),
),
'adressen' => array(
array(
'GETvar' => 'tx_wtdirectory_pi1[show]',
),
array(
'GETvar' => 'tx_wtdirectory_pi1[catfilter]',
),
array(
'GETvar' => 'tx_wtdirectory_pi1[filter][name]',
),
),
),
), |
|
Verfasst am: 29. 09. 2008 [15:19]
|
|
|
PeterMarteau
Themenersteller
Dabei seit: 22.09.2008
Beiträge: 5
|
Hi, ich weiß nicht, ob wir uns gerade mißverstehen, denn auf der Beispielseite sehe ich das gleiche Problem: Die Detailseite für Alex Kellner zum Beispiel kann ich einmal über die Liste, die sofort erscheint, wenn ich deinem Link folge, aufrufen. Dann sieht der Link so aus: http://testumgebung.einpraegsam.net/wt-directory.html?tx_wtdirectory_pi1%5Bshow%5D=1&cHash=698b9fbcc9 Gehe ich vorher auf den Buchstaben 'A' und lasse mir von der nun erzeugten Liste die Detailseite für Alex Kellner anzeigen, sieht der Link so aus: http://testumgebung.einpraegsam.net/wt-directory.html?tx_wtdirectory_pi1%5Bshow%5D=1&tx_wtdirectory_pi1%5Bfilter%5D%5Bname%5D=a%25&cHash=2d9de1ff95 Ich würde also im ersten Beispiel (etwas umkonfiguriert), diese Detailseite produzieren: http://testumgebung.einpraegsam.net/adressen/Alex_Kellner Im zweiten Beispiel dagegen diese: http://testumgebung.einpraegsam.net/adressen/A/Alex_Kellner Diese beiden Seiten will ich auf eine reduzieren. Da ich realurl nicht sagen kann, dass er '&tx_wtdirectory_pi1%5Bfilter%5D%5Bname%5D=a%25' ignorieren soll, muss ich diese Variable aus dem Aufruf kriegen. Lieben Gruß, PM. P.S.: Auf Deiner Beispielseite http://www.einpraegsam.net/fachgebiete/typo3-extensions/wt-directory.html sehe ich gerade, dass dort der Aufruf für Alex Kellner aus beiden Listen (einmal aus 'Alle', einmal aus 'A') zu 'http://www.einpraegsam.net/fachgebiete/typo3-extensions/wt-directory/adressen/alex_kellner//4.html' führt. Also die Variable 'pointer' quasi auf null gesetzt wird, oder? Wie bekommt man realurl dazu? [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 29.09.2008 um 15:38.] |
|
Verfasst am: 29. 09. 2008 [15:41]
|
|
|
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8849
|
1) Hmm, da hast du Recht - im Prinzip wäre das wohl ein Feature Request, wenn man es unbedingt braucht 2) Siehe RealUrlConf... |
|
Verfasst am: 29. 09. 2008 [19:18]
|
|
|
PeterMarteau
Themenersteller
Dabei seit: 22.09.2008
Beiträge: 5
|
Hi, ich habe mir jetzt erstmal damit beholfen, dass ich die Zeile 84 in /lib/class.wtdirecory_markers.php angepasst habe und Folgendes entfernt habe: PHP ($this->conf['filter.']['list.']['clearOldFilter'] == 0 ? $this->div->piVars2string() : '') . Ich habe zwar nicht wirklich Ahnung davon, was ich da jetzt alles entfernt habe, aber für mich funktioniert es. Die backlinks sind jetzt natürlich unbrauchbar... aber mir ist es wichtiger, dass man die Detailseiten vernünftig erreichen kann und die auch nur einmal indexiert werden. Hoffentlich rächt sich der vermurkste Code jetzt nicht irgendwie. Wen es interessiert... die Zeile 84 der /lib/class.wtdirecory_markers.php sieht jetzt so aus: PHP $wrappedSubpartArray['###WTDIRECTORY_SPECIAL_DETAILLINK###'] = $this->cObj->typolinkWrap( array("parameter" => ($this->pi_getFFvalue($this->conf, 'target', 'list') ? $this->pi_getFFvalue($this->conf, 'target', 'list') : $GLOBALS["TSFE"]->id), 'additionalParams' => '&'.$this->prefixId.'[show]='.$row['ttaddress_uid']. ($this->conf['enable.']['googlemapOnDetail'] == 1 && t3lib_extMgm::isLoaded('rggooglemap',0) ? '&tx_rggooglemap_pi1[poi]='.$row['ttaddress_uid'] : ''), "useCacheHash" => 1) ); // Link to same page with uid (Singleview)Meine Realurlconf so: PHP 'detail' => array( array( 'GETvar' => 'tx_wtdirectory_pi1[show]', 'lookUpTable' => array( 'table' => 'tt_address', 'id_field' => 'uid', 'alias_field' => 'name', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), 'a-z' => array( array( 'GETvar' => 'tx_wtdirectory_pi1[filter][name]', ), array( 'GETvar' => 'tx_wtdirectory_pi1[pointer]', ), ), So ergeben sich zwar in der Listenansicht noch einige unschöne Dinge wie http://www2.germanistik.rub.de/lehrende/a-z/c%25/ bzw. http://www2.germanistik.rub.de/lehrende/a-z/c%25/0/ für ein und dieselbe Seite, wenn für den Buchstaben der pagebrowser angeschmissen wird. Wenn man sich 'Alle' anzeigen lässt und dann den pagebrowser benutzt, sind wieder zwei Slashes vorhanden: http://www2.germanistik.rub.de/lehrende/a-z//20/ Aber für diese Seiten ist mir das eh wurscht. Dafür sehen die Detailseiten, egal von wo sie aufgerufen werden, immer so aus: http://www2.germanistik.rub.de/personen/detail/claudia-becker/ Und mehr will ich nicht. Lieben Gruß, PM. |
|
Verfasst am: 10. 03. 2009 [15:02]
|
|
|
comix
Dabei seit: 23.06.2008
Beiträge: 94
|
Hi zusammen Ich beschäftige mich gerade auch mit dem Thema wt_directory und real_url. Nun habe ich die Einstellungen wie Einpraegsam geschrieben hat auch gemacht und das Ergebnis sieht etwa so aus: .../listenansicht/detailansicht/adressen/62.html Eigentlich ganz OK nur möchte ich das anstelle von Adresse die Kategorie der jeweiligen Adresse steht und anstelle von 62.html der name.html steht. kann man das irgendwie einfach bewekstelligen oder ist das ein grosser Aufwand dies so umzuschreiben? |
|
Verfasst am: 10. 03. 2009 [15:23]
|
|
|
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8849
|
z.B.: PHP 'team' => array(
array(
'GETvar' => 'tx_wtdirectory_pi1[show]',
'lookUpTable' => array (
'table' => 'tt_address',
'id_field' => 'uid',
'alias_field' => 'name',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
),
'email' => array(
array(
'GETvar' => 'tx_wtdirectory_pi1[pm_receiver]',
'lookUpTable' => array (
'table' => 'tt_address',
'id_field' => 'uid',
'alias_field' => 'name',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
), |
|
Verfasst am: 10. 03. 2009 [16:01]
|
|
|
comix
Dabei seit: 23.06.2008
Beiträge: 94
|
Hi Einpraegsam Besten Dank super Service genau das habe ich gebraucht. Jetzt verstehe ich langsam die umschreiberei. Danke nochmals |
|
Verfasst am: 14. 02. 2011 [13:50]
|
|
|
Diabolos
Dabei seit: 13.11.2008
Beiträge: 11
|
PeterMarteau schrieb: Hi, ich habe mir jetzt erstmal damit beholfen, dass ich die Zeile 84 in /lib/class.wtdirecory_markers.php angepasst habe und Folgendes entfernt habe: PHP ($this->conf['filter.']['list.']['clearOldFilter'] == 0 ? $this->div->piVars2string() : '') . Ich habe zwar nicht wirklich Ahnung davon, was ich da jetzt alles entfernt habe, aber für mich funktioniert es. Die backlinks sind jetzt natürlich unbrauchbar... aber mir ist es wichtiger, dass man die Detailseiten vernünftig erreichen kann und die auch nur einmal indexiert werden. Hoffentlich rächt sich der vermurkste Code jetzt nicht irgendwie. Wen es interessiert... die Zeile 84 der /lib/class.wtdirecory_markers.php sieht jetzt so aus: PHP $wrappedSubpartArray['###WTDIRECTORY_SPECIAL_DETAILLINK###'] = $this->cObj->typolinkWrap( array("parameter" => ($this->pi_getFFvalue($this->conf, 'target', 'list') ? $this->pi_getFFvalue($this->conf, 'target', 'list') : $GLOBALS["TSFE"]->id), 'additionalParams' => '&'.$this->prefixId.'[show]='.$row['ttaddress_uid']. ($this->conf['enable.']['googlemapOnDetail'] == 1 && t3lib_extMgm::isLoaded('rggooglemap',0) ? '&tx_rggooglemap_pi1[poi]='.$row['ttaddress_uid'] : ''), "useCacheHash" => 1) ); // Link to same page with uid (Singleview)Meine Realurlconf so: PHP 'detail' => array( array( 'GETvar' => 'tx_wtdirectory_pi1[show]', 'lookUpTable' => array( 'table' => 'tt_address', 'id_field' => 'uid', 'alias_field' => 'name', 'addWhereClause' => ' AND NOT deleted', 'useUniqueCache' => 1, 'useUniqueCache_conf' => array( 'strtolower' => 1, 'spaceCharacter' => '-', ), ), ), ), 'a-z' => array( array( 'GETvar' => 'tx_wtdirectory_pi1[filter][name]', ), array( 'GETvar' => 'tx_wtdirectory_pi1[pointer]', ), ), So ergeben sich zwar in der Listenansicht noch einige unschöne Dinge wie http://www2.germanistik.rub.de/lehrende/a-z/c%25/ bzw. http://www2.germanistik.rub.de/lehrende/a-z/c%25/0/ für ein und dieselbe Seite, wenn für den Buchstaben der pagebrowser angeschmissen wird. Wenn man sich 'Alle' anzeigen lässt und dann den pagebrowser benutzt, sind wieder zwei Slashes vorhanden: http://www2.germanistik.rub.de/lehrende/a-z//20/ Aber für diese Seiten ist mir das eh wurscht. Dafür sehen die Detailseiten, egal von wo sie aufgerufen werden, immer so aus: http://www2.germanistik.rub.de/personen/detail/claudia-becker/ Und mehr will ich nicht. Lieben Gruß, PM. Hallo ich wollte fragen, ob dazu schon eine schönere Lösung gefunden wurde? wenn ja wäre ich höchst interessiert LG, Philip |
|
Verfasst am: 06. 06. 2012 [13:37]
|
|
|
frankbi
Dabei seit: 01.03.2010
Beiträge: 29
|
Auch mich würde sehr interessieren, wie der Backlink hinter der Detail ohne einen Hack verschwinden könnte. Über RealURL weiß ich es nicht zu lösen (habe allerdings nur rudimentäre Kenntnisse). Ich hätte gern statt z. B. (über Kategoriefilter + ABC-Filter) http://www.domain.de/de/person/detail/musterfrau/12//a-z/m.html lesbarer http://www.domain.de/de/person/detail/musterfrau/. Workarounds: - Mit RealURL könnte man eine Weiterleitung von http://www.domain.de/de/person/detail/musterfrau/ auf http://www.domain.de/de/musterfrau einrichten (Web>Info>RealURL-Verwaltung>Redirects). Dies ist dann aber nur eine Weiterleitung und müsste manuell für jede Person angelegt werden - Alternativ über die .htaccess, vmtl.: RedirectPermanent /musterfrau http://www.domain.de/de/person/detail/musterfrau/ Hat jemand eine Idee? P.S.: Ich habe mir die URL für die Suchergebnisse mit folgendem Code etwas lesbarer gemacht: PHP 'postVarSets' => array(
'_DEFAULT' => array(
...
'suche' => array(
array(
'GETvar' => 'tx_wtdirectory_pi1[hash]',
'lookUpTable' => array (
'useUniqueCache' => 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
array(
'GETvar' => 'tx_wtdirectory_pi1[filter][all]',
'lookUpTable' => array (
'useUniqueCache' => 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '_',
),
),
),
),Vielleicht hilft es jemandem. TYPO3 4.5.X, Multidomain, mehrsprachig, TemplaVoila!, PHP 5.3.3-7, MySQL 5.1.49
|



