Toon posts:

[PHP/Joomla] Plugin wordt totaal genegeerd

Pagina: 1
Acties:

Onderwerpen


  • Room42
  • Registratie: September 2001
  • Niet online
Hi. Ik ben momenteel bezig met het maken van een plugin voor Joomla maar dat wil echt totaal niet lukken. Waar ik op vastloop is dat mijn plugins gewoon totaal genegeerd lijken te worden.

Ik heb de documentatie gevolgd van Joomla zelf; http://docs.joomla.org/Creating_a_content_plugin
En verschillende plugins bekeken naar hun werking en opbouw.

Maar om een voor mij onbekende reden krijg ik het niet voor mekaar om een werkende plugin te maken. Het is geen probleem om hem geïnstalleerd te krijgen, maar zodra ik er zelf wat aan geknutseld heb (of a.d.h.v. de documentatie zelf gemaakt heb), lijkt de plugin totaal genegeerd te worden. Dat wil zeggen, als ik een foute syntax genereer in de code, krijg ik wel netjes een error.

Als ik een bestaande plugin helemaal leeg sloop tot hij alleen nog maar $article->text = "test"; doet, blijft het werken. Maar zodra ik de xml of de class name aanpas, is de pret over.

Ik heb ook geprobeerd om de encoding goed te zetten (UTF-8) maar ook dat mocht niet baten.

Dit was mijn laatste test: Ik heb de Phoca Maps Plugin gedownload (2.0.3) en ben deze aan gaan passen. Als ik alleen de .php aanpas, blijft ie het doen, maar de volgende configuratie doet al niets meer:

In dit bestand heb ik enkel <name> (regel 3) veranderd:
XML: phocamaps.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?xml version="1.0" encoding="utf-8"?>
<extension group="content" method="upgrade" type="plugin" version="1.7.0">
    <name>Dv Event Plugin</name>
    <creationDate>26/07/2011</creationDate>
    <author>Jan Pavelka (www.phoca.cz)</author>
    <authorEmail></authorEmail>
    <authorUrl>www.phoca.cz</authorUrl>
    <copyright>Jan Pavelka</copyright>
    <license>GNU/GPL</license>
    <version>2.0.3</version>

    <description><![CDATA[ 
       Phoca Maps Plugin - displays Phoca Maps in article<br />
       More information on <a href="http://www.phoca.cz" target="_blank" >www.phoca.cz</a>  
      ]]></description>

    <files>
        <filename plugin="phocamaps">phocamaps.php</filename>
        <filename >index.html</filename>
    </files>

    <languages>
        <language tag="en-GB">language/en-GB/en-GB.plg_content_phocamaps.ini</language>
    </languages>
    <administration>
        <languages>
            <language tag="en-GB">language/en-GB/en-GB.plg_content_phocamaps.ini</language>
        </languages>
    </administration>
    
    <config>
    
    <fields name="params" addpath="/administrator/components/com_phocamaps/models/fields">
        
    // *snip* hier heb ik niets veranderd t.o.v. het origineel //

    </fields>
    </config>

</extension>
Ik weet dat bovenstaande constructor niet volgens de documentatie is, maar met de juiste constructor, doet ie precies hetzelfde (niet).

In dit bestand heb ik alleen de class-naam (regel 15) aangepast en de function onContentPrepare() totaal uitgekleed. En nogmaals, doe ik alleen dat laatste, werkt het nog goed!
PHP: phocamaps.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
/*
 * @package Joomla 1.5
 * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 *
 * @plugin Phoca Plugin
 * @copyright Copyright (C) Jan Pavelka www.phoca.cz
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 */
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );
jimport( 'joomla.application.component.helper' );

class plgContentDvEvent extends JPlugin
{   
    
    public function __construct(& $subject, $config) {
        parent::__construct($subject, $config);
        $this->loadLanguage();
    }
    

    public function onContentPrepare($context, &$article, &$params, $page = 0) {

        $article->text = "PLEASE DOE HET!";
        return true;

    }
}
?>


M'n texteditor is Notepad++. Ik installeer de plugin steeds door hem te zippen en dan via de Extension manager te installeren. Het geheel draait op een zelfgeconfigureerde Debian Squeeze met een redelijk standaard installatie van Apache, PHP en MySQL, grotendeels a.d.h.v. The Perfect Server - Debian Squeeze (Debian 6.0), maar dan zonder wat componenten als bind en courier mail.

Ik ben echt helemaal leeg en snap er echt helemaal niets meer van en heb even een duw in de juiste richting nodig. Hopelijk zie ik iets stoms over het hoofd!

[Voor 5% gewijzigd door Room42 op 18-11-2011 09:42]

Blokkeert alle ads en trackers met:
- uBlock Origin
- uMatrix
- en Pi-Hole voor de rest van het netwerk.


  • David Mulder
  • Registratie: Mei 2007
  • Laatst online: 05-08-2021
Ik heb niet met Joombla gewerkt, dus kan je niet /echt/ helpen, maar als ik jouw was zou ik zeggen, gooi eens zoveel mogelijk print_r'tjes in de joombla core (met exit statements erachter) en kijk eens rustig hoe de plugin structuur werkt, want dat is juist het leuke met open source projecten, je kunt er rustig iets in de core aan aanpassen (wat vooral handig is bij debuggen). En als je een beetje geluk hebt is het nog goed becommentarieerd ook (beter dan de off. docs).

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Huuu peerd

Ik vermoed dat je beter je vraag hier kan stellen: [Ervaringen] Joomla CMS

Daar is al redelijk veel gepost, en zal het eerder opvallen als men hun posthistory bekijkt.

Een mummy uit z'n verband trekken is nooit grappig.
Een Napster t-shirt aantrekken voor het concert van Metallica is nooit grappig.


  • Ventieldopje
  • Registratie: December 2005
  • Nu online

Ventieldopje

I'm not your pal, mate!

XML:
1
<filename plugin="phocamaps">phocamaps.php</filename>

Misschien handig om plugin="phocamaps" even te veranderen naar de naam van je eigen plugin? Heb je ook debugging aan staan in Joomla?

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • Matis
  • Registratie: Januari 2007
  • Laatst online: 14:01

Matis

Rubber Rocket

Waarschijnlijk onder het mom van "zit de stekker er in", maar heb je de plugin ook wel geactiveerd in de BE?

Pas daarnaast op met het ontwikkelen van plugins, dat je ZEKER weet dat je 1.5 tutorials te pakken hebt.

1.7 begint namelijk steeds meer gemeengoed te worden en daarmee ook de tutorials ;)

If money talks then I'm a mime
If time is money then I'm out of time


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 04-06 23:03

Creepy

Tactical Espionage Splatterer

RaZ schreef op zaterdag 19 november 2011 @ 13:46:
Ik vermoed dat je beter je vraag hier kan stellen: [Ervaringen] Joomla CMS

Daar is al redelijk veel gepost, en zal het eerder opvallen als men hun posthistory bekijkt.
Eeh nee, losse vragen in losse topics. Dat is een ervaringen topic.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have star problems" --Kevlin Henney


  • Ventieldopje
  • Registratie: December 2005
  • Nu online

Ventieldopje

I'm not your pal, mate!

Pas overheen gelezen, maar je hebt een tutorial voor 1.5 te pakken volgensmij, dat gaat niet helemaal lekker werken dus. Het is niet voor niks dat heel veel extensions aangepast moesten worden voor 1.6 en 1.7 ;)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • Room42
  • Registratie: September 2001
  • Niet online
@RaZ, ik zou daar inderdaad veel meer exposure krijgen, maar dat mag dus helaas niet ;)
Ventieldopje schreef op zaterdag 19 november 2011 @ 13:51:
XML:
1
<filename plugin="phocamaps">phocamaps.php</filename>

Misschien handig om plugin="phocamaps" even te veranderen naar de naam van je eigen plugin? Heb je ook debugging aan staan in Joomla?
Dat was juist het probleem. Als ik dat aanpas, werkt het niet meer :) Debugging staat aan maar daar zie ik mijn plugin ook niet voorbij komen.
Matis schreef op zaterdag 19 november 2011 @ 18:25:
Waarschijnlijk onder het mom van "zit de stekker er in", maar heb je de plugin ook wel geactiveerd in de BE?

Pas daarnaast op met het ontwikkelen van plugins, dat je ZEKER weet dat je 1.5 tutorials te pakken hebt.

1.7 begint namelijk steeds meer gemeengoed te worden en daarmee ook de tutorials ;)
Ja, de stekker zit erin ;) Toch bedankt. Maar waarschijnlijk zal het wel wat stoms zijn, zoals:
Ventieldopje schreef op zondag 20 november 2011 @ 12:45:
Pas overheen gelezen, maar je hebt een tutorial voor 1.5 te pakken volgensmij, dat gaat niet helemaal lekker werken dus. Het is niet voor niks dat heel veel extensions aangepast moesten worden voor 1.6 en 1.7 ;)
Dat heb ik inderdaad verkeerd begrepen :X Op zoek naar een 1.7 tutorial...

Blokkeert alle ads en trackers met:
- uBlock Origin
- uMatrix
- en Pi-Hole voor de rest van het netwerk.

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee