HI,
dann nimm doch einfach dies hier:
http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=468&cHash=7f1759266d
Ciao
Der DJ
HI,
dann nimm doch einfach dies hier:
http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=468&cHash=7f1759266d
Ciao
Der DJ
Hallo !
Ich habe "Creating a basic extension" einmal durchgearbeitet. Jedoch funktioniert da vieles nicht so wie es eventuell sollte. Ich habe z.B. Probleme mit den Einträgen in der setup.txt und der constants.txt.
1)
Im HowTo steht z.B.
plugin.tx_playerprofile_pi{
image{
file.maxW = {$plugin.player_profile.maxW_single}
imageLinkWrap = {$plugin.player_profile.clickEnlarge}
[...]
Bei mir geht es aber nur so
plugin.tx_playerprofile_pi{
image{
file.maxW = {$plugin.tx_playerprofile.maxW_single}
imageLinkWrap = {$plugin.tx_playerprofile.clickEnlarge}
[...]
Die etwas seltsame Definition in der constants.txt mit
file.maxW = {$plugin.player_profile.maxW_single} = 70
funktioniert bei mir irgendwie nicht. Das habe ich bisher auch noch in keiner Extension so gesehen.
Auf jeden Fall kann ich mir jetzt mit t3lib_div::debug den Inhalt des Arrays anzeigen lassen. Ich bekomme jetzt für image. :
file.
maxW 100
imageLinkWrap {$plugin.tx_fsrprofile.clickEnlarge}
imageLinkWrap.
enable 1
bodyTag <body bgcolor="#FFFFFF">
wrap <a href="javascript:close()"> | </a>
width 400m
height 400
JSwindow 1
JSwindow.
newWindow 1
expand 17,20
Aber wozu das alles? Ich dachte ja man könnte dann auf das Bild klicken und es würde in einem neuen Fenster größer dargestellt. Doch bei mir haben die Bilder noch nicht einmal einen Link. :-(
Und wozu gibt es noch die nicht benutzte Variable "$plugin.tx_fsrprofile.clickEnlarge" ?
2)
Ursprünglich dachte ich, man könne mit folgendem Code den "Ausgangspunkt" der Daten, also z.B. den SysOrdner auslesen.
$config["pid_list"] = trim($this->cObj->stdWrap($this->conf["pid_list"],$this->conf["pid_list."]));
$config["pid_list"] = $config["pid_list"] ? implode(t3lib_div::intExplode(",",$config["pid_list"]),",") : $GLOBALS["TSFE"]->id;
list($pid) = explode(",",$config["pid_list"]);
Doch die pid_list ist immer leer. So musste ich in der setup.txt manuell diesen Code einfügen:
plugin.tx_playerprofile_pi1{
// ID des SysOrdners mit den Daten
pid_list = 49
}
Irgendwie bin ich mal wieder zu doof.
Dafür habe ich wohl das mit den HTML-Templates hinbekommen. :-) :-)
Gruß
Thorsten
hallo thorsten,
sorry wenn ich für mehr verwirrung mit dem tutorial gesorgt habe als für klärung. da ich leider keinerlei programmierkenntnisse habe, habe ich zusammen mit anderen typo3 könnern und kennern eine erste einfach extension gebaut. diese habe ich anschliessend versucht so gut wie möglich als tutorial nachzuarbeiten und auch prüfen lassen. nachbauen konnte man die extension auch schon, von daher war mir nicht bewusst, dass das tutorial solche fehler aufweisen soll. nach der veröffentlichung des tutorials habe ich darum gebeten mir jegliche infos zu möglichen fehlern oder irrwegen mitzuteilen, um das tutorial zu verbessern. wenn vielleicht der/die ein oder andere korrekturen zumailen oder noch besser über die Annotation Funktion auf typo3.org anmerkungen zu hinterlassen.
schöne grüße,
oliver
Hallo Oliver !!
via schriebsorry wenn ich für mehr verwirrung mit dem tutorial gesorgt habe als für klärung. da ich leider keinerlei programmierkenntnisse habe, habe ich zusammen mit anderen typo3 könnern und kennern eine erste einfach extension gebaut.
Neinnein, Verwirrung hast du nicht gestiftet. Bestimmt habe ich auch einen Fehler gemacht. Z.B. funktioniert bei mir das mit dem Vergrößern des Bildes jetzt super. Nur halt das mit dem Ausgangspunkt noch nicht.
Ich schaue mir mal die anderen Extensions an. Das wird ja bestimmt immer gleich gelöst. Wenn sonst keiner eine Lösung findet kann ich dir ja mal den bei mir funktionierenden Code zukommen lassen.
Dafür habe ich jetzt das die Benutzung eines HTML Templates eingebaut. Man kann sich also ein HTML-Template mit MArkern erstellen und diese werden dann mit Inhalt gefüllt.
Meine Extension zeigt jetzt schön die Mitglieder einer Fachschaft an.
Kannst ja mal gucken: http://mars.nt.fh-koeln.de/24.html
Die Seite ist natürlich noch lange nicht fertig.
nachbauen konnte man die extension auch schon, von daher war mir nicht bewusst, dass das tutorial solche fehler aufweisen soll.
Mach die darüber mal keinen Kopf. Ich finde es ja super das du so etwas geschrieben hast, vor allem wenn du keinerlei Programmierkenntnisse hast! Wenn ich etwas mehr Zeit hätte würde ich ja auch einmal etwas zur HTML Vorlage und den Markern schreiben.
Gruß
Thorsten
Hallo Thorsten,
die Sache mit den Markern würde mich auch interessieren, sofern Du Zeit dafür hast etwas dazu zu schreiben.
Grüße,
Oliver
Hallo !
Super, eben hatte ich Zeit und Lust und wollte mal "kurz" mit OpenOffice ein Dokument verfassen. Aber das Programm ist ja noch besch... als WordXP. Nachdem ich jetzt fast 1 Stunde damit verbracht habe herauszufinden wie man eingefärbten oder markierten Text wieder entfärbt oder die Markierung rückgängig macht habe ich jetzt keine Lust mehr. Und dann fügt OO auch noch bei Copy&Paste immer <!-- StartFragment --><!-- EndFragment --> ein, ändert die Schriftart von Arial auf "verdana;arial;sans-serif" und die Größe von 9 auf 7.5. :x #evil#
Es kann also noch was dauern.
Gruß
Thorsten
Also ich habe noch einmal wegen der pid_list bzw. dem Ausgangspunkt problem gesucht. In der Extension tt_news habe ich folgenden Code gefunden:
$this->config["pid_list"] = trim($this->cObj->stdWrap($this->conf["pid_list"],$this->conf["pid_list."]));
$this->config["pid_list"] = $this->config["pid_list"] ? implode(t3lib_div::intExplode(",",$this->config["pid_list"]),",") : $GLOBALS["TSFE"]->id;
list($pid) = explode(",",$this->config["pid_list"]);
$this->pid = $pid;
t3lib_div::debug($GLOBALS["TSFE"]->id);
t3lib_div::debug($pid);
Leider funktioniert auch das nicht richtig. Mein Sysordner mit den Daten hat die PID 49. $GLOBALS["TSFE"]->id enthält aber 48, also die ID der aktuellen Seite. Aber wie bekomme ich jetzt die ID des Sysordners?
Gruß
Thorsten
So funktioniert es:
$this->config["pid_list"] = $this->config["pid_list"] ? implode(t3lib_div::intExplode(",",$this->config["pid_list"]),",") : $this->cObj->data["pages"];
anstatt
$this->config["pid_list"] = $this->config["pid_list"] ? implode(t3lib_div::intExplode(",",$this->config["pid_list"]),",") : $GLOBALS["TSFE"]->id;
Hallo !
Habe jetzt eine HowTo zum Thema HTML-Vorlage geschrieben. Will jemand das Dokument haben? Wo kann ich die hinlegen?
Gruß
Thorsten
Hi!
Shinji schriebHabe jetzt eine HowTo zum Thema HTML-Vorlage geschrieben. Will jemand das Dokument haben? Wo kann ich die hinlegen?
Ich glaube alle Doku zum Thema Typo3 wird dringend gebraucht! Ein guter Ort zum Ablegen solcher Dokumente waere z.B. www.typo3faq.net
Auf der Seite "Neues Eintragen" kannst Du da Deinen Artikel unterstellen 😉
CU
maxhb
Hallo !
Ist aber ne OpenOffice Datei. ;-)
Ob di gut genig ist für typo3.org ?
Thorsten
Für alle die es interessiert:
Ich habe meine Doku einmal auf einen Server geladen. Schaut mal drüber ob die verständlich ist und ob noch etwas wichtiges fehlt:
Gruß
Thorsten
Hallo
Wirklich super danke.
Eine Frage hätte ich noch könntest du oben eine Selectbox einbauen wo ma eventuell nach anfangsbuchstaben sortieren kann also z.b.
alle
a
b
usw.
Das wäre super da man dann gleich sieht wie man sowas einbauen kann?
MFg
Hi Thorsten!
Shinji schriebSchaut mal drüber ob die verständlich ist und ob noch etwas wichtiges fehlt:
hab ich gemacht und muss sagen garnicht schlecht. Eine Kleinigkeit würde ich allerdings noch integrieren:
function getItems(){
...
// Führe die Abfrage durch
$query = "SELECT * FROM tx_mitglieder_liste WHERE pid IN (".$pid.") " . $this->cObj->enableFields("tx_mitglieder_liste") . " ORDER BY sorting";
...
bzw.
function getItems(){
...
$query = "SELECT * FROM tx_mitglieder_liste WHERE pid IN (".$pid.") " . $this->cObj->enableFields("tx_mitglieder_liste") . " ORDER BY sorting";
Mit $this->cObj->enableFields("tx_mitglieder_liste") werden nämlich "where"-Bedingungen eingefügt, die gelöschte und inaktive Einträge ausfiltern und wir wollen doch sauber programmieren ... :o
CU
maxhb
Wenn ich - wie auf Seite 3 beschrieben - "Type-field, if any" auf first_name setze, führt dies dazu, dass nach der Eingabe des Vornamens eine leere Maske angezeigt wird. D.h. "Type-field, if any" sollte auf [none] stehen bleiben.
Reinhard
[quote="maxhb"]
hab ich gemacht und muss sagen garnicht schlecht. Eine Kleinigkeit würde ich allerdings noch integrieren:
:-) Danke !
[quote]function getItems(){[/quote]
Ööööö, wo ist der Unterschied zwischen den beiden Codes?
[quote]
Mit $this->cObj->enableFields("tx_mitglieder_liste") werden nämlich "where"-Bedingungen eingefügt, die gelöschte und inaktive Einträge ausfiltern und wir wollen doch sauber programmieren ... :o
[/quote]
Ja? Wollen wir das? ;-)
Ok, ich bau es mal ein.
Gruß
Thorsten
re787 schriebWenn ich - wie auf Seite 3 beschrieben - "Type-field, if any" auf first_name setze, führt dies dazu, dass nach der Eingabe des Vornamens eine leere Maske angezeigt wird.
Mmm, ich habe das bei mir genauso gemacht.
Was meinst du denn genau mit "leerer Maske"?
Gruß
Thorsten
Shinji schriebMmm, ich habe das bei mir genauso gemacht.
Was meinst du denn genau mit "leerer Maske"?Gruß
Thorsten
OK, war vielleicht etwas verkürzt.
Wenn ich also den Vornamen eingegeben habe und dann zum Nachnamen wechsle, erscheint das Abfragefenster "Diese Änderung beeinflusst die zur Verfügung stehenden Eingabefelder. Wollen Sie gemachte Änderungen sichern und die Anzeige aktualisieren?".
Und nach einem Klick auf OK sind alle Felder weg!
Reinhard
Oh, da stimmt dann wirklich was nicht.
Kannst du mal kurz posten was bei dir in der Datei "ext_tables.php" der Extension steht? Es geht um die Einträge für das Array
$TCA["tx_mitglieder_liste"] = Array (
"ctrl" => Array (
Gruß
Thorsten
Shinji schriebOh, da stimmt dann wirklich was nicht.
Kannst du mal kurz posten was bei dir in der Datei "ext_tables.php" der Extension steht? Es geht um die Einträge für das Array$TCA["tx_mitglieder_liste"] = Array (
"ctrl" => Array (
Das steht drin (mit 'Type-field' auf "first_name"):
$TCA["tx_mitglieder_liste"] = Array (
"ctrl" => Array (
"title" => "LLL:EXT:mitglieder/locallang_db.php:tx_mitglieder_liste",
"label" => "first_name",
"tstamp" => "tstamp",
"crdate" => "crdate",
"cruser_id" => "cruser_id",
"type" => "first_name",
"sortby" => "sorting",
"delete" => "deleted",
"enablecolumns" => Array (
"disabled" => "hidden",
),
"dynamicConfigFile" => t3lib_extMgm::extPath($_EXTKEY)."tca.php",
"iconfile" => t3lib_extMgm::extRelPath($_EXTKEY)."icon_tx_mitglieder_liste.gif",
),
"feInterface" => Array (
"fe_admin_fieldList" => "hidden, first_name, last_name, birthday, street, zip, city, email, homepage, phone, mobile, function, elected, privacy, keycard, photo",
)
);
Reinhard