• Willkommen, Gast!
  • Samstag, 31. Oktober 2020, 10:24:36
Position: Home » Boardsolution » Boardsolution v1.4x » Boardsolution v1.40 Beta » {if group == ...} in template einbauen
Thema: {if group == ...} in template einbauen [Seite 1 ]

Kein neuer Beitrag Mars , 27.08.2009, 20:57
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
Kann mir jemand sagen, wie ich
(BS-)Template:
1
{if group == ...}bla bla bla{endif}
in die run() einbauen kann, sodass ich es im Template verwenden kann?

MfG Marcel

 
Kein neuer Beitrag Rafioso , 28.08.2009, 16:37
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

hat "group" bei dir denn schon einen Wert, oder kommst du genau da nicht weiter?

MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Mars , 31.08.2009, 14:22
Beitrag #3   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
genau da komme ich nciht weiter, ich möchte nur für bestimmte Gruppen Inhalt wiedergeben lassen
(BS-)Template:
1
2
3
4
5
6
{if group == XXX}
Hallo XXX-Gruppe
{endif}
{if group == YYY}
Hallo YYY-Gruppe
{endif}


mfg Marcel

 
Kein neuer Beitrag Rafioso , 31.08.2009, 18:27
Beitrag #4   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Ok, hier mal ein Ablauf wie dus machen könntest:

PHP:
1
2
3
4
5
6
7
$auth = FWS_Props::get()->auth();
$user_groups = array();
$usergroups = BS_DAO::get_usergroups()->get_by_ids(array(12)); //Die IDs der Gruppen eintragen (1, 2,...)
foreach($usergroups as $data)
{
   $user_groups[] = array('group' => $auth->get_groupname((int)$data['id']));
}


Dann kannst du "$user_groups" ans Template geben und mit "group" die Überprüfung im Template, mit
dem Gruppennamen durchführen.

MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Mars , 01.09.2009, 16:57
Beitrag #5   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
Hy,

also ich habe es genauso gemacht wie Rafioso gesagt hat (angepasst an meine Gruppen). leider kann
ich im Template nicht auf die Gruppen zurückgreifen.
Code
PHP:
1
2
3
4
5
6
7
8
9
    $user_groups = array();
    $usergroups = BS_DAO::get_usergroups()->get_by_ids(array(145)); //Die IDs der Gruppen eintragen (1, 2,...)
    foreach($usergroups as $data){
      $user_groups[] = array('group' => $auth->get_groupname((int)$data['id']));
    }
    
    $tpl->add_variables(array(
      'group' => $user_groups
    ));
Wollte so drüber zugreifen
(BS-)Template:
1
{if group == "Kfs"}Hallo KFS{endif}


habe ich vielleicht was übersehen?

MfG Marcel

 
Kein neuer Beitrag Nils , 01.09.2009, 18:00
Beitrag #6   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hi,

öhm, "group" ist ein Array. Das was du da machst geht also nicht.

Ich versteh auch nicht so richtig was Rafioso vor hatte ^^. Soweit ich dich verstanden habe, willst
du doch abhängig von der Gruppe des aktuellen Benutzers den einen oder anderen Inhalt ausgeben,
richtig?
Eine Möglichkeit wäre:
PHP:
1
2
3
4
5
6
7
8
$auth = FWS_Props::get()->auth();
$user = FWS_Props::get()->user();
$user_groups = array();
$groups = $user->get_all_user_groups();
$usergroups = BS_DAO::get_usergroups()->get_by_ids(array(145));
foreach($usergroups as $data)
  $user_groups[$data['id']] = $auth->is_in_group($groups,$data['id']);
$tpl->add_variable_ref('groups',$user_groups);


Dann kannst du im Template folgendes machen:
Code:
1
2
3
4
5
6
{if groups:1}
...
{endif}
{if groups:2}
...
{endif}

Wobei es natürlich sein kann, dass jemand in 1 und 2 ist...

mfg Nils

PS: Ungetestet, aber so ungefähr sollte es gehen :)

 
Kein neuer Beitrag Rafioso , 01.09.2009, 18:23
Beitrag #7   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

also bei mir klappt meine Änderung wunderbar.
Im Template sieht es aber anders aus, als bei Mars:
HTML:
1
2
3
4
5
{loop user_groups as ug}
  {if ug:group == "Administratoren"}
    {ug:group}<br />
  {endif}
{endloop}


Allerdings gebe ich zu, dass ich den dritten Beitrag nicht richtig gelesen habe, sonst hätte ich
bemerkt, dass meine Änderung nicht seinem Wunsch entspricht. So wie ich es gemacht habe wird
nämlich nicht geprüft, ob der User in der Gruppe ist. Nächstes Mal sollte ich genauer lesen :D

MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Mars , 02.09.2009, 14:43
Beitrag #8   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
@nils, genau ich möchte in Abhängigkeit der Gruppen (egal ob jemand in mehreren Gruppen ist)
Inhalte wiedergeben. Leider funktioniert es bei mir nicht, also es findet keine Ausgabe statt.

Hier php
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
32
33
34
35
36
37
38
39
40
final class BS_Front_Module_docs extends BS_Front_Module
{
   /**
    * @see FWS_Module::init($doc)
    *
    * @param BS_Front_Document $doc
    */

   public function init($doc)
   {
      parent::init($doc);
      
    $user = FWS_Props::get()->user();
      $locale = FWS_Props::get()->locale();
      $cfg = FWS_Props::get()->cfg();
      $renderer = $doc->use_default_renderer();

    $renderer->set_has_access($user->is_loggedin());
    $renderer->add_breadcrumb($locale->lang('docs'),BS_URL::build_mod_url('docs'));
   }
   
   /**
    * @see FWS_Module::run()
    */
   
   public function run()
   {
      $locale = FWS_Props::get()->locale();
      $tpl = FWS_Props::get()->tpl();
    $user = FWS_Props::get()->user();
    $auth = FWS_Props::get()->auth();
    $cache = FWS_Props::get()->cache();
      $locale->add_language_file('docs');
     
    $user_groups = array();
    $groups = $user->get_all_user_groups();
    $usergroups = BS_DAO::get_usergroups()->get_by_ids(array(145));
    foreach($usergroups as $data)
      $user_groups[$data['id']] = $auth->is_in_group($groups,$data['id']);
    $tpl->add_variable_ref('groups',$user_groups);
   }
}

Sowie BS-Template
(BS-)Template:
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
41
{include "inc_header.htm"}

{if action_result < 1}
{if module_error == false}

<div class="bs_border">
  <h1 class="bs_topic">Dokumente</h1>
</div>
<div class="bs_border">
  <div class="bs_main docs">
      <ul class="bs_none_list">
      <table class="bs_table">
        <tr>
          <td>Beschreibung</td>
          <td>Dokument (Format)</td>
        </tr>
        <tr>
          <td>Jahrbuch der Kreisfachschaft gera 2009/2010</td>
          <td>
            <a href="../media/Jahrbuch09_10.pdf" target="_blank">hier</a>
          </td>
        </tr>
                <tr>
                  <td>
{if groups:1}
...
{endif}
{if groups:4}
...
{endif}
</td>
                    <td>-</td>
                </tr>
      </table>
    </ul>
  </div>
</div>
{endif}
{endif}

{include "inc_footer.htm"}

Oder habe ich etwas übersehen?

mfg Marcel

 
Kein neuer Beitrag Nils , 02.09.2009, 17:29
Beitrag #9   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hi,

ich habe das gerade mal kurz getestet. Das Problem war, dass $auth->is_in_group() einen durch ","
getrennten String mit den Gruppen-IDs erwartet und kein Array :)

Änder die Zeile 34 im Code-Ausschnitt oben mal in:
PHP:
1
$groups = implode(',',$user->get_all_user_groups());


mfg Nils

 
Kein neuer Beitrag Mars , 03.09.2009, 16:14
Beitrag #10   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
einwandfrei ^^
thx

Marcel

Druckansicht

n/a n/a 1     (Anzeige: 1 – 10; insgesamt: 10) n/a n/a
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Legende: Administratoren, User, Moderatoren
Toggle Ähnliche Themen zu „{if group == ...} in template einbauen“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Kein Zugriff auf "geerbtes" Forum 1 29347 25.08.2013, 11:00
Von: effeff
25.08.2013, 23:58
Von: Rafioso Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, verschoben
  [PHP][REGEX] für Template 1 27281 28.02.2013, 14:28
Von: Mars
01.03.2013, 07:00
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Schriftsatz hat sich von selbst geändert 12 7123 18.12.2012, 09:29
Von: Dieter
23.12.2012, 16:34
Von: Dieter Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Bedankfunktion einbauen 1 29043 11.06.2012, 17:24
Von: Nico
11.06.2012, 17:58
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
Thema eigene Usergruppe -> Profilzugriff 2 9454 18.01.2012, 10:44
Von: schoeppsche
19.01.2012, 10:26
Von: schoeppsche Zum letzten Beitrag
  • 0.023877 Sek., 10 DB-Zugriffe, 992.164 KiB
  • Powered by Boardsolution v1.46