New Plugin Probleme

Hi zusammen,

ich bin grad drann mein erstes Plugin zum laufen zu bringen und verzweifel etwas.

1. Das Plugin ist soweit ohne Fehler aktiviert.
2. Menü wird perfekt angezeigt und die "action" wird aufgerufen
3. Nach dem Menüklick erscheint " Entschuldigung. Die gewünschte Seite konnte nicht gefunden werden. " 

4. mein Quelltxt in der start.php

...
$action_dir = elgg_get_plugins_path() . 'mp/actions/mp';
elgg_register_action('mp/show', "$action_dir/show.php");
...
In den Entwickler Werkzeugen wird die Action angezeigt :
-> mp/show

W:/xampp/htdocs/mod/mp/actions/mp/show.php

Passt.

Jedoch zeigt es das echo('test'); der show.php nicht an :-(

Hat jemand eine Idee was da fehlen könnte?
Die Doku hat da nicht wirklich weiter geholfen...

Grüße 

  • Wenn Du den Mauszeiger über dem Menupunkt positionierst (noch nicht drücken), dann sollte in der Statuszeile Deines Browsers die URL angezeigt werden, die bei Mausklick auf den Menueintrag aufgerufen wird. Stimmt diese Url? Vielleicht ist bei Erzeugung des Menueintrags der Fehler.

    Standard-Access für Actions ist "logged-in". Falls das nicht passt, mußt Du entweder "public" oder" admin" setzen, z.B.:

    elgg_register_action('mp/show', "$action_dir/show.php", "admin");

    Du solltest die Action (Url) auch direkt aufrufen können. Wenn das echo() dann funktioniert, weißt Du zumindest, dass es nicht an show.php selbst liegt.

  • habs gefunden ...

    merci klappt nun perfekt

     

    gruss

  • Hallo und sorry ich das ich das Thema nochmal aufgreife.

    Aber nach einem HDD Crash stehe ich nun vor dem gleichen Problem :-(

    Ich kann die Action Url zwar aufrufen jedoch mit der Meldung :

    " Entschuldigung. Die gewünschte Seite konnte nicht gefunden werden. "

     

        $action_path = elgg_get_plugins_path() . 'mp/actions/mp';
        elgg_register_action("mp/jobber", "$action_path/jobber.php");

    der Pfad passt auch:

    W:\xampp\site\mod\mp\actions\mp\jobber.php

    Jemand ne noch ne Idee?

    Also man sollte die Lösung möglichst mit Posten-> aus Fehlern lernt man hoffentlich ;-)

    Danke Grüße

     

  • Hi,

    ich werd echt bald wahnsinnig . Bekomme einfach so ne einfache action nicht hin.

    Hab schon bei anderen Plugins nachgeschaut und dies nachgebaut aber des haut einfach net hin.

    Achso in dem action File steht nur "<?PHP forward(REFERER);"

    Grüße

  • Funktioniert es mit:

    $action_path = elgg_get_plugins_path() . 'mp/actions/mp';
    elgg_register_action("mp/jobber", $action_path . "jobber.php");

    oder

    elgg_register_action("mp/jobber", $CONFIG->pluginspath . "jobber.php");

    Wenn Du den dritten Parameter nicht definierst, kann die Action ausserdem nur von eingeloggten Benutzern verwendet werden. Falls dies nicht reicht - oder nur Admins Zugriff haben sollen - mußt Du entweder "public" oder "admin" als dritten Parameter verwenden. Nur "logged_in" kann man sich sparen, da dies als Standardzugriff für die Actions gesetzt wird.

    Falls es immer noch nicht klappt, dann liegt es vielleicht nicht an der Definition der Action in start.php oder dem Actionfile selbst, sondern daran, dass der Aufruf falsch ist. Insbesondere könnte es daran liegen, dass kein Actiontoken beim Aufruf erzeugt und mit übergeben wird.

  • Hallo,

    ich habs gefunden. Es war der fehlende Token "$url = elgg_add_action_tokens_to_url($url);"

    Supi vielen Dank ... hab den Wald vor lauter Bäumen nicht gesehen.

    Grüße

German Support Group

German Support Group

The German support group within the Elgg community.