 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
20.11.2007, 15:57
|
#46
|
|
TP-Newbie
Registriert seit: Oct 2007
|
tt_content tabelle erweitern
Hallo,
ich möchte gerne die tt_content anhand einer extension um ein paar felder erweitern. mein problem ist, wenn ich das mache, dann habe ich diese felder immer und überall wo ich sie garnicht brauche. wie kann ich diese extension nur anwenden, wenn ich es brauche?
|
|
|
20.11.2007, 17:07
|
#47
|
|
TP-Junior
Registriert seit: Nov 2007
|
danke für die schnelle antwort... leider indexiert indexed search die seiten mit der extension immer noch nicht. vielleicht noch eine idee?
vg,
andi
|
|
|
20.11.2007, 17:50
|
#48
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
überprüfe im Objectbrowser, ob die Ext auch USER ist. Ebenso darf die Seite kein no_cache haben. Dann cache löschen, im BE die indizierung öffnen, Seite besuchen und kontrollieren.
|
|
|
24.11.2007, 17:12
|
#49
|
|
TP-Junior
Registriert seit: Nov 2007
|
Hallo Steffen,
ich bin noch ein ziemlicher Newbee in Typo3.
Nun habe ich diesen Workshop versucht nachzuvollziehen, aber scheitere an der Ausgabe.
In Teil 2 schriebst du
Zitat:
|
Die main-Funktion wird aufgerufen, wenn wir das Plugin in einer Seite haben - das wollen wir jetzt machen. Wenn wir die Seite uns anschauen, sollten wir folgende Ausgabe sehen:
|
wo und wie soll ich denn nun was aufrufen?
Ich habe mittels des Plugins nen Datensatz auf einer ansonsten leeren Seite angelegt. Den kann ich auch jederzeit wiederfinden, aber leider kann ich den nicht anzeigen.
Vom Grundprinzip hast du mit diesem Workshop nämlich genau das gemacht was ich noch brauche - ne Funktion mit der ich Steckbriefen von Leuten eingeben und dann formatiert wieder ausgeben kann.
gruß andi
|
|
|
25.11.2007, 11:59
|
#50
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Hi,
Du musst nichts aufrufen - Die Aussage ist so zu verstehen:
Bindest Du das Plugin auf einer Seite ein, so wird von TYPO3 die main-Funktion Deines Plugins aufgerufen.
Die Datensätze alleine werden nicht angezeigt, das Plugin liest diese aus und zeigt sie an.
|
|
|
25.11.2007, 17:06
|
#51
|
|
TP-Junior
Registriert seit: Nov 2007
|
Hallo Steffen,
erstmal Vielen Dank. Mit deinem Tip hat es nun geklappt.
Nun habe ich mich weiter durchgearbeitet und es funktionierte auch alles bis auf das letzte 
Ich habe zum Schluss deine beiden Codes in die beiden jeweiligen Dateien gespeichert, und bekomme nun bei der Ausführung folgende Fehlermeldung:
Zitat:
class tx_tptest_pi1 extends tslib_pibase { var $prefixId = 'tx_tptest_pi1'; // Same as class name var $scriptRelPath = 'pi1/class.tx_tptest_pi1.php'; // Path to this script relative to the extension dir. var $extKey = 'tp_test'; // The extension key. var $pi_checkCHash = true; var $template; var $id; /** * The main method of the PlugIn * * @param string $content: The PlugIn content * @param array $conf: The PlugIn configuration * @return The content that is displayed on the website */ function main($content,$conf) { $this->conf=$conf; $this->pi_setPiVarDefaults(); $this->pi_loadLL(); #ein paar Vorbelegungen $this->id=$GLOBALS['TSFE']->id; $this->template=$this->cObj->fileResource('EXT:tp_test/template.htm'); #welche Ansicht? if($this->piVars['item']) { $content = $this->detailView(); } else { $content = $this->listView(); } return $this->pi_wrapInBaseClass($content); } function listView() { #unser Subpart $subpart=$this->cObj->getSubpart($this->template,'###LISTVIEW###'); #eine einzelne Reihe $singlerow=$this->cObj->getSubpart($subpart,'###ROW###'); #Datensätze holen $res=$GLOBALS['TYPO3_DB']->exec_SELECTquery( '*', #select 'tx_tptest_items', #from 'hidden=0 and deleted=0 and pid='.$this->id, #where $groupBy='', $orderBy='', $limit=''); if($res) { $liste=''; while($row=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $markerArray['###LINK###']=$this->pi_linkTP($row['title'],array($this->prefixId.'[item]'=> $row['uid'])); $liste .= $this->cObj->substituteMarkerArrayCached($singlerow,$markerArray); } $subpartArray['###ROW###']=$liste; } else { return $this->pi_getLL('nodata'); } return $this->cObj->substituteMarkerArrayCached($subpart,$markerArray,$subpartArray,array()); } function detailView() { #unser Subpart $subpart=$this->cObj->getSubpart($this->template,'###DETAILVIEW###'); #Datensatz holen $record=$this->pi_getRecord('tx_tptest_items',$this->piVars['item']); #Marker füllen $markerArray['###TITLE###']=$record['title']; $markerArray['###DATUM###']=date('d.m.Y',$record['date']); $markerArray['###TEXT###']=$this->pi_RTEcssText($record['text']); $markerArray['###IMAGE###']=$this->cObj->IMAGE(array( 'file' => 'uploads/tx_tptest/'.$record['image'], 'file.maxW' => 140, )); $markerArray['###LINK###']=$this->cObj->typolink($record['link'],array( 'parameter' => $record['link'], 'extTarget' => '_blank', )); #backlink als einfachen Link ohne Parameter $markerArray['###BACKLINK###']=$this->pi_linkToPage($this->pi_getLL('back'),$this->id); return $this->cObj->substituteMarkerArrayCached($subpart,$markerArray,array(),array()); } }
Warning: Cannot modify header information - headers already sent by (output started at H:\_typo3\xampp\htdocs\blvn_karambol\typo3conf\ext\tp_test\pi1\class.tx_tptest_pi1.php:10) in H:\_typo3\xampp\htdocs\blvn_karambol\typo3\sysext\cms\tslib\class.tslib_fe.php on line 2767
|
Bislang hatte php keinerlei Probleme gemacht, aber in diesem Fall scheint er ja das ganze Script nicht abzuarbeiten.
Kann es evtl. an einer falschen php-Version liegen?
gruß Andi
|
|
|
26.11.2007, 11:47
|
#52
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ich denke eher, das bei Dir die php-tags fehlen:
<?php ... ?>
|
|
|
26.11.2007, 22:27
|
#53
|
|
TP-Junior
Registriert seit: Nov 2007
|
Zitat:
Zitat von steffenk
ich denke eher, das bei Dir die php-tags fehlen:
<?php ... ?>
|
... das bringt mich schon wieder einen Schritt weiter.
Sorry, daß ich mich so dusselig anstelle, ich hatte halt die fertige Extension aus deinem Post kopiert.
Aber jetzt bekomme ich die neue Meldung:
Zitat:
|
Fatal error: Class 'tslib_pibase' not found in H:\_typo3\xampp\htdocs\blvn_karambol\typo3conf\ext\tp_test\pi1\class.tx_tptest_pi1.php on line 3
|
Es scheint ja nun daran zu liegen, daß er die Klasse tslib_pibase nicht kennt.
Wo muss ich denn nun diesen Code reinkopieren?
In die class.tx_tptest_pi1.php oder in die typo3/sysext/cms/tslib/class.tslib_pibase.php?
Gruß Andi
|
|
|
27.11.2007, 00:42
|
#54
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
irgendwas machst Du verkehrt - hast Du die Ext überhaupt im EM installiert und dann über insert plugin eingefügt?
|
|
|
27.11.2007, 09:11
|
#55
|
|
TP-Junior
Registriert seit: Nov 2007
|
Hi Steffen,
Zitat:
Zitat von steffenk
irgendwas machst Du verkehrt - hast Du die Ext überhaupt im EM installiert und dann über insert plugin eingefügt?
|
ja habe ich:
Zitat:
Frontend Plugins
Steckbriefe test neu tp_test 0.0.0 Local Alpha
|
Ich habe es auch im Template der Seite unter "Include static (from extensions):" eingefügt.
Ich stelle es gleich mal ins Web. Evtl. ist ja irgendwas passiert was sich dadurch nun beheben lässt.
Gruß Andi
|
|
|
09.01.2008, 12:49
|
#56
|
|
TP-Member
Registriert seit: Jan 2008
|
Keine Anzeige auf Testseite
Hallo,
auch von mir erstmal vielen Dank für das tolle Tutorial!
Ich habe allerdings dasselbe Problem wie timo (#15): ich befolge die Schritte zum Anlegen der Extension, lade sie, lege eine Testseite an (ich habe allerdings keinen Sysfolder, nur eine Seite), lege darauf Datensätze an - aber die Seite bleibt leer, obwohl ja laut Tutorial (Anfang des 2. Teils) der Dummy-Output erscheinen sollte.
Zitat:
Zitat von steffenk
... das ist ein Fallbeispiel: Wie debugge ich meine Extension?
erzeugt die Extension Ausgaben ?
Wenn nein: debuggen wir am Anfang, also nach
#welche Ansicht?
|
Ich würde es gerne mit dem Debugger versuchen, aber: wo kommt der Code, den du angibst, hin? Wo steht "#welche Ansicht"? Und wenn ich den Code eingetragen habe: muss ich mir dann wieder die Seite anzeigen lassen, oder wie läuft das Debuggen?
Wegen der fehlenden Anzeige habe ich einen Verdacht: meine Testseite steht innerhalb einer Website mit Templavoila-Template - ist das ein Problem? Was für ein Template sollte die Testseite haben?
Vielen Dank für jede Hilfe!
Anna
|
|
|
09.01.2008, 13:46
|
#57
|
|
TP-Member
Registriert seit: Jan 2008
|
Zitat:
Zitat von AnnaM
Ich würde es gerne mit dem Debugger versuchen, aber: wo kommt der Code, den du angibst, hin? Wo steht "#welche Ansicht"?
|
Also das habe ich jetzt schon gefunden in Teil 3 
|
|
|
09.01.2008, 15:37
|
#58
|
|
TP-Member
Registriert seit: Jan 2008
|
Zitat:
Zitat von AnnaM
Ich habe allerdings dasselbe Problem wie timo (#15): ich befolge die Schritte zum Anlegen der Extension, lade sie, lege eine Testseite an (ich habe allerdings keinen Sysfolder, nur eine Seite), lege darauf Datensätze an - aber die Seite bleibt leer, obwohl ja laut Tutorial (Anfang des 2. Teils) der Dummy-Output erscheinen sollte.
|
Es war - wie ich schon vermutet hatte - das Template!
Die Testseite sollte z.B. folgendes Template haben:
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_tptest_pi1->main
Und dann war bei mir noch Kuddelmuddel mit "tp_test" und "tptest": im ersten Schritt des Tutorials lautet der Extension key "tp_test", in der class heißt es dann "tptest" - ich denke mal, das sollte auch besser konsistent sein, oder ist das egal?
Anna
|
|
|
09.01.2008, 16:59
|
#59
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
nein, es gibt 2 sachen
Extkey: tp_test (so heisst auch der ordner)
Klasse: tx_tptest_pi1,tx_tptest_pi2, etc.
Das sind 2 verschiedene Sachen und daher ist es auch gut, das die unterschiedlich heissen.
|
|
|
11.01.2008, 11:11
|
#60
|
|
TP-Member
Registriert seit: Jan 2008
|
Hallo Steffen,
wie muss das Template für die Seite aussehen, in der die Datensätze angezeigt werden?
Ich möchte gerne mit "debug($this->piVars);" die Variablen anzeigen lassen. Beim Aufruf mit ...index.php?id=... &tx_tptest_pi1[test]=20 klappt es auch prima, aber dein Beispiel klappt leider nicht.
Mein Template enthält im Setup nur dies:
plugin.tx_tptest_pi1 {
test = 20
test1 = 15
help = Ich bin ein Hilfetext
}
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_tptest_pi1->main
Die Testzeilen ("This is line 1...") werden angezeigt, aber der Debugger sagt nur "Empty!".
Vielen Dank für deine Hilfe,
Anna
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr.
|
 |