[Frage] Linkaufbau in Extension - Caching/Indizierung [Gelöst] TYPO3-Version: 4.7.12

  • freeatweb freeatweb
    Jedi-Meister
    0 x
    267 Beiträge
    4 Hilfreiche Beiträge
    08. 11. 2013, 13:34

    Hallo,
    ich überarbeite gerade zwei Extensions, wobei ich vor dem Problem stehe dass diese nicht in den Index aufgenommen werden.

    Gesetzt sind:

    1. config.index_enable = 1
    2. config.index_externals = 1
    3. config.cache = 1
    4. config.no_cache = 0

    Die Class erweitert die tslib_pibase.
    Die Links werden mittels

    1. $this->pi_linkToPage();

    generiert.

    1. var $pi_checkCHash = true;
    2. var $cache = 1;
    3. var allowCaching = 1;

    sind ebenfalls vorhanden.

    Es wird jedoch kein cHash generiert.

    Meine Frage dazu: welche Funktion/welchen Aufruf muss man verwenden, damit cHash generiert wird? So wie es scheint funktioniert das bei pi_linkToPage nicht.

    Ich freue mich auf eure Antworten.

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    10. 11. 2013, 16:08 - Lösung

    Wenn es sich um eine pibase Extension handelt, muss diese vom Typ USER sein (nicht USER_INT). Das kannst du im TypoScript Object-Browser überprüfen.
    Wie du korrekt geschrieben hast, brauchst du dann links mit cHash - das geht IMO am besten mit TypoLink:

    1. $cObj = t3lib_div::makeInstance('tslib_cObj');
    2. $linkSettings = array(
    3. 'parameter' => 1, // PID
    4. 'useCacheHash' => 1, // cHash
    5. 'returnLast' => 'url' // URL instead of Link
    6. );
    7. $link = $cObj->typlink('linktext', $linkSettings);

    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/


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    10. 11. 2013, 16:08

    Wenn es sich um eine pibase Extension handelt, muss diese vom Typ USER sein (nicht USER_INT). Das kannst du im TypoScript Object-Browser überprüfen.
    Wie du korrekt geschrieben hast, brauchst du dann links mit cHash - das geht IMO am besten mit TypoLink:

    1. $cObj = t3lib_div::makeInstance('tslib_cObj');
    2. $linkSettings = array(
    3. 'parameter' => 1, // PID
    4. 'useCacheHash' => 1, // cHash
    5. 'returnLast' => 'url' // URL instead of Link
    6. );
    7. $link = $cObj->typlink('linktext', $linkSettings);

    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/

  • freeatweb freeatweb
    Jedi-Meister
    0 x
    267 Beiträge
    4 Hilfreiche Beiträge
    11. 11. 2013, 11:59

    Vielen Dank für die detaillierte Antwort!
    Habe die Links nun per Typolink aufgebaut - funktioniert nun einwandfrei :)

  • 1