Ausdruck im Widget

RHS

Bekanntes Mitglied
Lizenzinhaber
Registriert
17. Aug. 2013
Beiträge
456
Punkte
108
Hallo,

in einem Widget möchte ich einen Ausdruck hinterlegen ...
Code:
XenForo_Template_Helper_Core::callHelper('ismemberof', array($visitor, 23)) AND $visitor['customFields']['advertising'])
... bekomme aber einen Fehler "Undefined index: advertising".

Wie muss ich den Feldnamen angeben? $visitor['customsFields.advertising'] funktioniert auch nicht ...

Danke.

@Alluidh : die deutsche Hilfe zu dem Feld ist übrigens falsch (siehe engl. Original).
 
Vom Widget-Framework ... Dort gibt es diesen deutschen Text:

Gib deinen Ausdruck hier ein. Bitte nutze den korrekten PHP Syntax und sei dir zu 100% sicher welche Variabeln in dieser Position verfügbar sind. Für Templatepositionen sind alle Templateparameter erreichbar, aber für Hookpositionen sind nur Hookparameter erreichbar. Einige häufig benutzte Ausdrücke:

$visitor['user_id'] > 0 -- heißt: Das Widget können nur angemeldeten Benutzern sehen.

XenForo_Template_Helper_Core::helperIsMemberOf($visitor, 3) -- heißt: Das Widget können nur Benutzer der Benutzergruppe #3 sehen.

Im englischen Original lautet der:

Enter your expression here. Please use the correct PHP syntax and make sure you know 100% which variables are available in target position. For template position, all template parameters will be accessible but for hook position, only hook parameters will be accessible. Some common used expressions:

$visitor['user_id'] > 0 -- means: show the widget for logged in users only.

XenForo_Template_Helper_Core::callHelper('ismemberof', array($visitor,3)) -- means: show the widget for users of user group #3 only.

Der Hilfetext bzw. Code zu dem 2. Beispiel ist falsch.
 
Ah, kannst mal sehen, wie tief deutsch bei Xenforo schon mit @Alluidh verknüpft ist ... ;)

Eigentlich wollte ich aber nur wissen, wie ich den Fehler weg bekomme ...
 
Der Hilfetext bzw. Code zu dem 2. Beispiel ist falsch.
Was genau ist denn falsch?

Hast du denn bei xf.com im zu der Ressource schon mal deine Frage gestellt? Ich denke mal das dein eckigen Klammern mit den CustomFields Probleme machen.
 
Was genau ist denn falsch?
Es ist nun mal so das der Code in der deutschen Übersetzung anders aussieht als im Original.
Aber, der Code aus der deutschen Übersetzung funktioniert tadellos. Auch wenn @RHS das Gegenteil behauptet :)
die deutsche Hilfe zu dem Feld ist übrigens falsch (siehe engl. Original).

Er braucht also die Lösung für ->
AND $visitor['customFields']['advertising'])
 
@bt012ss : Du trägst immer Helm, Dich kann man überhaupt nicht erkennen ... ;).

Also, $visitor['customFields']['advertising'] funktioniert wohl und ist korrekt, da reine PHP-Syntax, die dort gefordert ist. Das Problem habe ich mir heute genauer angeguckt und der Fehler tritt nur auf, wenn ein User das bewusste Feld noch niemals angeglickt hat, dann steht der Eintrag auch nicht in der Tabelle. Normalerweise würde ich jetzt ein isset() nutzen, aber das funktioniert irgendwie nicht so wie gedacht.
 
Ein Austausch von isset() gegen empty() hat geholfen ... Problem ist also gelöst.
 
Zurück
Oben