[xen] Conditionals

thomas

Bekanntes Mitglied
Registriert
11. Dez. 2010
Beiträge
26
Punkte
53
Hier eine kleine Übersicht über verfügbare Conditionals. Ich werde die Liste im laufe der Zeit erweitern. Natürlich dürft ihr gern mithelfen


User ist Admin


Code:

<xen:if is="{$visitor.is_admin}">

<!-- Euer Code -->

</xen:if>

User ist Moderator

Code:

<xen:if is="{$visitor.is_moderator}">

<!-- Euer Code -->

</xen:if>

Abfrage ob User angemeldet ist:

Code:

<xen:if is="{$visitor.user_id}">

<!-- Euer Code für eingelogte User -->

<xen:else />

<!-- Für nicht angemeldete USer -->

</xen:if>

Direkt abfrage ob der User nicht angemeldet ist, geht natürlich auch:

Code:

<xen:if is="!{$visitor.user_id}">

</xen:if>[/COLOR]
wie man hier sieht, muss zur Negation ! innerhalb der beiden Gänsefüsschen einfügen.



Gruppen id X oder Y :

Code:

<xen:if is="{$visitor.user_group_id} == X OR {$visitor.user_group_id} == Y ">

</xen:if>

Zusatz von ragtek:

Hier wird NUR die primäre Gruppe geprüft!
Dafür gibt es aber seit der 2. Betaversion folgende Methode in der XenForo_Visitor Klasse

PHP:

/**
* Determines if the visitor is a member of the specified user group
*
* @param integer $userGroupId
* @param boolean $includeSecondaryGroups
*
* @return boolean
*/
public function isMemberOf($userGroupId, $includeSecondaryGroups = true)

Ob Inhalt exisitiert:


Code:

<xen:if hascontent="true">

<div class="someclass">

<xen:contentcheck>

<xen:if is="{$true}">

<!-- blah -->

</xen:if>

</xen:contentcheck>

</div>

</xen:if>

Hinweis:

Da dürfen natürlich keine statischen Elemente dazwischen sein, sonst ist es immer true

statt der IF kann es natürlich auch eine Variable sein die dann leer ist, mit if ist es halt sicherer





Ob User weniger als 20 Mitteilungen hat:


Code:

<xen:if is="{$visitor.message_count} < 20">

</xen:if>

Darf User Anhänge ansehen:

Code:

<xen:if is="{$visitor.permissions.forum.viewAttachment}">

</xen:if>

Ein Template includen:

Code:

<xen:include template="meintemplate" />

Ob Post position 6 ist.

Code:

<xen:if is="{$post.position} == '5' ">

</xen:if>

beginnend bei 0.

Wenn Forum x ist:


Code:

<xen:if is="{$forum.node_id}==x">

Code für forum x

</xen:if>
 
Hallo Thomas,

wäre schön wenn wir die Liste aktuell halten könnten, brauch man sie ja eh immer wieder. Einen Vorschlag bezüglich der Anzeige hätt ich noch: pack doch die Code Bsp. so ein:

HTML:
<xen:if is="{$visitor.is_admin}">

<!-- Euer Code -->

</xen:if>

Dann wird die Liste übersichtlicher.
 
Hi Otto,

die Beispiele waren alle in einem Codeblock. Nach dem gefühlten dritten mal ändern hab ich es dann aber erstmal sein lassen :)
 
Zurück
Oben