Werbung / Banner buchen
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: products_media für nicht berechtigte User ganz ausblenden

    digicam

    • Fördermitglied
    • Beiträge: 122
    Hallo, ich kämpfe mit einem Problem bei der Anzeige der "products_media" in "product_listing". Und zwar soll für User, die nicht berechtigt sind, die angehängten Dateien zu sehen, auch die Überschrift nicht sichtbar sein. Ich habe es in der "/templates/xtc5/module/products_media.html" mit einer if Abfrage versucht:

    Code: PHP  [Auswählen]
    {if $module_data.FILENAME == ''}
    <h1>{#file#}:</h1>
    ...
    ...
    </table>
    {/if}

    So geht es aber nicht, die Media-Überschrift wird auch für nicht berechtigte User angezeigt. Was mache ich falsch?
    Danke
    digicam


    Linkback: https://www.modified-shop.org/forum/index.php?topic=15860.0

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #1 am: 08. Oktober 2011, 07:09:46
    Hallo digicam,

    ich würde die Abfrage auf die Kundengruppe machen. Hast du das schon gemacht?
    Dann sollte die Überschrift auch nicht mehr erscheinen.

    Schöne Grüße,
    Jan

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #2 am: 08. Oktober 2011, 12:08:08
    Hi jannemann, das wollte ich eigentlich vermeiden, denn wenn sich die Kundengruppen-Berechtigung ändert, wird womöglich bei der falschen Kundengruppe die "products_media" ausgeblendet. Die Änderung sollte für alle möglichen Settings funktionieren.

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #3 am: 08. Oktober 2011, 13:56:24
    Aber irgendwas musst du ja abfragen.

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #4 am: 08. Oktober 2011, 15:58:04
    Genau das versuche ich ja gerade, in dem ich abfrage, ob es einen anzeigbaren Filenamen gibt:

    Code: PHP  [Auswählen]
    (if $module_data.FILENAME == '')

    Allerdings funktioniert es nicht, keine Ahnung warum.

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #5 am: 10. Oktober 2011, 13:30:02
    Kennt sich damit wirklich keiner aus?

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #6 am: 10. Oktober 2011, 13:37:11
    Wenn die nicht berechtigten User in einer Kundengruppe sind, musst du doch nur die Kundengruppe abfragen.

    Code: PHP  [Auswählen]
    {if $smarty.session.customers_status != 'xxx'}
    <h1>{#file#}:</h1>
    ...
    ...
    </table>
    {/if}

    Für das xxx trägst du dann die jeweilige Kundengruppen ID ein.

    So würde ich es erst einmal probieren.

    Gruß
    Ronny

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #7 am: 10. Oktober 2011, 13:54:10
    Ist bestimmt eine Möglichkeit, allerdings nur statisch, d.h. wenn man im Shop mehrere KD-Gruppen hat, die berechting (oder nicht berechtigt) sind oder wenn man die Berechtigung ändert, ist die Abfrage mit fester KD-Gruppen ID falsch. In meiner Anfrage (if $module_data.FILENAME == '') frage ich ab, ob es einen anzeigbaren Dateinamen gibt und wenn nicht, sollte der Script beendet werden. Die Variable $module_data.FILENAME sollte bei nicht berechtigten Usern leer sein, ist sie aber offensichtlich nicht, obwohl bei nicht berechtigten Usern kein Dateiname angezeigt wird. Hast du vielleicht eine Ahnung warum?
    THX

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #8 am: 10. Oktober 2011, 14:03:37
    Du fragst doch auch nur den vorhandene Datei ab. Wo ist denn die Verknüpfung zu dem "nicht berechtigten" User? Userberechtigung geht nun mal nur über den Kundengruppenstatus.

    Statisch ist meine Variante auf keinen Fall. Denn wenn du nachträglich den Kundenstatus eines Users änderst, greift doch meine Abfrage sofort wieder.

    Irgendwie fehlt hier gerade eine wichtige Komponente, um dein Problem zu lösen.

    Gruß
    Ronny

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #9 am: 10. Oktober 2011, 14:31:05
    Verstehe ich nicht. Deine Abfrage bezieht sich doch auf eine fest definierte Kundengruppe, die du abfragst. Wenn der Admin dieser Kundengruppe später die Berechtigung gibt, die angehängten Dateien zu sehen, werden sie trotzdem nicht angezeigt. Ich versuche abzufragen, ob eine anzeigbare Datei gibt und wenn nicht, wird auch die Überschrift ausgeblendet. Die Stringvariable $module_data.FILENAME sollte den Dateinamen, der angezeigt werden soll, enthalten. Wenn ich die aber abfrage, passiert gar nichts. Wie kann ich feststellen, welchen Wert die Variable hat?

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #10 am: 10. Oktober 2011, 14:44:37
    So, nun habe ich mir mal die Sache näher angesehen.
    Die Abfrage

    Code: PHP  [Auswählen]
    {if $module_data.FILENAME == ''}

    heißt ja nichts anderes als "Wenn der Dateiname leer ist ..."

    Was passiert denn, wenn du
    Code: PHP  [Auswählen]
    {if $module_data.FILENAME != ''}

    eingibst?

    Gruß
    Ronny

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #11 am: 10. Oktober 2011, 14:59:46
    Genau das frage ich ab: ist der Dateiname-String leer, spring zum Ende des Scripts. Wenn ich die Abfrage so eingebe: {if $module_data.FILENAME == ''}, passiert gar nichts, der Script wird ausgeführt egal, ob es einen Dateinamen gibt oder nicht.
    Wenn ich die Abfrage so eingebe: {if $module_data.FILENAME != ''}, wird keine Überschrift und keine Datei angezeigt, die Abfrage springs zum Ende des Scripts.
    Die Stringvariable, die den Dateinamen enthält, wird in "/includes/modules/products_media.php" gefüllt (ist ja klar). Dann werden die Angaben an "/templates/xtc5/module/products_media.html" übergeben, wo ich die Abfrage eingebaut habe. Wenn der User nicht berechtigt ist, die angehängte Datei zu sehen, wird sie in der product_info auch nicht angeteigt, also ging ich davon aus, dass in diesem Fall der String $module_data.FILENAME leer ist. Dem ist aber offensichtlich nicht so, oder?

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #12 am: 11. Oktober 2011, 09:01:40
    Nach einer weiteren schlaflosen Nacht habe ich wahrscheinlich etwas gefunden: Die Stringvariable $module_data.FILENAME ist am Anfang des Scripts noch undefiniert. Diese wird erst weiter im Script durch

    Code: PHP  [Auswählen]
    {foreach name=aussen item=module_data from=$module_content}

    mit dem Dateinamen gefüllt. Kann es sein, dass ich die Stringvariable $module_data.FILENAME noch vor der if-Abfrage füllen muss? Wenn ja, wie mache ich es? Wenn ich sie mit dem foreach-Befehl fülle, wird der Array $module_content doch verschoben und das stört bestimmt die eigentliche foreach-Schleife weiter im Schript, oder?

    digicam

    • Fördermitglied
    • Beiträge: 122
    Re: products_media für nicht berechtigte User ganz ausblenden
    Antwort #13 am: 13. Oktober 2011, 10:09:41
    Keiner eine Idee?
    8 Antworten
    2108 Aufrufe
    18. Januar 2018, 14:52:36 von 50to60
    4 Antworten
    2869 Aufrufe
    10. Januar 2013, 22:54:22 von jannemann
               
    anything