typolink über eid

  • esman esman
    TYPO3-Anwärter
    0 x
    4 Beiträge
    0 Hilfreiche Beiträge
    13. 09. 2008, 19:13

    Ich hole eine seite vom server mit hilfe von ajax und eid.
    Das script das ich aufrufe soll unter anderem einen typolink generieren.

    Mein Problem ist das ich einen typolink für die defaultsprache bekomme. Ich möchte jetzt aber einen für, z.B. Deutsch, haben. #angry#

    was bis jetzt funktioniert:
    - ich habe eine Verbindung zur Datenbank
    - habe den fe_user geladen
    - kann links erzeugen (nur immer in der defaultsprache)

    kann mir jemand helfen ??


  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    13. 09. 2008, 19:16

    [quote="esman"]
    kann mir jemand helfen ??
    [/quote]

    Poste einfach mal dein Skript...

    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/

  • esman esman
    TYPO3-Anwärter
    0 x
    4 Beiträge
    0 Hilfreiche Beiträge
    25. 09. 2008, 15:53

    sorry,

    hatte diesen post total vergessen, obwohl das noch akut ist.

    Also das Script:

    1. require_once(PATH_t3lib . 'class.t3lib_page.php');
    2. require_once(PATH_tslib . 'class.tslib_pibase.php');
    3.  
    4.  
    5. class ajax_order extends tslib_pibase {
    6.  
    7. function main(){
    8.  
    9. tslib_eidtools::connectDB(); //Connect to database
    10. $feUserObj = tslib_eidtools::initFeUser(); // Initialize FE user object
    11.  
    12. $GLOBALS[TSFE]->fe_user = $feUserObj;
    13. $this->cObj = t3lib_div :: makeInstance("tslib_cObj");
    14.  
    15.  
    16. echo $this->pi_getPageLink(100);
    17.  
    18. }
    19. }
    20.  
    21.  
    22. $output = t3lib_div::makeInstance('ajax_order');
    23. echo $output->main();

    ich hoffe das hilft weiter..

  • dyne dyne
    Jedi-Ritter
    0 x
    143 Beiträge
    0 Hilfreiche Beiträge
    28. 09. 2008, 23:43

    Also ich hatte das gleiche Problem (bin deshalb auf das Thema gestoßen). Ich konnte es aber (selbst! *stolz*) lösen:

    Das sind die Klassen die ich initialisiert habe:

    1. require_once(PATH_tslib.'class.tslib_content.php');
    2. require_once(PATH_t3lib.'class.t3lib_page.php');
    3. require_once(PATH_tslib.'class.tslib_pibase.php');

    Und dann in der Klasse:

    1. $this->feUserObj = tslib_eidtools::initFeUser();
    2. $this->cObj = t3lib_div::makeInstance('tslib_cObj');
    3. $GLOBALS['TSFE']->sys_page = t3lib_div::makeInstance('t3lib_pageSelect');
    4. $GLOBALS['TSFE']->tmpl = t3lib_div::makeInstance('t3lib_TStemplate');

    Die letzten beiden Zeilen sind wichtig um die typolink-Funktion benutzen zu können.

  • esman esman
    TYPO3-Anwärter
    0 x
    4 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2008, 08:16

    Danke für die Antwort.

    Ich bekomme leider nur Teilweise den gewünschten link.

    Folgendes:

    1. require_once(PATH_t3lib . 'class.t3lib_page.php');
    2. require_once(PATH_tslib . 'class.tslib_content.php');
    3. require_once(PATH_tslib . 'class.tslib_pibase.php');

    1. $this->feUserObj = tslib_eidtools::initFeUser();
    2. $this->cObj = t3lib_div::makeInstance('tslib_cObj');
    3. $GLOBALS['TSFE']->sys_page = t3lib_div::makeInstance('t3lib_pageSelect');
    4. $GLOBALS['TSFE']->tmpl = t3lib_div::makeInstance('t3lib_TStemplate');
    5.  
    6. echo $this->pi_getPageLink(127);

    --> http://www.meine-domain.de/?id=127&no-cache=1

    Da ich realurl verwende hat mich das erstmal verwundert.

    wenn ich folgendes dazu nehme...

    1. require_once(PATH_t3lib . 'class.t3lib_stdgraphic.php');
    2. require_once(PATH_tslib . 'class.tslib_gifbuilder.php');
    3. require_once(PATH_t3lib .'class.t3lib_befunc.php');

    ...bekomme ich auch schönere namen
    --> http://www.meine-domain.de/de/shopping.html

    jetzt habe ich das Problem das ich in diesem letzten link eine mischvariante erzeugt bekomme. Da steht "de" für deutsch, aber der titel ist englisch, obwohl es eine deutsche Version gibt.

    Zum verzweifeln das ganze...

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2008, 09:29

    wozu das ganze? eID ist mehr für einfache Ajax-Scripts. Wenn man pibase, cObj etc. braucht, sollte man seinen Request über type machen, dan hat man auch alles korrekt initialisiert.

  • Stoneage Stoneage
    Jedi-General
    0 x
    1143 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2008, 10:12

    eID hat doch mit Ajax gar nichts zu tun!

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    29. 09. 2008, 10:54

    [quote="Tetramatrix"]
    eID hat doch mit Ajax gar nichts zu tun!
    [/quote]
    aber es wird in aller regel für das verwendet und ist auch dafür gedacht

  • Stoneage Stoneage
    Jedi-General
    0 x
    1143 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2008, 11:02

    Ach Quark, es ist genauso wie mit tt_news. Eigentlich überflüssig. Wird aber verkauft wie geschnitten Brot.

  • dyne dyne
    Jedi-Ritter
    0 x
    143 Beiträge
    0 Hilfreiche Beiträge
    29. 09. 2008, 14:57

    Ich muss beispielsweise nur etwas Content nachladen, der aber auch Links enthält. eID bietet sich da doch an, oder nicht?
    So wie ichs gepostet hab, funktionierts für meine Zwecke, allerdings habe ich bisherher auch noch kein realurl eingebaut.

    [b]Edit:[/b]
    [quote="steffenk"]Wenn man pibase, cObj etc. braucht, sollte man seinen Request über type machen, dan hat man auch alles korrekt initialisiert.[/quote]
    Nochmal drüber nachgedacht.. hast du dafür einen Link? Ich habe mich noch nicht so intensiv mit den types auseinandergesetzt, ich weiß nur, dass wohl abhängig vom type die Page unterschiedlich gerendert werden kann, beispielsweise für Druckansichten etc.