Guten Morgen, Guten Tag, Guten Abend auf der Startseite

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Guten Morgen, Guten Tag, Guten Abend auf der Startseite

Beitrag von wolfschw »

Hallo

Auf der Startseite wird der Kunde mit Guten Morgen, Guten Tag oder Guten Abend begrüßt.

In welcher Datei wird dieses berechnet und ausgegeben ?

Wollte diese begrüßung noch auf eine andere Seite einfügen, bekomme aber dies nicht hin.

gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

die Funktion
oos_customer_greeting
aus

~/shop/includes/pages/main.php
nach
~/shop/includes/functions/function_kernel.php

verschieben.

im Script

Code: Alles auswählen

if (isset($_SESSION['customer_id])) {
    $oSmarty->assign('customer_greeting', oos_customer_greeting());
}
dann in der Regel verwenden...

Hoffe die Antwort hilft weiter

ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Hallo

Ja so habe ich es auch schon raus gefunden.

Ich meinte aber das OOS_HEADING Guten Morgen oder auch Guten Tag

gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

hallo,

oh sorry...

Guten Tag, Guten Morgen ... kommt aus

~/function_default.php

Code: Alles auswählen

oos_time_based_greeting()
einfach die Funktion in die function_kernel verschieben

Code: Alles auswählen


 /**
  * Return  time-based greeting
  * Good morning, Good afternoon, Good evening
  *
  * @return string
  */
  function oos_time_based_greeting() {
    global $aLang;

    if(date('G') >= 12 && date('G') <= 18) {
      $time_based_greeting = $aLang['good_afternoon];
    } elseif (date('a') == 'am') {
      $time_based_greeting = $aLang['good_morning];
    } else {
      $time_based_greeting = $aLang['good_evening];
    }
    return $time_based_greeting;
 }
d.h. in function_kernel.php die Funktion einfügen und in function_default.php löschen.

im Script

Code: Alles auswählen

    $oSmarty->assign('die_template_varibale', oos_time_based_greeting());
Beste Grüße

ralf
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitrag von wolfschw »

Ok

So weit funktioniert es.

und wie mache ich dann die ausgabe in einer HTML-Datei ?

gruß

Wolfgang
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

wichtig ist, dass die Varibale nach

Code: Alles auswählen

  require 'includes/oos_system.php';
an Smarty übergeben wird.

Code: Alles auswählen

  require 'includes/oos_system.php';
  if (!isset($option)) {
    require 'includes/info_message.php';
    require 'includes/oos_blocks.php';
    require 'includes/oos_counter.php';
  }
dies kann in den Blocks passieren oder in den Scripten von
~/includes/pages/*.*

mit

Code: Alles auswählen

$oSmarty->assign('time_based_greeting', oos_time_based_greeting());
im Template kann man dann an jeder Stelle mit

{$time_based_greeting} den Text ausgeben.

evtl. muss man den cache von den templates löschen?


ich verwende hierfür in ~/shop/includes/oos_system.php

Code: Alles auswählen

$oSmarty->force_compile   = true;
$oSmarty->debugging       = true;
$oSmarty->clear_all_cache();
allerdings muss man diese Zeilen nach der erfolgreichen Änderung unbedingt im Shop löschen!

hth

ralf
Antworten