wt_directory und real_url [Gelöst]

  • PeterMarteau PeterMart...
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    28. 09. 2008, 15:33

    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 [i]tx_wtdirectory_pi1[pointer][/i] (für eine 'Zahlen'-Seite) oder die GET-Variable [i]tx_wtdirectory_pi1[filter][name][/i] (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.


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    28. 09. 2008, 19:42

    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:

    1. 'postVarSets' => array(
    2. '_DEFAULT' => array (
    3. 'index' => array(
    4. 'GETvar' => '',
    5. ),
    6. ),
    7. 'adressen' => array(
    8. 'GETvar' => 'tx_wtdirectory_pi1[show]',
    9. ),
    10. 'GETvar' => 'tx_wtdirectory_pi1[catfilter]',
    11. ),
    12. 'GETvar' => 'tx_wtdirectory_pi1[filter][name]',
    13. ),
    14. ),
    15.  
    16. ),
    17. ),

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • PeterMarteau PeterMart...
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2008, 15:19

    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?

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    29. 09. 2008, 15:41

    1) Hmm, da hast du Recht - im Prinzip wäre das wohl ein Feature Request, wenn man es unbedingt braucht :)

    2) Siehe RealUrlConf...

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • PeterMarteau PeterMart...
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2008, 19:18

    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:

    1. ($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:

    1. $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:

    1. 'detail' => array(
    2. 'GETvar' => 'tx_wtdirectory_pi1[show]',
    3. 'lookUpTable' => array(
    4. 'table' => 'tt_address',
    5. 'id_field' => 'uid',
    6. 'alias_field' => 'name',
    7. 'addWhereClause' => ' AND NOT deleted',
    8. 'useUniqueCache' => 1,
    9. 'useUniqueCache_conf' => array(
    10. 'strtolower' => 1,
    11. 'spaceCharacter' => '-',
    12. ),
    13. ),
    14. ),
    15. ),
    16. 'a-z' => array(
    17. 'GETvar' => 'tx_wtdirectory_pi1[filter][name]',
    18. ),
    19. 'GETvar' => 'tx_wtdirectory_pi1[pointer]',
    20. ),
    21. ),

    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.

  • comix comix
    R2-D2
    0 x
    96 Beiträge
    0 Hilfreiche Beiträge
    10. 03. 2009, 15:02

    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?

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    10. 03. 2009, 15:23

    z.B.:

    1. 'team' => array(
    2. 'GETvar' => 'tx_wtdirectory_pi1[show]',
    3. 'lookUpTable' => array (
    4. 'table' => 'tt_address',
    5. 'id_field' => 'uid',
    6. 'alias_field' => 'name',
    7. 'addWhereClause' => ' AND NOT deleted',
    8. 'useUniqueCache' => 1,
    9. 'useUniqueCache_conf' => array (
    10. 'strtolower' => 1,
    11. 'spaceCharacter' => '_',
    12. ),
    13. ),
    14. ),
    15. ),
    16. 'email' => array(
    17. 'GETvar' => 'tx_wtdirectory_pi1[pm_receiver]',
    18. 'lookUpTable' => array (
    19. 'table' => 'tt_address',
    20. 'id_field' => 'uid',
    21. 'alias_field' => 'name',
    22. 'addWhereClause' => ' AND NOT deleted',
    23. 'useUniqueCache' => 1,
    24. 'useUniqueCache_conf' => array (
    25. 'strtolower' => 1,
    26. 'spaceCharacter' => '_',
    27. ),
    28. ),
    29. ),
    30. ),

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • comix comix
    R2-D2
    0 x
    96 Beiträge
    0 Hilfreiche Beiträge
    10. 03. 2009, 16:01

    Hi Einpraegsam

    Besten Dank super Service genau das habe ich gebraucht.

    Jetzt verstehe ich langsam die umschreiberei.

    Danke nochmals

  • Diabolos Diabolos
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    14. 02. 2011, 13:50

    [quote="PeterMarteau"]
    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:

    1. ($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:

    1. $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:

    1. 'detail' => array(
    2. 'GETvar' => 'tx_wtdirectory_pi1[show]',
    3. 'lookUpTable' => array(
    4. 'table' => 'tt_address',
    5. 'id_field' => 'uid',
    6. 'alias_field' => 'name',
    7. 'addWhereClause' => ' AND NOT deleted',
    8. 'useUniqueCache' => 1,
    9. 'useUniqueCache_conf' => array(
    10. 'strtolower' => 1,
    11. 'spaceCharacter' => '-',
    12. ),
    13. ),
    14. ),
    15. ),
    16. 'a-z' => array(
    17. 'GETvar' => 'tx_wtdirectory_pi1[filter][name]',
    18. ),
    19. 'GETvar' => 'tx_wtdirectory_pi1[pointer]',
    20. ),
    21. ),

    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.
    [/quote]

    Hallo ich wollte fragen, ob dazu schon eine schönere Lösung gefunden wurde? wenn ja wäre ich höchst interessiert :) Such mich schon doof aber leider ohne Erfolg. Ich würde mich sehr über eine Antwort freuen ;)

    LG,

    Philip

  • frankbi frankbi
    Padawan
    0 x
    57 Beiträge
    0 Hilfreiche Beiträge
    06. 06. 2012, 13:37

    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/.

    [b]Workarounds:[/b]
    - 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/

    [i]Hat jemand eine Idee?[/i]

    P.S.: Ich habe mir die URL für die Suchergebnisse mit folgendem Code etwas lesbarer gemacht:

    1. 'postVarSets' => array(
    2. '_DEFAULT' => array(
    3. ...
    4. 'suche' => array(
    5. 'GETvar' => 'tx_wtdirectory_pi1[hash]',
    6. 'lookUpTable' => array (
    7. 'useUniqueCache' => 1,
    8. 'useUniqueCache_conf' => array (
    9. 'strtolower' => 1,
    10. 'spaceCharacter' => '_',
    11. ),
    12. ),
    13. ),
    14. 'GETvar' => 'tx_wtdirectory_pi1[filter][all]',
    15. 'lookUpTable' => array (
    16. 'useUniqueCache' => 1,
    17. 'useUniqueCache_conf' => array (
    18. 'strtolower' => 1,
    19. 'spaceCharacter' => '_',
    20. ),
    21. ),
    22. ),
    23. ),

    Vielleicht hilft es jemandem.

  • 1