Zum Inhalt springen

Extension anpassen an RealURL

Erstellt am 5. Mai 2011 · 6 Antworten · letzte Antwort am 11. Mai 2011

Tags: RealURL, Frage

mitche ·

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.

	 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

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

mitche ·

danke für den hinweis, doch komme ich mit z.B.

$out = $this->pi_getPageLink($GLOBALS["TSFE"]->id,'',array("tx_tdglossar_pi1[letter]" => $chr));

auch nicht weiter. Hier wird die Seite dann nicht geladen...

mitche ·

Bin nun ein Stück weiter gekommen. Habe die $_REQUEST rausgefowrfen und druch

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

$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

$out = $this->pi_getPageLink($GLOBALS["TSFE"]->id,'',array("tx_tdglossar_pi1[letter]" => $chr)); //eigenfügt
     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;
    }
mitche ·

Hallo, hab schon hin und her probiert, jedoch kommt ich zu keinem Ergebnis.
Sobald ich einen Typolink generieren möchte ala pi_getPageLink oder pi_linkToPage etc. bekomme ich nur eine leere Seite angezeigt. da wird noch ein andere Bock drin sein.

Bin noch ein Laine was das Typo3 angeht...

mitche ·

Sollte diese Zeile nicht korrekt sein!¿

$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