[TYPO3-german] Zugriff auf Typo3-Funktionen aus PHP-Script heraus

Thomas Fischer thomas.fischer at fischaz.de
Mon Mar 20 20:40:43 CET 2006


Hallo zusammen!

Habe mich eben in dieser Liste angemeldet und - wie könnte es anders sein - schon eine erste Frage,
eigentlich ja 2 Fragen.

Aber hier erst mal eine kurze Beschreibung:

In der mittleren Spalte des Webauftritts habe ich 6 verschiedene Layouts für den Inhaltstyp 'textpic' verbaut.
Das Layout wird über die Auswahlbox 'header_layout' eingestellt.
Nummer 0 - 3 werden mittels Tyopscript beschrieben, Nummer 4 und 5 über eine mit USER_INT eingebundene Funktion.
 
 Die Beschreibung für Typ 0 schaut z.B. so aus:
 
 
TYPOSCRIPT:
 
  # # #
  # header_layout 0: 'Normal' - Headline/Text
  # # #

  renderObj.0 = COA
  renderObj.0 {

    10 = TEXT
    10.fieldRequired = header
    10.field = header
    10.wrap = <h4>|</h4>
    
    20 = TEXT
    20.fieldRequired = bodytext
    20.field = bodytext
    20.wrap = |
    # convert linebreaks to html-breaks
    20.brTag= <br />
    20.parseFunc {
      makelinks = 1
      makelinks.http.keep = path
      makelinks.http.extTarget = _blank
      makelinks.mailto.keep = path
      tags {
        link = TEXT
        link {
          current = 1
          typolink.extTarget = _blank
          typolink.target = {$cLinkTagTarget}
          typolink.parameter.data = parameters : allParams
          }
        }
      }    
    
    30 = TEXT
    30.value = <div class="spacing"></div>
  }  


Das PHP sieht dann so aus:

class user_content_rendering {
  
  var $cObj;        // Reference to the parent (calling) cObj set from TypoScript

  function getShortTeasers($content,$conf) {

    $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'tt_content', 'tt_content.deleted=0 AND tt_content.hidden=0 AND header_layout=4 AND pid='.intval($GLOBALS['TSFE']->id).' ORDER BY sorting');
    $counter = 0;
    $output = "";
        
  while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
        
    if ($counter%2==0) {
      $output.='<div class="twin">';
      $div_open = true; 
    }
  
    $output .= '<div class="tsSibling">';
    $output .= '<h4 class="tsHead"><span>'.$row['header'].'</span></h4>';
    $output .= '<img src="uploads/pics/'.$row['image'].'" alt="" height="65" width="203" />';
    $output .= '<div class="tsBody">'.$row['bodytext'].'</div>';
    $output .= '</div>';
               
    if ($counter%2!=0) {
      $output.='</div><div class="spacing"></div>';
      $div_open = false;
    } 

    $counter++;
  }

  if ($div_open) {
    $output.='</div><div class="spacing"></div>';
    $div_open = false;
  } 
  
  return $output;
  }  
}


So weit, so gut. Alles macht das, was es soll.
Bis auf die Links (<LINK ..> zu <a ..>), die ich ja im TS mit Hilfe der parseFunc-Funktionen umwandele, im PHP eben bislang nicht.

Wie mache ich das? Wie kann ich z.B. auf die Methode TS_links_rte der Klasse t3lib_parsehtml_proc zugreifen??
Ich habe Sachen gesehen, wie t3lib_div::methode_xy(), bekomme aber die Verbindung nicht hin.

Frage 2: Wie setzt man manuell die FE-Editing-Symbole für Selbstgerendertes??
Sowohl im TS, als auch im PHP.


Danke schonmal für das Durchdencodequälen und ich würde mich freuen, wenn aus meinen ERSTEN Beitrag in dieser Liste ein zünftiger THREAD entstehen würde!!

  f i s c h a




More information about the TYPO3-german mailing list