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: ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe

    Peter70

    • Neu im Forum
    • Beiträge: 46
    Hallo Forum,

    habe zwar schon gesucht jedoch leider nichts gefunden.

    Wie kann ich denn den unterschiedlichen Kundengruppen jeweils eine eigene Startseite generieren ?
    Zb als Gast die Hauptstartseite, logt sich ein Händler ein sieht er eine spezielle Sartseite, ein Neuer Kunde wieder eine andere Startseite....

    Danke
    Peter

    [EDIT 03.04.2011: Hier geht es direkt zur Anleitung von h-h-h.]



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

    Matt

    • Experte
    • Beiträge: 4.241
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #1 am: 03. April 2011, 10:35:04
    In die module/main_content.html an passender Stelle einbauen:

    Code: PHP  [Auswählen]
    {if $smarty.session.customers_status.customers_status_id==0}
    Admin
    {elseif $smarty.session.customers_status.customers_status_id==2}
    Neuer Kunde
    {elseif $smarty.session.customers_status.customers_status_id==3}
    Händler
    {else}
    Gast
    {/if}

    h-h-h

    • modified Team
    • Beiträge: 4.562
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #2 am: 03. April 2011, 11:24:41
    /includes/modules/default.php

    suche:

    Code: PHP  [Auswählen]
    $default_smarty->assign('text', str_replace('{$greeting}', xtc_customer_greeting(), $shop_content_data['content_text']));

    füge danach ein:

    Code: PHP  [Auswählen]
      if (GROUP_CHECK == 'true') {
      $group_check = "and group_ids LIKE '%c_".$_SESSION['customers_status']['customers_status_id']."_group%'";
      }
      $shop_content_query = xtDBquery("SELECT
                          content_title,
                          content_heading,
                          content_text,
                          content_file
                          FROM "
    .TABLE_CONTENT_MANAGER."
                          WHERE content_group='30'
                          "
    .$group_check."
                          AND languages_id='"
    .$_SESSION['languages_id']."'");
      $shop_content_data = xtc_db_fetch_array($shop_content_query,true);

      $default_smarty->assign('title_admin', $shop_content_data['content_heading']);
      include (DIR_WS_INCLUDES.FILENAME_CENTER_MODULES);

      if ($shop_content_data['content_file'] != '') {
      ob_start();
      if (strpos($shop_content_data['content_file'], '.txt'))
        echo '<pre>';
      include (DIR_FS_CATALOG.'media/content/'.$shop_content_data['content_file']);
      if (strpos($shop_content_data['content_file'], '.txt'))
        echo '</pre>';
      $shop_content_data['content_text'] = ob_get_contents();
      ob_end_clean();
      }

      $default_smarty->assign('text_admin', str_replace('{$greeting}', xtc_customer_greeting(), $shop_content_data['content_text']));

      if (GROUP_CHECK == 'true') {
      $group_check = "and group_ids LIKE '%c_".$_SESSION['customers_status']['customers_status_id']."_group%'";
      }
        $shop_content_query = xtDBquery("SELECT
                          content_title,
                          content_heading,
                          content_text,
                          content_file
                          FROM "
    .TABLE_CONTENT_MANAGER."
                          WHERE content_group='31'
                          "
    .$group_check."
                          AND languages_id='"
    .$_SESSION['languages_id']."'");
      $shop_content_data = xtc_db_fetch_array($shop_content_query,true);

      $default_smarty->assign('title_customers', $shop_content_data['content_heading']);
      include (DIR_WS_INCLUDES.FILENAME_CENTER_MODULES);

      if ($shop_content_data['content_file'] != '') {
      ob_start();
      if (strpos($shop_content_data['content_file'], '.txt'))
        echo '<pre>';
      include (DIR_FS_CATALOG.'media/content/'.$shop_content_data['content_file']);
      if (strpos($shop_content_data['content_file'], '.txt'))
        echo '</pre>';
      $shop_content_data['content_text'] = ob_get_contents();
      ob_end_clean();
      }

      $default_smarty->assign('text_customers', str_replace('{$greeting}', xtc_customer_greeting(), $shop_content_data['content_text']));  

      if (GROUP_CHECK == 'true') {
      $group_check = "and group_ids LIKE '%c_".$_SESSION['customers_status']['customers_status_id']."_group%'";
      }
        $shop_content_query = xtDBquery("SELECT
                          content_title,
                          content_heading,
                          content_text,
                          content_file
                          FROM "
    .TABLE_CONTENT_MANAGER."
                          WHERE content_group='32'
                          "
    .$group_check."
                          AND languages_id='"
    .$_SESSION['languages_id']."'");
      $shop_content_data = xtc_db_fetch_array($shop_content_query,true);

      $default_smarty->assign('title_merchant', $shop_content_data['content_heading']);
      include (DIR_WS_INCLUDES.FILENAME_CENTER_MODULES);

      if ($shop_content_data['content_file'] != '') {
      ob_start();
      if (strpos($shop_content_data['content_file'], '.txt'))
        echo '<pre>';
      include (DIR_FS_CATALOG.'media/content/'.$shop_content_data['content_file']);
      if (strpos($shop_content_data['content_file'], '.txt'))
        echo '</pre>';
      $shop_content_data['content_text'] = ob_get_contents();
      ob_end_clean();
      }

      $default_smarty->assign('text_merchant', str_replace('{$greeting}', xtc_customer_greeting(), $shop_content_data['content_text']));

    Bitte in diesem Code die 6 "<pre>" mit "<pre>" ersetzen, dieses Forum zerhackt sonst alles!

    Dann gibt es für jede Kundengruppe einen eigenen Text, welcher über den Contentmanager erstellt werden kann.

    /templates/<template-name>/module/main_content.html

    Code: PHP  [Auswählen]
    {if $smarty.session.customers_status.customers_status_id==0}
    <h1>{$title_admin}</h1>
    <div>{$text_admin}</div>
    {elseif $smarty.session.customers_status.customers_status_id==2}
    Neuer Kunde
    <h1>{$title_customers}</h1>
    <div>{$text_customers}</div>
    {elseif $smarty.session.customers_status.customers_status_id==3}
    <h1>{$title_merchant}</h1>
    <div>{$text_merchant}</div>
    {else}
    <h1>{$title}</h1>
    <div>{$text}</div>
    {/if}

    Im Contentmanager müssen den Startseiten-Texten dann folgende Gruppen zugewiesen werden:

    Admin = 30
    Neuer Kunde = 31
    Händler = 32

    Der normale Startseiten-Text wird dann den Gästen präsentiert.

    Gruß

    h-h-h

    [EDIT h-h-h 03.04.2011: Code korrigiert.]
    [EDIT Tomcraft 03.04.2011: div mit pre ersetzt.]

    Peter70

    • Neu im Forum
    • Beiträge: 46
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #3 am: 03. April 2011, 13:39:52
    Hallo h-h-h,

    jetzt erhalte ich folgende Fehlermeldung:

    Code: PHP  [Auswählen]
    1054 - Unknown column 'p.group_permission_0' in 'where clause'

    SELECT content_title, content_heading, content_text, content_file FROM content_manager WHERE content_group='30' and p.group_permission_0=1 AND languages_id='2'

    [XT SQL Error]

    Viele Grüße
    Peter

    h-h-h

    • modified Team
    • Beiträge: 4.562
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #4 am: 03. April 2011, 18:09:51
    Hallo Peter,
    ich habe den oben genannten Code Antwort #2 noch einmal geändert, jetzt sollte das Problem nicht mehr vorhanden sein.

    Gruß

    h-h-h

    Peter70

    • Neu im Forum
    • Beiträge: 46
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #5 am: 04. April 2011, 06:53:36
    Hallo h-h-h,

    vielen Dank schon mal. Die Fehlermeldung ist schon mal weg.
    Jetzt sieht der Gast jedoch 2 mal untereinander die selbe Startseite bzw den Text.

    Bei dem von Dir geänderten Code oben muss aber jetzt nichts mehr ersetzt werden wie vorher - oder doch noch ?

    Viele Grüße
    Peter

    h-h-h

    • modified Team
    • Beiträge: 4.562
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #6 am: 04. April 2011, 07:41:33
    Achso, die Änderung in der main_content.html ersetzt folgenden vorherigen Inhalt:

    Code: PHP  [Auswählen]
    <h1>{$title}</h1>
    <div>{$text}</div>

    Ja, das mit dem ersetzen?! Da fragst Du mich was.
    Also bei </pre> und <pre> müssen die Leerzeichen entfernt werden.

    Gruß

    h-h-h

    Peter70

    • Neu im Forum
    • Beiträge: 46
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #7 am: 04. April 2011, 07:56:50
    Hallo h-h-h

    also das mit dem Ersetzen von div auf pre hat wohl Torsten gemacht (oben editiert).
    Funktioniert auch.

    Jedoch sieht z.B. "Neuer Kunde" immer zusätzlich den Text der ganz normalen Startseite für die Gäste.
    Erst darunter kommt dann der eigentliche Text der für "Neuer Kunde" gedacht ist.

    Könnte es daran liegen, dass:

    Code: PHP  [Auswählen]
    <h1>{$title}</h1>
    <div>{$text}</div>

    ohne jegliche if Anweisung in der "main_content.html" steht ?

    Sorry für die vielen Rückfragen.

    Peter

    h-h-h

    • modified Team
    • Beiträge: 4.562
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #8 am: 04. April 2011, 08:29:22
    Code: PHP  [Auswählen]
    <h1>{$title}</h1>
    <div>{$text}</div>

    ohne if muss entfernt werden.

    So, bin morgen wieder da.

    Gruß

    h-h-h

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #9 am: 04. April 2011, 08:55:28
    [...]
    also das mit dem Ersetzen von div auf pre hat wohl Torsten gemacht (oben editiert).
    Funktioniert auch.
    [...]

    Ja, ist richtig. Ich habe in das Migrations-Tool von bbPress nach SMF extra eine Logik eingebaut, die die überflüssigen Leerzeichen dann wieder entfernt, sodass der Code nach der Migration dann endlich mal stimmt. ;-)

    Grüße

    Torsten

    Peter70

    • Neu im Forum
    • Beiträge: 46
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #10 am: 04. April 2011, 09:22:20
    Hallo,

    also:

    Code: PHP  [Auswählen]
    <h1>{$title}</h1>
    <div>{$text}</div>

    habe ich aus der "main_content.html" entfernt und sieht jetzt wie folgt aus:

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="index"}
    {$MODULE_error}

    {if $smarty.session.customers_status.customers_status_id==0}
    <h1>{$title_admin}</h1>
    <div>{$text_admin}</div>
    {elseif $smarty.session.customers_status.customers_status_id==2}

    <h1>{$title_customers}</h1>
    <div>{$text_customers}</div>
    {elseif $smarty.session.customers_status.customers_status_id==3}
    <h1>{$title_merchant}</h1>
    <div>{$text_merchant}</div>
    {else}

    {/if}

    {if $MODULE_new_products}
    <div>{$MODULE_new_products}</div>
    {/if}
    {if $MODULE_upcoming_products}
    <div>{$MODULE_upcoming_products}</div>
    {/if}

    Gast: Sieht keine Startseite bzw. Text.
    Neuer Kunde: Sieht die Ihm zugewiesene Startseite bzw. Text.
    Admin: Sieht ebenfalls die Ihm zugewiesene Startseite bzw. Text.

    Funktioniert also bis auf "Gast" alles perfekt.

    Peter

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #11 am: 04. April 2011, 09:43:34
    Bist du sicher, dass deine ID für die Kundengruppe "Gast" stimmt? :?

    Grüße

    Torsten

    Matt

    • Experte
    • Beiträge: 4.241
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #12 am: 04. April 2011, 09:52:29
    Er hat doch gar keine ID für Gast. Die entsprechenden Smarty-Variablen müssen halt nach {else} rein.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #13 am: 04. April 2011, 09:55:17
    :lol2: Stimmt! :D

    Wo nichts ist, kann auch nichts angezeigt werden. :D

    Grüße

    Torsten

    Peter70

    • Neu im Forum
    • Beiträge: 46
    ANLEITUNG: Unterschiedliche Startseitentexte je Kundengruppe
    Antwort #14 am: 04. April 2011, 10:24:30
    Ihr überfordert mich. :?

    [...] Die entsprechenden Smarty-Variablen müssen halt nach {else} rein.

    Was genau muss denn wo rein?

    Peter

    3 Antworten
    3830 Aufrufe
    21. April 2011, 06:45:19 von Bernd
    6 Antworten
    1581 Aufrufe
    01. September 2020, 06:53:41 von manne35
    3 Antworten
    3829 Aufrufe
    29. April 2012, 15:26:28 von h-h-h
               
    anything