Ergebnis 1 bis 9 von 9

Thema: Extension anpassen an RealURL

      
  1. #1
    Forum Newbie
    Registriert seit
    07.12.2010
    Beiträge
    29

    Extension anpassen an RealURL

    Hallo,
    ich nutze ein einfaches Glossar (td_glossar) welches nicht mit RealUrl zusammenarbeitet mag. Das Problem besteht darin, das sobald ich einen Buchstaben anklicke der eigentliche "ausgeschriebene Pfad" (Beispiel: www.muster.de/produkt/glossar/ wieder als index.php?id=23&letter=E angezeigt wird.

    PHP-Code:
    function letters(){
     
               function 
    letter_link ($chr$text=0) {
     
                   
    $letter $_REQUEST['letter'];
     
                   if (!
    $text) {
                       
    $text $chr;
                   } 
                   if (
    $chr == $letter) {
                       
    $aktiv ' class="aktiv"';
                   }
                   
    $out '<li><a href="index.php?id='.$GLOBALS['TSFE']->id.'&letter='.$chr.'"'.$aktiv.'>';
     
     
    //.$this->cObj->typolink( $this->thumbnails[$plant_uid]['html'], array('parameter' => 118, 'additionalParams' => '&item='.$plant_uid, 'useCacheHash' => 1))
     
    //$out = '<li>'.$this->cObj->typolink( $GLOBALS['TSFE']->id, array('parameter' => 95, 'additionalParams' => '?letter='.$chr, 'useCacheHash' => 1)).'</li>';
    //.$this->cObj->getTypoLink_URL($GLOBALS['TSFE']->id)
    //getTypoLink_URL($params,$urlParameters=array(),$target='')
     
    //$out = '<li>'.$this->cObj->getTypoLink_URL($GLOBALS['TSFE']->id,array('?letter='.$chr),'_self').
     
     
                   //$out = '<li><a href="?letter='.$chr.'"'.$aktiv.'>';
                   
    $out .= $text;
                   
    $out .= '</a></li>';
     
    //$out .= 'hjkh<a href="'.($GLOBALS['TSFE']->id).'#">sa</a>';
    //$out .= '<div id="tx-tdglossar-pi1-backtotop"><a href="'.$this->cObj->getTypoLink_URL($GLOBALS['TSFE']->id).'#">zum Seitenanfang</a></div>';
    //$this->pi_linkToPage(linktext,id,target,parameter);
    //$out .= '<b>'.$this->pi_linkToPage("linktext",95,"","&letter=".$chr).'</b>';
    //$out .= $this->pi_linkToPage("Testlink",384,"",array($this->prefixId."[key]"=>1));
     
                   
    return $out;

    Das ganze liegt an dieser Zeile

    PHP-Code:
    $out '<li><a href="index.php?id='.$GLOBALS['TSFE']->id.'&letter='.$chr.'"'.$aktiv.'>'
    hab dort schon hin und her probiert und komme auf keinen Nenner.

  2. #2
    TYPO3 Forum Team Moderator Avatar von maxhb
    Registriert seit
    19.08.2004
    Ort
    Bremen
    Beiträge
    1.810
    Hi!
    Im Prinzip werden die Links in dem von Dir vorgestellten Code auch völlig falsch erzeugt. Die Extension-Entwickler sollten besser die TYPO3-API verwenden, dann gäbe es das von Dir geschilderte Problem nicht.

    Falls Du selbst Hand anlegen möchtest, hier findest Du das korrekt Vorgehen zur Linkerzeugung: http://typo3.org/development/article...ntend-plugins/

    CU
    maxhb
    FreeBSD/Debian || MySQL 5.x || PHP.5.3 || TYPO3 3.6 - 4.5

    Meine Stadt, meine Firma, mein Redaktionssystem.

  3. #3
    Forum Newbie
    Registriert seit
    07.12.2010
    Beiträge
    29
    Hallo maxhb, danke für einen Tipp. Werde es zu späterer Stunde anschauen und ausprobieren. Typo3 ist zwar noch völliges Neuland für mich, dennoch werde ich es probieren. Vielleicht komme ich noch dahinter..
    Die Ext um die es geht ist die td_glossar aus dem Repository und auch schon ein paar Tage älter.

  4. #4
    Forum Newbie
    Registriert seit
    07.12.2010
    Beiträge
    29
    Bin nun ein Stück weiter gekommen. Habe die $_REQUEST rausgefowrfen und druch
    PHP-Code:
    $formValues t3lib_div::_GP('tx_tdglossar_pi1');
    $var_letter $formValues['letter']; 
    ersetzt.

    Jetzt erhalte ich schon mal fogende URL http://127.0.0.1/index.php?id=95&tx_tdglossar_pi1[letter]=S (als Beispiel). Die EXT läuft, RealURL ist an doch wandeltdie URL nicht um.

    Ich vermute es liegt immer noch am Link selber, da er nicht einer Funktion aus der API generiert wird.
    Jetzt:
    PHP-Code:
    $out '<li><a  href="index.php?id='.$GLOBALS['TSFE']->id.'&tx_tdglossar_pi1[letter]='.$chr.'"'.$aktiv.'>';  //eigenfügt 
    Bei einem Typolink erhalte ich nur eine leere Seite
    PHP-Code:
    $out $this->pi_getPageLink($GLOBALS["TSFE"]->id,'',array("tx_tdglossar_pi1[letter]" => $chr)); //eigenfügt 
    PHP-Code:
         function letters(){
                          
               function 
    letter_link ($chr$text=0) {

                   
    //$letter = $_REQUEST['letter']; //rausgeworfen

    $formValues t3lib_div::_GP('tx_tdglossar_pi1');
    $var_letter $formValues['letter'];

                   if (!
    $text) {
                       
    $text $chr;
                   } 
                   if (
    $chr == $var_letter) {
                       
    $aktiv ' class="aktiv"';
                   }
                   
    //$out = '<li><a href="index.php?id='.$GLOBALS['TSFE']->id.'&letter='.$chr.'"'.$aktiv.'>'; //ORG
                   
    $out '<li><a href="index.php?id='.$GLOBALS['TSFE']->id.'&tx_tdglossar_pi1[letter]='.$chr.'"'.$aktiv.'>'//eigenfügt
                   
                   //$out = 'dsa'.$this->pi_getPageLink($GLOBALS["TSFE"]->id); //eigenfügt
                   //$out = $this->pi_getPageLink($GLOBALS["TSFE"]->id,'',array("tx_tdglossar_pi1[letter]" => $chr)); //eigenfügt
                   //$out = '<li><a href="index.php?id='.$GLOBALS['TSFE']->id.'&bloed='.$chr.'"'.$aktiv.'>'; //eigenfügt

                   
    $out .= $text;
                   
    $out .= '</a></li>';
           
                   return 
    $out;
                }
               
               
    $out '<div id="tx-tdglossar-pi1-letters">
                           <ul>
               '
    ;
               
               
    // Link for all chars
               
    $out .= letter_link("",$this->pi_getLL('all_letters'));
               
               for (
    $i=65;$i<=90;$i++) {
                    
    $out.=letter_link(chr($i));
               }
               
               
    $out .= "";
               
               
    $out .= '   </ul>
                       </div>'
    ;
               return 
    $out;

         }
        
        
    /**
         * Creates a list from a database query
         *
         * @param    ressource    $res: A database result ressource
         * @return    A HTML list if result items
         */
        
    function makelist($res)    {
            
    //$letter = $_REQUEST['letter'];  //rausgeworfen

    $formValues t3lib_div::_GP('tx_tdglossar_pi1');
    $var_letter $formValues['letter'];


            
    $searched $this->piVars['sword'];
            
    $items=array();
                
    // Make list table rows
            
    while($this->internal['currentRow'] = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))    {
                
    $alternatives = array(
                    
    'A' => array('Ä'),
                    
    'O' => array('Ö'),
                    
    'U' => array('Ü'),
                );

                if(
    substr($this->getFieldContent('headline'),0,1) == $var_letter || $var_letter=="" || $searched || (in_array(mb_substr($this->getFieldContent('headline'),0,2), $alternatives[$letter]))){
                     
    $items[]=$this->makeListItem();
                }
            }
        
            
    $out '<div'.$this->pi_classParam('listrow').'>
                '
    .implode(chr(10),$items).'
                </div>'
    ;
            return 
    $out;
        } 

  5. #5
    TYPO3 Forum Team Moderator Avatar von maxhb
    Registriert seit
    19.08.2004
    Ort
    Bremen
    Beiträge
    1.810
    Hi!
    hab's nur schnell überflogen, aber ich glaube, Du hast die Parameter vertauscht, so müsste es püassen:

    $this->pi_getPageLink(BESCHRIFTUNG,SEITEN_ID,PARAMETER);

    Die Seiten-ID ist der ZWEITE Parameter.
    CU
    maxhb
    FreeBSD/Debian || MySQL 5.x || PHP.5.3 || TYPO3 3.6 - 4.5

    Meine Stadt, meine Firma, mein Redaktionssystem.

  6. #6
    Forum Newbie
    Registriert seit
    07.12.2010
    Beiträge
    29
    Hallo,

    laut Referenz heisst es

    pi_getPageLink ( $ id,

    $ target = '',

    $ urlParameters = array()
    )

    Quelle: http://api.typo3.org/typo3v4/current...b__pibase.html

    Wollte ich auch nur einen Link zur Seite selber erstellen
    Beispiel:
    PHP-Code:
    $out $this->pi_getPageLink(95); 
    bleibt die Seite auch leer und wird nicht geladen

  7. #7
    TYPO3 Forum Team Moderator Avatar von maxhb
    Registriert seit
    19.08.2004
    Ort
    Bremen
    Beiträge
    1.810
    Sorry, hatte pi_linkToPage() gemeint.... Kleine Verwechslung

    CU
    maxhb
    FreeBSD/Debian || MySQL 5.x || PHP.5.3 || TYPO3 3.6 - 4.5

    Meine Stadt, meine Firma, mein Redaktionssystem.

  8. #8
    Forum Newbie
    Registriert seit
    07.12.2010
    Beiträge
    29
    Danke für den Tipp! Doch bekomme ich dort auch keinen Link generiert, sondern nur eine leere Seite. Da wird noch irgendwo ein Bock drin sein....

  9. #9
    Forum Newbie
    Registriert seit
    07.12.2010
    Beiträge
    29
    Sollte diese Zeile nicht korrekt sein!¿
    PHP-Code:
    $out $this->pi_getPageLink($GLOBALS["TSFE"]->id,'',array("tx_tdglossar_pi1[letter]" => $chr)); 
    Warum bekomme ich eine leere Seite angezeigt??? Bin schon ganz wirre im Kopf

 

 

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Facebook Kommentare

Ähnliche Themen

  1. RealURL für eigene Extension anpassen
    Von saasfee3000 im Forum Suchmaschinenfreundliche URLs (SEO)
    Antworten: 8
    Letzter Beitrag: 09.02.2010, 15:22
  2. RealURL für bestimmte Extension abschalten
    Von Azu im Forum Suchmaschinenfreundliche URLs (SEO)
    Antworten: 3
    Letzter Beitrag: 16.08.2009, 11:25
  3. RealURL + websiteportfolio oder eigene Extension zu RealURL hinzufügen!
    Von BENCH im Forum Suchmaschinenfreundliche URLs (SEO)
    Antworten: 6
    Letzter Beitrag: 29.10.2008, 12:12
  4. realurl mit tt_news und eigener extension
    Von nexi im Forum Suchmaschinenfreundliche URLs (SEO)
    Antworten: 0
    Letzter Beitrag: 15.07.2007, 17:32
  5. Probleme mit der Extension Realurl - leider nur eine Fehlermeldung Error 404
    Von ra.lindner im Forum Suchmaschinenfreundliche URLs (SEO)
    Antworten: 2
    Letzter Beitrag: 07.01.2007, 16:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74