MyBB.de Forum
Template mit <if canview> ergänzen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Template mit <if canview> ergänzen (/thread-38249.html)

Seiten: Seiten: 1 2 3


RE: Template mit <if canview> ergänzen - Gerti - 09.05.2022

Habe mal die Foren sichtbar gemacht und die Leseberechtigung entzogen.

Mit
PHP-Code:
<if $permission['canthreadview'] == 0 then>{$lang->textvariable}</if> 
oder
PHP-Code:
<if $canthreadview == 0 then>{$lang->textvariable}</if> 
wird der Zusatztext allen Usern angezeigt.

Mit
PHP-Code:
<if $permission['canthreadview'] == 1 then>{$lang->textvariable}</if> 
oder
PHP-Code:
<if $canthreadview == 1 then>{$lang->textvariable}</if> 
wird der Zusatztext allen Usern nicht angezeigt

Wie bereits erwähnt, ist das Ziel eine Vorinformation bereits bei der Kategorie mit auszugeben.


RE: Template mit <if canview> ergänzen - Schnapsnase - 09.05.2022

(09.05.2022, 09:50)Gerti schrieb: Wie bereits erwähnt, ist das Ziel eine Vorinformation bereits bei der Kategorie mit auszugeben.

Das ist m.M. nach nicht möglich. Du kannst die Information nur im jeweiligen Forum ausgeben.
Da aber dann im Template forumbit_depth2_forum


RE: Template mit <if canview> ergänzen - Gerti - 09.05.2022

forumbit_depth2_forum ist nicht zielführend.
Bisher ist lediglich der von Dir gepostete Lösungsweg funktionierend und somit zielführend. Nur der hierzu erforderliche Pflegeaufwand wäre das Problem.


RE: Template mit <if canview> ergänzen - SvePu - 09.05.2022

@Gerti
Du beschäftigst dich doch lange genug mit MyBB, sodass es doch mal an der Zeit wäre, dich in die Nuzung von selbst erstellten Plugins einzuarbeiten. Dieses herumdoktorn in den Templates ist, gelinde gesagt, eher unprofessionell.


RE: Template mit <if canview> ergänzen - Schnapsnase - 09.05.2022

@SvePu

Richtig. Wink  Ohne Plugin wird das nicht zum Ziel führen.
Es muss eine Verbindung Usergruppe (gid) <-> Permission (canview) oder (canviewthreads) geben.
Ohne Query wird das nichts.


RE: Template mit <if canview> ergänzen - Gerti - 09.05.2022

Ich kann da grundsätzlich mit Euerer Ausführung konform gehen.

Nur hapert es bei mir an den PHP-Kenntissen wie man diese Anforderung zunächst mit SELECT ausliest, dann nach Wünschen zusammenführt und dann als Variable ausgeben kann. Bin ja bereits zu lernen, aber wo selbst wenn ich MyBB-Literatur hierzu lese, bauen sich für mich Berge auf und blicke dann nicht durch. Sorry, aber bin da leider entwerder begriffstutzig oder auf einem Auge blind.


RE: Template mit <if canview> ergänzen - Gerti - 11.05.2022

Mit diesem Lösungsansatz, erweitert auf:
PHP-Code:
<if ((in_array($mybb->user['usergroup'], array(4,5)) || in_array($mybb->user['additionalgroups'], array(4,5))) && $forum['fid'] == 11then>{$lang->textvariable}</if> 
sowie die weiteren <elseif Anweisungen>
funktioniert es jetzt wie gewünscht.

Danke nochmals für den Tipp.


RE: Template mit <if canview> ergänzen - StefanT - 11.05.2022

Es mag zwar für dich funktionieren, ist aber trotzdem falsch. additionalgroups kann mehrere Gruppen enthalten, sodass in_array ein fehlerhaftes Ergebnis liefert. Mit is_member() gibt es eine elegantere und bessere Möglichkeit Gruppenmitgliedschaften abzufragen.


RE: Template mit <if canview> ergänzen - Schnapsnase - 11.05.2022

@Gerti

Wie Stefan schon sagt, ist additionalgroups ein String und kein Array.
Du musst es vorher zu einem Array machen:

PHP-Code:
$agroups $mybb->user['additionalgroups'];
$secgroup explode(','$agroups);
foreach (
$secgroup as $addtionalgroup

Danach kannst du mit der Variable $addtionalgroup korrekt weiterarbeiten.
Dies wird aber im Template wohl nicht funktionieren, weil es evtl. das Plugin "PHP in Templates" überfordert. Wink
Kannst du ja selbst testen.
@Gerti
Um Stefans Hinweis für dich mal etwas aufzudröseln...
Seine Variante ist sehr wohl eleganter und sollte auch im Template funktionieren (mit PHPTPL):
PHP-Code:
<if (is_member([4,5,10], $mybb->user['uid'])) then

Mit dieser Funktion wird primäre und sekundäre Gruppe gleichfalls abgefragt.


RE: Template mit <if canview> ergänzen - Gerti - 11.05.2022

Dieser Hinweis wird nicht benötigt.

Das PlugIn phptpl ist für mich stets aktiv gegeben.

Mit
PHP-Code:
<if (is_member([1,2,3], $mybb->user['uid'])) && $forum['fid'] == xy then>{$lang->textvariable_1}
   <elseif (
is_member([4,5], $mybb->user['uid'])) && $forum['fid'] == yz then>{$lang->textvariable_1}
   <elseif (
is_member([6,7], $mybb->user['uid'])) && $forum['fid'] == xz then>{$lang->textvariable_1}
<else>
{
$lang->textvariable_2}
</if> 
funktioniert es perfekt.

Ein aufrichtigen Danke für Eure Hilfestellungen.

Wenn sich jetzt noch jemand für dieses Problem (Job) findet, bin ich glücklich.