. .
pragmaMx Support Forum 25 Mai 2012, 23:32:39 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: Axis - Menüs nur für bestimmte Benutzergruppen  (Gelesen 2500 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« am: 03 Januar 2011, 08:49:31 »

Hallo alle zusammen,

frohes neues Jahr noch - und alles Gute für jeden, der das liest ... und auch alle, die es nicht tun Smiley

Ich habe eine Frage zum Menümanager: Ein erstelltes Menü soll entweder komplett nur für bestimmte Benutzergruppen sichtbar sein oder aber - das wäre die Krönung - in einem erstellten Menü sollen einzelne Unterpunkte nur für bestimmte Benutzergruppen sichtbar sein. Soweit die Idee - die Umsetzung scheitert bei mir allerdings noch. Habe ich da einen Denkfehler oder sind beide Ansinnen gar nicht machbar?

Danke für Hinweise und Anregungen.
Gespeichert

Lieben Gruß

Oliver / HanSolo
xmjay
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.638

xmjay


WWW
« Antworten #1 am: 03 Januar 2011, 11:25:36 »

Moin HanSolo  smile

Ein erstelltes Menü wird in der Blocksteuerung angezeigt.
Dort kann es u.A. einer bestimmten Benutzergruppe zugeordnet werden.

Blöcke - Blockeinstellungen 0.1.11
Bestehende Blöcke verändern 1.12
Gespeichert

Viele Grüße
xmjay



WebSchau

pMx 0.1.12 RC2 | PHP: 5.3.1 | MySQL: 5.0.51 | Apache | All Inkl. | FileZilla | Win 7 | FF3.x

Kein Support per PM
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #2 am: 06 Januar 2011, 10:17:48 »

Hallo xmjay,

danke für deine Antwort - das hatte ich vor dem Re-Design auch so gemacht; nun gibt es aber wohl einen Denkfehler meinerseits bei dem neuen Theme (axis). Da ist die Hauptnavigation ja oben - die ist inzwischen auch für alle Besucher soweit angelegt; nun gibt es aber auch Navigationspunkte, die ebenfalls da oben auftauchen sollen, die nur für bestimmte Benutzergruppen gedacht sind; insofern - brauche ich eigentlich zwei vom Manager erstellte Menüs - doch wie bekomme ich die beide da oben rein?

hmm .. je mehr ich das lese, umso mehr glaube ich, dass der Thread verschoben oder abgetrennt werden sollte in den Bereich der "Themes" - kann das bitte ein Moderator übernehmen und diesen Absatz dann löschen? Danke!
Gespeichert

Lieben Gruß

Oliver / HanSolo
xmjay
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.638

xmjay


WWW
« Antworten #3 am: 06 Januar 2011, 16:16:40 »

Hi HanSolo !

Zitat
zwei vom Manager erstellte Menüs - doch wie bekomme ich die beide da oben rein?
Dafür ist mir kein Lösungsweg bekannt.
Gespeichert

Viele Grüße
xmjay



WebSchau

pMx 0.1.12 RC2 | PHP: 5.3.1 | MySQL: 5.0.51 | Apache | All Inkl. | FileZilla | Win 7 | FF3.x

Kein Support per PM
TerraProject
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 501

TerraProject


WWW
« Antworten #4 am: 06 Januar 2011, 17:46:33 »

die einzige Möglichkeit, die ich sehe, ist in der setting.php die menus auszuwählen.
Hier ein Bsp.
Code: [Select]  

$themesetting['head_css_menu'] = 'axis-manu-guest';
if (MX_IS_USER) $themesetting['head_css_menu'] = 'axis-head-user'; 
if (MX_IS_ADMIN) $themesetting['head_css_menu'] = 'axis-head-admin'; 

Allerdings kannst du nur nach User/Gast/Admin selektieren...

aber vielleicht hilft dir das ja schon weiter...
Gespeichert

g

TerraProject
...::: TECMU :::... TerraProject

Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #5 am: 07 Januar 2011, 13:49:48 »

Hallo Terra,

das bringt mich schon mal einen kleinen Schritt weiter - aber wie werden denn sonst Blöcke für die unterschiedlichen Benutzergruppen erkannt? Das müsste doch vom Prinzip her ähnlich funktionieren, oder denke ich da zu einfach  rougi
Gespeichert

Lieben Gruß

Oliver / HanSolo
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #6 am: 07 Januar 2011, 15:55:57 »

Hallo alle zusammen,

nach einigem Stöbern hier im Forum und einem Wahnsinns-Schiss, dass ich mir das Theme Axis komplett durcheinander haue, poste ich lieber mal hier - sorry, programmieren ist nicht wirklich mein Ding.

Code: [Select]  
$information=mxGetUserData();
if ($information['user_ingroup']==2) $themesetting['head_css_menu'] = 'axis-manu-user'; //Hier die jew. Usergruppenid angeben.

else

{
if ($information['user_ingroup']==0) $themesetting['head_css_menu'] = 'axis-manu-guest'; //Hier die jew. Usergruppenid angeben.
}

So müsste man das doch einarbeiten können - kann ich das einfach so in die settings.php reinhauen?  Da der Tipp schon ein paar Jährchen her ist, wäre auch die Frage, ob das so noch in der aktuellen Version machbar ist oder nicht.

Danke für eure Hilfe  rougi
Gespeichert

Lieben Gruß

Oliver / HanSolo
TerraProject
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 501

TerraProject


WWW
« Antworten #7 am: 07 Januar 2011, 15:59:30 »

Den Ansatz hatte ich auch schon und ich habe das auch schon probiert... könnt aber u.U. Probleme mit dem Theme geben.
Deshalb hab ich dir den o.g. Vorschlag gemacht, der geht auf alle Fälle.
Gespeichert

g

TerraProject
...::: TECMU :::... TerraProject

Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #8 am: 07 Januar 2011, 16:24:22 »

Danke für die Antwort, Terra

welche Probleme meinst du, die sich ergeben könnten?

Problem bei der Seite ist, dass sich prinzipiell jeder registrieren kann (und das auch getan wird), diese dann aber nicht wirklich Mitglieder sind, also auch nicht die Inhalte für die Mitglieder sehen sollten; und daher reicht wohl die Unterscheidung Guest, User und Admin leider nicht aus, oder sehe ich das falsch?
Gespeichert

Lieben Gruß

Oliver / HanSolo
TerraProject
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 501

TerraProject


WWW
« Antworten #9 am: 07 Januar 2011, 16:30:40 »

gut, das ist ein Problem, was bei deiner Seite dann prinzipiell herrscht, das was ich meine, das das Theme auf diesen Code affig reagiert und teilweise (aus welchem Grund auch immer) bei mir zerschossen wurde.

Du kannst zwar die einzelnen Menublöcke auch diversen Usergruppen zuordnen, müsstest sie dann aber in den Linken/rechten Block setzen. Für das Menu oben kannst du dann nur Punkte nehmen, die für alle zugänglich sein sollen, oder wie von mir beschrieben, für die Grobeinteilung...
Gespeichert

g

TerraProject
...::: TECMU :::... TerraProject

Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #10 am: 07 Januar 2011, 20:43:44 »

Hallo alle zusammen,

wenn ich das so probiere, wie im Beitrag 7 geschrieben (ich probiere also weiter  smile), dann erhalte ich diese Meldung

Parse error: syntax error, unexpected T_VARIABLE in /TLD/themes/axis/settings.php on line 36


nehme ich das erste Semikolon raus, dann ändert sich die Fehlermeldung zu

Parse error: syntax error, unexpected T_ELSE in /TLD/themes/axis/settings.php on line 35

Ich stehe ein wenig auf dem Schlauch .. kann ein Coder mir vielleicht helfen? Danke!
Gespeichert

Lieben Gruß

Oliver / HanSolo
TerraProject
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 501

TerraProject


WWW
« Antworten #11 am: 07 Januar 2011, 20:47:50 »

muss richtig heissen
Code: [Select]  

$information=mxGetUserData();
if ($information['user_ingroup']==2) {
   $themesetting['head_css_menu'] = 'axis-manu-user'; //Hier die jew. Usergruppenid angeben.
} else {

    if ($information['user_ingroup']==0) $themesetting['head_css_menu'] = 'axis-manu-guest'; //Hier die jew. Usergruppenid angeben.
}
du hast die ersten geschweiften Klammern vergessen
Gespeichert

g

TerraProject
...::: TECMU :::... TerraProject

Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #12 am: 07 Januar 2011, 20:53:33 »

Hallo Terra,

vielen lieben Dank, dass du mir weiter unter die Arme greifst .. jetzt weiß ich auch, was du mit "Theme zerschossen" meintest .. smile .. klappt, sieht aber ja wirklich ziemlich kaputt nun aus .. mal schauen, woran das nun liegt.
Gespeichert

Lieben Gruß

Oliver / HanSolo
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #13 am: 21 Januar 2011, 08:40:02 »

Hallo alle zusammen,

eine Frage / Bitte an das Team bzw. an Andi, der doch das Theme "Axis" für pragma portiert hatte (oder?):

Ich habe nun versucht dahinter zu kommen, warum bei Einbinden des hier im Thread genannten Codes das Theme komplett zerschossen wird und die Darstellung nicht klappt. Vielleicht kannst du dir einmal anschauen.

Vielen Dank schon mal im voraus!
Gespeichert

Lieben Gruß

Oliver / HanSolo
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.424

Andi


WWW
« Antworten #14 am: 22 Januar 2011, 13:53:47 »

Moin Smiley

die settings.php wird auch im dyn. Stylesheet des Themes (themes/axis/style/style.css.php) eingebunden. Dort sind aber die API-Funktionen von pragmaMx nicht vorhanden. Die Funktion mxGetUserData() gibt es dort also nicht und das Stylesheet wird mit einem PHP-Fehler abgebrochen. Daher vermutlich die Fehlanzeige des Themes...

Vor der Verzweigung der versch. Menüs muss also noch geprüft werden, ob die pragmaMx Umgebung existiert.
Ausserdem ist die Verzweigung in dem Beispiel etwas ungünstig gelöst, weil kein Standardmenü berücksichtigt ist.

Nachfolgend ein Beispiel, was beide Probleme berücksichtigt:

Code: [Select]  
if (function_exists('mxGetUserData')) { // pragmaMx Umgebung vorhanden
    $userinfo = mxGetUserData();
    switch ($userinfo['user_ingroup']) {
        case 2: // für Gruppe mit ID 2
            $themesetting['head_css_menu'] = 'ein Menüname';
            break;
        case 3: // für Gruppe mit ID 3
        case 4: // oder für Gruppe mit ID 4
            $themesetting['head_css_menu'] = 'ein anderer Menüname';
            break;
        default: // Standard für alle anderen
            $themesetting['head_css_menu'] = 'der Standard Menüname';
    }
}

Bei sowas verwende ich lieber switch() als if/else Verzweigungen, weil das m.E. flexibler und übersichtlicher ist...
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #15 am: 12 Februar 2011, 22:44:05 »

Moin Andi  smile

danke für die Info - hat ein wenig länger gedauert mit meiner Rückmeldung.

Ich bin unsicher, in welchen Dateien ich nun Änderungen einarbeiten soll. Deinen Code in die style.css.php und keine weitere Datei mehr bearbeiten oder muss in die settings.php der alte Code noch rein? Kannst du mir da bitte noch einen Hinweis zu geben? Ich glaube, dann kann das Thema endlich geschlossen werden Smiley
Gespeichert

Lieben Gruß

Oliver / HanSolo
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.424

Andi


WWW
« Antworten #16 am: 14 Februar 2011, 00:17:52 »

Moin Smiley

der Code ist eine Optimierung des von TerraProject geposteten Codes für die settings.php des Themes.
Also dort rein Wink
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #17 am: 14 Februar 2011, 20:22:49 »

Hi Andi,

danke für die Info - klappt und läuft super .. danke!!!
Gespeichert

Lieben Gruß

Oliver / HanSolo
HanSolo
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 454

HanSolo


WWW
« Antworten #18 am: 03 November 2011, 00:35:27 »

Hallo alle zusammen,

ich beziehe mich auf die letzte Lösung in diesem Thread: http://www.pragmamx.org/Forum-topic-32277-start-msg203765.html#msg203765

Funktion ist weiterhin einwandfrei, allerdings produziert anscheinend jeder Aufruf der Seite in den Logfiles einen Fehler, so dass ich zum Einen extrem große Files habe, zum Anderen damit die Größe meines Webspaces einschränke Sad

Fehlermeldung lautet:
PHP Run-time notice:
Undefined index:  user_ingroup
in /home/.../themes/axis/settings.php on line 32

Ich stehe gerade ein wenig auf dem Schlauch und hoffe auf Hilfe zur Vermeidung der Run-time notice.

pragma ist soweit aktuell installiert.
Gespeichert

Lieben Gruß

Oliver / HanSolo
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.424

Andi


WWW
« Antworten #19 am: 03 November 2011, 19:55:06 »

Moin Smiley

jop, da ist noch ein kleiner Fehler drin im Code...

Das Feld 'user_ingroup' ist natürlich nur in den Userdaten vorhanden, wenn es ein angemeldeter User ist. Bei Gästen entsteht dann diese Fehlermeldung....

Ändere den Code wie folgt ab, dann sollte Ruhe im logfile sein...

Code: [Select]  
// hier bereits Standard für alle, auch Gäste...
$themesetting['head_css_menu'] = 'der Standard Menüname';
// dann die für die Usergruppen
if (function_exists('mxGetUserData') && MX_IS_USER) { // pragmaMx Umgebung vorhanden und user angemeldet
    $userinfo = mxGetUserData();
    switch ($userinfo['user_ingroup']) {
        case 2: // für Gruppe mit ID 2
            $themesetting['head_css_menu'] = 'ein Menüname';
            break;
        case 3: // für Gruppe mit ID 3
        case 4: // oder für Gruppe mit ID 4
            $themesetting['head_css_menu'] = 'ein anderer Menüname';
            break;
    }
}


ps: habe die beiden Threads verbunden Wink
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML