You are not logged in.

1

Thursday, November 26th 2009, 12:02pm

Eventlistener ThreadAddForm wird nicht angezeigt

Hi

also ich versuche mich gerade in die Eventlister einzuarbeiten, leider fängt das nicht gut an...und es scheitert schon am erstellen eines Eventlistener.
Ich möchte beim erstellen eines Thread ein zusätzliches Pulldown Menü zur Verfügung stellen. Hab mir das Tutorial hier angeschaut und auch verschiedene Beiträge und daraus entstand dann folgender Code.

SelectListener.class.php

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
require_once(WCF_DIR.'lib/system/event/EventListener.class.php');


class SelectListener implements EventListener {
    /**
     * @see EventListener::execute()
     */
    public function execute($eventObj$className$eventName) {

        WCF::getTPL()->assign('board'$eventObj->board);
        WCF::getTPL()->append('additionalInformationFields'WCF::getTPL()->fetch('SelectListener'));
    }
}
?>


Zuerst hab ich den Listener einfach per Hand in die DB eingetragen und dann auch nochmal über package.xml versucht zu installieren.
die eventlistener.xml sieht wie folgt aus

HTML

1
2
3
4
5
<eventlistener>
  <eventClassName>ThreadAddForm</eventClassName>
  <eventName>shouldDisplay</eventName>
  <listenerClassFile>lib/system/event/listener/SelectListener.class.php</listenerClassFile>
</eventlistener>


das Ergebnis war jedesmal das selbe, keine zusätzliche Selectbox in der Beitrag erstellen Ansicht :wacko:
Auch den Cache gelöscht (Foren und Browser) nichts.

Bitte um Hilfe..weiß echt nicht mehr weiter ?(
Danke für eure Hilfe im Vorraus!

Plunts

Community Team

Posts: 6,285

Location: Ruhrpott

Occupation: Azubi / Student

  • Send private message

2

Thursday, November 26th 2009, 12:31pm

ThreadAddForm hat kein Event "shouldDisplay" ;) Ich denke für deine Anwendung ist das Event "assignVariables" am geeignetsten. Übrigens solltest du immer erst mit die("Test"); oder so gucken, ob der Eventlistener überhaupt ausgeführt wird oder ob der Fehler in deinem Code liegt (hätte ja sein können, dass es z.B. den Templatehook "additionalInformationFields" nicht gibt oder du ihn falsch geschrieben hast).
Je größer der Dachschaden, desto schöner der Aufblick zum Himmel.
Mein Demoforum

3

Thursday, November 26th 2009, 12:37pm

Danke für deine Antwort, hab es aber mit assignVariables auch schon probiert und mal schnell in der DB gerade geändert, doch es wird weiterhin nichts angezeigt. Ebenfalls mit die("Test"); doch nichts, es ist als ob er mir eben nicht in den Eventlistener reingeht bzw da die("Test"); nicht angezeigt wird heißt es er ruft den Eventlistener garnicht auf :-(

Plunts

Community Team

Posts: 6,285

Location: Ruhrpott

Occupation: Azubi / Student

  • Send private message

4

Thursday, November 26th 2009, 12:41pm

Wenn du was in der DB änderst musst du den Cache vom WCF leeren ;)
Je größer der Dachschaden, desto schöner der Aufblick zum Himmel.
Mein Demoforum

5

Thursday, November 26th 2009, 12:44pm

Wenn du was in der DB änderst musst du den Cache vom WCF leeren ;)
keine sorge das hab ich auch ;-)
ergebnis bleibt das selbe :-(

gibt es sonst etwas das man beim erstellen eines Eventlistener beachten muss?

Plunts

Community Team

Posts: 6,285

Location: Ruhrpott

Occupation: Azubi / Student

  • Send private message

6

Thursday, November 26th 2009, 12:50pm

Also eigentlich muss es so funktionieren. Wenn du das als Plugin mal anhängst, kann ich mir das heute Abend mal angucken.
Je größer der Dachschaden, desto schöner der Aufblick zum Himmel.
Mein Demoforum

7

Thursday, November 26th 2009, 12:59pm

danke werde darauf zurückkommen.
mittagspause leider gleich um :-( ... werde es ansonsten daheim nochmal probieren sonst häng ich es hier mal an den Beitrag

Danke auf alle fälle für deine Hilfe!

edit: so endlich funktioniert es :-)
Hat was mit der Package ID nicht gepasst, als ich es auf nem neuen Testforum installiert hab gings dann ohne Probleme
Danke dir nochmal für deine Hilfe!

This post has been edited 1 times, last edit by "Draco" (Nov 27th 2009, 11:33pm)