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: Öffnungszeiten über AdminMenue definieren

    scheffer

    • Frisch an Board
    • Beiträge: 80
    • Geschlecht:
    Öffnungszeiten über AdminMenue definieren
    am: 31. Oktober 2014, 15:00:56
    Hallo,
    wir haben bei uns im Shop die Öffnungszeiten an meheren Stellen stehen (index.html oder auch im ContentManager auf div. Seiten). Wenn man nun die Zeiten mal ändert, muss das auf mehreren Seiten passieren. Warum also nicht ein neues Feld im AdminMenue unter "Mein Shop" nutzen und diesen Parameter verwenden.

    Was habe ich bisher gemacht:
    Legt ein neues Feld "STORE_OPENING_HOURS" an.
    Code: SQL  [Auswählen]
    INSERT INTO `configuration` (`configuration_id`, `configuration_key`, `configuration_value`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES (NULL, 'STORE_OPENING_HOURS', 'Mo.-Fr. 09:00-12:00 u. 13:00:18:00', '1', '50', NULL, '', NULL, NULL);

    Die folgenden Dateien wie folgt geändert:
    Code: PHP  [Auswählen]
    ##### /lang/german/admin/configuration.php #####

    DIREKT NACH:
    define('STORE_OWNER_EMAIL_ADDRESS_DESC' , 'Die E-Mail Adresse des Shop-Betreibers');

    DAS HIER EINFÜGEN:

    // BOF - 2014-10-31 - Openings hours
    define('STORE_OPENING_HOURS_TITLE' , 'Öffnungszeiten');
    define('STORE_OPENING_HOURS_DESC' , 'Öffnungszeiten dieses Shops');
    // BOF - 2014-10-31 - Opening hours

    ##### /lang/english/admin/configuration.php #####

    DIREKT NACH:
    define('STORE_OWNER_EMAIL_ADDRESS_DESC' , 'Die E-Mail Adresse des Shop-Betreibers');

    DAS HIER EINFÜGEN:

    // BOF - 2014-10-31 - Openings hours
    define('STORE_OPENING_HOURS_TITLE' , 'Opening hours');
    define('STORE_OPENING_HOURS_DESC' , 'Opening hours of this store');
    // BOF - 2014-10-31 - Opening hours
    -----------------------------------------------------------------------------------------------------

    In der Datei /templates/xtc5/index.html an gewünschter Stelle das folgende hinzugefügt:
    Code: PHP  [Auswählen]
    {$smarty.const.STORE_OPENING_HOURS}

    Funktioniert wunderbar.

    Wie kann ich nun diesen festen Wert auch im ContentManager z.B. im Index anzeigen lassen ?
    {$smarty.const.STORE_OPENING_HOURS} oder {$STORE_OPENING_HOURS} funktionieren leider nicht.

    Muss man das noch irgendwo definieren ?

    Danke und Gruss


    Linkback: https://www.modified-shop.org/forum/index.php?topic=31389.0
    rechtstexte für onlineshop

    luca

    • Fördermitglied
    • Beiträge: 309
    • Geschlecht:
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #1 am: 01. November 2014, 09:43:06
    echt geile Idee und echt traurig das alle hier lesen jedoch dir keiner Hilft...  :-o

    scheffer

    • Frisch an Board
    • Beiträge: 80
    • Geschlecht:
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #2 am: 01. November 2014, 10:12:46
    Abwarten.
    Schließlich ist die Anfrage noch nicht einmal 1Tag alt. Außerdem war gestern Halloween  :glaskugel: .. da hat man was anders zu tun.

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.484
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #3 am: 01. November 2014, 10:16:31
    Ausserdem
    ist niemand gezwungen zu helfen.
    ist Wochenende
    muß demjenigen dann auch noch was dazu einfallen
    usw.

    Über Deine Einstellung solltest Du dringend mal nachdenken Luca

    Gruß
    GMS

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #4 am: 01. November 2014, 13:02:15
    Der ContentManager kann mit Variablen nicht umgehen. Wo du ansetzen kannst ist in includes/modules/default.php an der Stelle, an der auch der Platzhalter {$greeting} ersetzt wird, also z.B. ändern in:
    Code: PHP  [Auswählen]
    $default_smarty->assign('text', str_replace(array('{$greeting}', {$STORE_OPENING_HOURS}), array(xtc_customer_greeting(), STORE_OPENING_HOURS), $shop_content_data['content_text']));
     

    Das ersetzt {$STORE_OPENING_HOURS} in deinem im ContentManager erstellten Text durch den Inhalt der Konstanten STORE_OPENING_HOURS.

    scheffer

    • Frisch an Board
    • Beiträge: 80
    • Geschlecht:
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #5 am: 01. November 2014, 14:44:52
    Hallo Matt,
    danke für den Tipp, das führt bei mir leider zu einer Fehlermeldung:
    Code: PHP  [Auswählen]
    Parse error: syntax error, unexpected '{', expecting ')' in /Applications/MAMP/htdocs/shoproot/includes/modules/default.php on line 333

    Habe schon versucht die geschweiften Klammern von {$STORE_OPENING_HOURS} durch "normale" zu ersetzen. Bekomme dann zwar keine Fehlermeldung mehr, aber auch nicht die Öffnungszeiten auf der Seite angezeigt.

    Danke und Gruss

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #6 am: 01. November 2014, 16:08:34
    Ups, da fehlen die Anführungszeichen:
    Code: PHP  [Auswählen]
    $default_smarty->assign('text', str_replace(array('{$greeting}', '{$STORE_OPENING_HOURS}'), array(xtc_customer_greeting(), STORE_OPENING_HOURS), $shop_content_data['content_text']));

    scheffer

    • Frisch an Board
    • Beiträge: 80
    • Geschlecht:
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #7 am: 01. November 2014, 18:59:39
    Matt,
    vielen Dank, das hat nun schon einmal wunderbar funktioniert.

    Wenn ich auf anderen Content-Seiten das auch noch einfügen will, muss ich sicherlich in der obigen Datei auch noch was ändern.

    Ich habe mal das folgende probiert für die Seite "Liefer- und Versandkosten" (ID 1):
    Code: PHP  [Auswählen]
      $shop_content_data = $main->getContentData(5);
      $shop_content_data_2 = $main->getContentData(1);
       
      $default_smarty->assign('title', $shop_content_data['content_heading']);
      $default_smarty->assign('title_2', $shop_content_data['content_heading']);

      include (DIR_WS_INCLUDES.FILENAME_CENTER_MODULES);

      /* $default_smarty->assign('text', str_replace('{$greeting}', xtc_customer_greeting(), $shop_content_data['content_text'])); */
      $default_smarty->assign('text', str_replace(array('{$greeting}', '{$STORE_OPENING_HOURS}'), array(xtc_customer_greeting(), STORE_OPENING_HOURS), $shop_content_data['content_text']));
      $default_smarty->assign('text_2', str_replace(array('{$greeting}', '{$STORE_OPENING_HOURS}'), array(xtc_customer_greeting(), STORE_OPENING_HOURS), $shop_content_data['content_text']));

     

    Das führte jedoch leider nicht zum Ziel.

    Ich dachte, dass
    Code: PHP  [Auswählen]
      $shop_content_data_2 = $main->getContentData(1);
     
    die Seite einliest und
    Code: PHP  [Auswählen]
      $default_smarty->assign('text_2', str_replace(array('{$greeting}', '{$STORE_OPENING_HOURS}'), array(xtc_customer_greeting(), STORE_OPENING_HOURS), $shop_content_data['content_text']));
     
    den Text ersetzen würde.

    Ist aber leider nicht so.

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #8 am: 01. November 2014, 19:46:52
    Was du machst ist im Bereich der Startseitengenerierung eine zweite Variable (text_2) mit dem VK-Text zu füllen. Wenn du im Startseitentemplate dann auch irgendwo {$text_2} ausgeben würdest würdest du sehen, dass es funktioniert, aber natürlich nur auf der Startseite.

    Die Änderung, die du willst, muss in shop_content.php vorgenommen werden und zwar in Zeile 80:
    Code: PHP  [Auswählen]
    $content_body = str_replace(array('{$greeting}', '{$STORE_OPENING_HOURS}'), array(xtc_customer_greeting(), STORE_OPENING_HOURS), $shop_content_data['content_text']);
     

    Das gilt dann für alle Contentseiten!

    scheffer

    • Frisch an Board
    • Beiträge: 80
    • Geschlecht:
    Re: Öffnungszeiten über AdminMenue definieren
    Antwort #9 am: 03. November 2014, 13:31:49
    Hallo Matt,
    vielen Dank für den Tipp.
    xtc_customer_greeting() führt zwar zu einem Error (ist wohl nicht definiert), aber wenn man die Arrays entfernt, dann funktioniert das wunderbar  :-B
    Code: PHP  [Auswählen]
    $content_body = str_replace( '{$STORE_OPENING_HOURS}', STORE_OPENING_HOURS, $shop_content_data['content_text']);

    Hier nun die komplette Beschreibung - für alle die es auch umsetzen möchten:
    Code: PHP  [Auswählen]
    #####################################################################################################

    Description:    Öffnungszeiten des Ladengeschäfts über das AdminMenue verändern
     D.h. wenn die Öffnungszeiten auf mehreren Seiten geschrieben sind, kann man diese hiermit zenral anpassen
    Version:        modified eCommerce Shopsoftware v1.06 rev 4642 SP2 dated: 2014-10-31

    #####################################################################################################

    #####################################################################################################

    ##### Datenbank #####

    Den folgenden Befehl in der Datenbank ausführen - das legt ein neues Feld "STORE_OPENING_HOURS" an.
    Das Feld erscheint dann im "Admin-Menue/Konfiguration/Mein Shop"

    INSERT INTO `configuration` (`configuration_id`, `configuration_key`, `configuration_value`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES (NULL, 'STORE_OPENING_HOURS', 'Mo.-Fr. 09:00-12:00 u. 13:00:18:00', '1', '50', NULL, '', NULL, NULL);

    ----------------------------------------------------------------------------------------------------

    ##### /lang/german/admin/configuration.php #####

    DIREKT NACH:
    define('STORE_OWNER_EMAIL_ADDRESS_DESC' , 'Die E-Mail Adresse des Shop-Betreibers');

    DAS HIER EINFÜGEN:
    // BOF - 2014-10-31 - Openings hours
    define('STORE_OPENING_HOURS_TITLE' , 'Öffnungszeiten');
    define('STORE_OPENING_HOURS_DESC' , 'Öffnungszeiten dieses Shops');
    // BOF - 2014-11-31 - Opening hours

    ##### /lang/english/admin/configuration.php #####

    DIREKT NACH:
    define('STORE_OWNER_EMAIL_ADDRESS_DESC' , 'The e-mail address of the store owner');

    DAS HIER EINFÜGEN:
    // BOF - 2014-10-31 - Openings hours
    define('STORE_OPENING_HOURS_TITLE' , 'Opening hours');
    define('STORE_OPENING_HOURS_DESC' , 'Opening hours of this store');
    // BOF - 2014-11-31 - Opening hours

    ----------------------------------------------------------------------------------------------------

    ##### /includes/modules/default.php #####

    SUCHE NACH:
    $default_smarty->assign('text', str_replace('{$greeting}', xtc_customer_greeting(), $shop_content_data['content_text']));

    UND DURCH DAS ERSETZEN:
    // BOF - 2014-10-31 - Openings hours
    $default_smarty->assign('text', str_replace(array('{$greeting}', '{$STORE_OPENING_HOURS}'), array(xtc_customer_greeting(), STORE_OPENING_HOURS), $shop_content_data['content_text']));
    // BOF - 2014-11-31 - Opening hours

    -----------------------------------------------------------------------------------------------------

    ##### /templates/xtc5/index.html #####

    {$smarty.const.STORE_OPENING_HOURS} dort einfügen, wo die Öffnungszeiten angezeigt werden sollen
    (z.B. in Header oder Footer)

    -----------------------------------------------------------------------------------------------------

    ##### Content-Manager (ID 5 - Index) #####

    Wenn die Öffnungszeiten auch im Index (ID 5) des Content-Managers angezeigt werden soll:
    {$STORE_OPENING_HOURS}
    an der Stelle einfügen, wo man diese anzeigen will.

    -----------------------------------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------------

    OPTIONAL:
    Wenn die Öffnungszeiten auch auf anderen Seiten des Content-Managers (z.B. Liefer- und Versandkosten) angezeigt werden soll:

    ##### /shop_content.php #####

    SUCHE NACH:
    $content_body = $shop_content_data['content_text'];

    UND DURCH DAS ERSETZEN:
    // BOF - 2014-10-31 - Openings hours
    $content_body = str_replace('{$STORE_OPENING_HOURS}', STORE_OPENING_HOURS, $shop_content_data['content_text']);
    // BOF - 2014-11-31 - Opening hours


    {$STORE_OPENING_HOURS}
    an der Stelle des Content-Managers einfügen, wo man diese anzeigen will.
    -----------------------------------------------------------------------------------------------------


     

    0 Antworten
    2260 Aufrufe
    09. Dezember 2012, 14:32:22 von Wild-Wolf
    4 Antworten
    2307 Aufrufe
    11. Mai 2009, 21:03:09 von mantis
    19 Antworten
    7814 Aufrufe
    01. Juli 2015, 11:37:57 von hendrik
    3 Antworten
    3224 Aufrufe
    17. November 2014, 23:41:30 von hendrik