Hallo,
ich muss eine bestehend Extension (FE-Plugin) anpassen. Das Problem besteht darin, dass sämtliche Seiten nicht gecacht werden. Wenn ich das Plugin als Seiteninhlat einfüge und die Kategorie bestimmt, so trage ich im Title eine gewissen Platzhalter {rezept:details} ein.
Wenn ich nun eine bestimmte Seite (im Frontend) daraus aufrufe finde ich im Backend > Admninwerkzeuge > Indexierung > List: Typo3 Pages immer nur den Platzhalter {rezept:details} und die eigentliche Seite wird nicht indexiert. Entsprechen wird das Rezept in der Suche nicht gefunden, sondern nur {rezept:details}.
Die Extension habe ich nicht selber geschrieben und bin ein Neuling was das Typo3/Erweiterungen angeht.
Zum Cachen bin ich auf diese Seite sk-typo3: Richtiges Cachen mit pi_base gestoßen , doch bin ich damit nicht zum Erfolg gekommen.
Code:require_once(PATH_tslib.'class.tslib_pibase.php'); class tx_moeto_pi2 extends tslib_pibase { var $prefixId = 'tx_moeto_pi2'; var $scriptRelPath = 'pi2/class.tx_moeto_pi2.php'; var $extKey = 'erw_moeto'; var $pi_checkCHash = TRUE; // if this is a USER plugin // war vorher nicht vorhanden protected $extUploadFolder = 'tx_moeto/'; protected $img_path = null; protected $item_uid = null; protected $item = null; function main($content, $conf) { $this->conf = $conf; $this->pi_setPiVarDefaults(); $this->pi_loadLL(); //auskommentiert //$this->pi_USER_INT_obj = 1; //quelle > http://www.sk-typo3.de/Richtiges-Cachen-mit-pi_base.188.0.html // war vorher nicht vorhanden $cache = 1; $this->pi_USER_INT_obj = 0; $this->setUp(); $this->fetchData(); $content = $this->buildOutput(); return $this->pi_wrapInBaseClass($content); } protected function setUp() { $this->img_path = 'uploads/' . $this->extUploadFolder; $this->item_uid = ctype_digit(t3lib_div::GPvar('product')) ? t3lib_div::GPvar('product') : null; } protected function fetchData() { if ( is_null($this->item_uid) ) { return; } $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery( 'p.uid, p.title, p.description, p.image, p.file, p.file_description, i.title as category_title', #fields 'tx_moeto_product p, tx_moeto_product_category_mm m, tx_moeto_category i', #table 'p.hidden = 0 and p.deleted = 0 and m.uid_local = p.uid and m.uid_foreign = i.uid and p.uid = ' . $this->item_uid, #where '', #group 'p.sorting asc', #order '1'#limit ); while ( $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res) ) { $this->item = $row; } } protected function buildOutput() { if ( is_null($this->item) ) { $GLOBALS['TSFE']->content = str_replace('{rezept:details}', 'Details', $GLOBALS['TSFE']->content); return 'Kein gültiges Produkt ausgewählt.'; } $GLOBALS['TSFE']->content = str_replace('{rezept:details}', strip_tags($this->item['title']), $GLOBALS['TSFE']->content); $conf = $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_moeto.']['detail.']; $path = $this->img_path . $this->item['image']; $img_config = array(); $img_config['file'] = $path; $img_config['file.']['maxW'] = $conf['imageMaxWidth']; $img_config['file.']['maxH'] = $conf['imageMaxHeight']; $thumbnail = array('html' => $this->cObj->IMAGE($img_config), 'path' => $this->cObj->IMG_RESOURCE($img_config)); $html = ''; $html .= '<h1>'.$this->item['category_title'].'</h1>'; $html .= '<h2>'.$this->item['title'].'</h2>'; $html .= $thumbnail['html']; $html .= $this->pi_RTEcssText($this->item['description']); return $html; } } if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/erw_moeto/pi2/class.tx_moeto_pi2.php']) { include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/erw_moeto/pi2/class.tx_moeto_pi2.php']); }
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen