Hi,
ich hab hier ein seeeeeeeehhhr Merkwürdiges Verhalten von OOAddon::isAvailable() - ich kann mir das nicht erklären und weiß nicht wo ich was falsch mache
Problem: Ich erhalte von OOAddon::isAvailable('addonname') keinen Rückgabewert, wenn ich die Funktion innerhalb eines Plugins ausführe. Schreib ich das z.B. in die Config des AddOns selbst - dann gehts. Stehts in der config.inc.php des Plugins (selbst an aller erster stelle) - dann erhalte ich keine Rückgabe mehr. Ich weiß nicht warum - mir gehen die Ideen aus.
Ich hab spaßeshalber auch mal in ein wildfremdes Plugin eines föllig anderen AddOns kopiert. Auch da gehts nicht. Hat zufällig das Problem schon mal jemand beobachtet?
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
[solved] Merkwürdiges Verhalten OOAddon::isAvailable()
Zuletzt geändert von Markus.Lorch am 25. Nov 2011, 00:13, insgesamt 1-mal geändert.
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Re: Merkwürdiges Verhalten OOAddon::isAvailable()
Hi,
Php error hast du aktiviert und das error reporting entsprechend eingestelt?
Gruß Markus
Php error hast du aktiviert und das error reporting entsprechend eingestelt?
Gruß Markus
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Re: Merkwürdiges Verhalten OOAddon::isAvailable()
Hoho,
jop. Definitiv E_ALL | E_STRICT
jop. Definitiv E_ALL | E_STRICT
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Re: Merkwürdiges Verhalten OOAddon::isAvailable()
Ohhhhhh^^^Hilfe. display_startup_errors hats gebracht^^ Moment. Das dauert. Mir fliegen die Fehlermeldungen um die Ohren^^
Aber das ist ja eigentlich nur Strict Standards meldung. Sollte ja nix machen.Non-static method rex_addon::isAvailable() should not be called statically in /var/www/redaxo/include/addons/community/plugins/facebook/config.inc.php on line 35
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: Merkwürdiges Verhalten OOAddon::isAvailable()
Das Problem ist folgendes:
Die Addon-Daten liegen in $REX['ADDON'][$key][$addonName].
Die Plugin-Daten liegen eigentlich in $REX['ADDON']['plugins'][$addonName][$key][$pluginName].
Innerhalb der config.inc.php kannst du jedoch mittels $REX['ADDON'][$key][$pluginName] die Plugin-Daten setzen.
Um das zu erreichen, wird vor dem Einbinden der config.inc.php das $REX['ADDON']-Array in der Variable $ADDDONSsic gesichert, und $REX['ADDON'] komplett geleert. Nach dem Include werden die gesetzten Werte in $REX['ADDON'] in das eigentliche Format umgewandelt, mit dem gesicherten Array zusammengeführt und wieder in $REX['ADDON'] gespeichert.
OOAddon greift auf $REX['ADDON'] zu und funktioniert daher nicht in der config.inc.php des Plugins.
Du kannst daher dort nur so abfragen, ob ein Addon verfügbar ist:
In REDAXO 5 wurden diese Probleme beseitigt und es kann normal die Api benutzt werden.
Gruß, Gregor
Die Addon-Daten liegen in $REX['ADDON'][$key][$addonName].
Die Plugin-Daten liegen eigentlich in $REX['ADDON']['plugins'][$addonName][$key][$pluginName].
Innerhalb der config.inc.php kannst du jedoch mittels $REX['ADDON'][$key][$pluginName] die Plugin-Daten setzen.
Um das zu erreichen, wird vor dem Einbinden der config.inc.php das $REX['ADDON']-Array in der Variable $ADDDONSsic gesichert, und $REX['ADDON'] komplett geleert. Nach dem Include werden die gesetzten Werte in $REX['ADDON'] in das eigentliche Format umgewandelt, mit dem gesicherten Array zusammengeführt und wieder in $REX['ADDON'] gespeichert.
OOAddon greift auf $REX['ADDON'] zu und funktioniert daher nicht in der config.inc.php des Plugins.
Du kannst daher dort nur so abfragen, ob ein Addon verfügbar ist:
Code: Alles auswählen
if($ADDONSsic['status'][$addonName])
{
//...
}
Gruß, Gregor
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Re: Merkwürdiges Verhalten OOAddon::isAvailable()
Yes Es geht. Das langt so.
Danke Dir!
Danke Dir!
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Re: [solved] Merkwürdiges Verhalten OOAddon::isAvailable()
Hi,
Nur nochmal zur klarstellung: dieser workaround wird in R5 nicht funktionieren!
Gruß Markus
Nur nochmal zur klarstellung: dieser workaround wird in R5 nicht funktionieren!
Gruß Markus
- Markus.Lorch
- Beiträge: 682
- Registriert: 21. Okt 2007, 17:22
- Wohnort: Walheim
Re: [solved] Merkwürdiges Verhalten OOAddon::isAvailable()
Ja Dacht ich mir schon. Das ist grade für die Community Version, da ist erst mal R4 wichtig.
Grüße,
Markus Lorch
Tschüssle sagt Herr Nüssle
Markus Lorch
Tschüssle sagt Herr Nüssle