Autor Thema: "NEU" zeitgesteuert ein/ausblenden  (Gelesen 6272 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
"NEU" zeitgesteuert ein/ausblenden
« am: Februar 26, 2008, 10:54:42 »
Hallo,

mal wieder ein kleiner Codeschnipsel aus meiner Bastelstube  :)

Aufgabe: Bei neuen Artikeln soll ein "neu"-Icon für einen vorgegebenen Zeitraum eingeblendet werden.

Lösung:
Ein ben.def. Artikelfeld (Text, Zahlen) "NEU" anlegen.
Wenn jetzt ein neuer Artikel angelegt wird, in diesem Feld das Datum bis zu dem das "neu" eingeblendet werden soll in Form von
JJJJMMTT (ohne Komma oder Leerzeichen) eintragen.

<!--spmacro:module(show)
sub neu {
(my $sec,my $min,my $hour,my $mday,my $mon,my $year) = localtime(time);
$mon += 1; $year += 1900; # Y2K
my $heute = sprintf("%04d%02d%02d",$year,$mon,$mday);
my $index = shift;
my $neu = ssp::get_var_article("NEU", $index);
if ($neu ne $ssp::undefined) {
if ((length($neu))  && ($heute <= $neu)) {
my $out = qq|<img src="../neu.gif">|;  ##Pfad wo das "neu"-Icon liegt
main::mprint $out;
}
}
}
-->

An die Stelle, an der das Icon im vorgegebenen Zeitraum eingeblendet werden soll __show::neu__ schreiben

Man braucht nicht mehr daran denken, das Icon wieder zu entfernen, damit der Artikel nicht nach 2 Jahren immer noch "NEU" ist  ;)
Das Icon wird nach dem eingegebenen Datum nicht mehr angezeigt!

P.S.: das funktioniert natürlich auch z.B. mit "AKTION"

Linkback: https://www.shoppilot.net/pf/index.php?topic=1040.0
« Letzte Änderung: April 06, 2008, 21:25:46 von dobra »
mfG
dobra

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: "NEU" zeitgesteuert ein/ausblenden
« Antwort #1 am: März 02, 2008, 20:14:09 »
Hier noch eine andere Version.....

Voraussetzung: man legt alle neuen Artikel als Verknüpfung auf eine (beliebige) Seite
(das kann z.B. eine Verzeichnisseite sein, wenn man sie hier auflisten will oder - wenn es nicht irgendwo sichtbar sein soll - auch auf einer beliebigen Infoseite)

<!--spmacro:module(show)
sub neu {
my $index = $_[0];
my $anzahl = $_[1];
   if ($index <= $anzahl) {
for ($i=0;$i<=$anzahl;$i++) {
   my $artikel = ssp::get_var_article("itemid", $index);

my $read = ssp::readSQLData("SELECT ITEMID FROM HOP_ITEM WHERE PGID='10' && ITEMID='$artikel'","ITEMID"); 
for (my $i = 0; $i < $read; $i++) {
   my $artikelneu = ssp::get_var_db("ITEMID", $i);
if (length($artikelneu)) {main::mprint "<img border=0 src=\"../neu.gif\">";
return "noinc"; }
}
}
}
}
-->

("SELECT ITEMID FROM HOP_ITEM WHERE PGID='10' && ITEMID='$artikel'","ITEMID");  ## Präfix und Seitennr. anpassen

Wenn also der Artikel auch als Verknüpfung auf dieser Seite liegt, wird das "NEU" Icon angezeigt.
Wird die Verknüpfung gelöscht -> kein "NEU" Icon beim Artikel

Offline parimo

  • Full Member
  • ***
  • Beiträge: 104
  • Lob: 0
Re: "NEU" zeitgesteuert ein/ausblenden
« Antwort #2 am: April 06, 2008, 20:17:00 »
Hallo dobra,

ich habe das mal ausprobiert (mit der ersten Version).
Das Einblenden funzt prima, allerdings blendet er auch das "neu.gif" ein, wenn ich das Datum von gestern eingebe, das dürfte dann doch eigentlich nicht sein, oder?

LG - parimo

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: "NEU" zeitgesteuert ein/ausblenden
« Antwort #3 am: April 06, 2008, 21:15:56 »
oups  :-[

da hat sich ein kleiner Tippfehler eingeschlichen:
es muß heißen
my $heute = sprintf("%04d%02d%02d",$year,$mon,$mday);
und bei der Gelegenheit noch etwas:
$heute < $neu  -> heute kleiner als eingegebenes Datum
besser $heute <= $neu  -> heute kleiner oder gleich eingegebenes Datum (dann wird das "neu" bis inclusive dem eingegebenen Datum angezeigt)


xx
"Bild" statt "Titel" in __tab__ anzeigen?

Begonnen von dobra

4 Antworten
7387 Aufrufe
Letzter Beitrag Februar 21, 2008, 15:24:34
von dobra
question
"(" und ")" nicht anzeigen

Begonnen von dobra

2 Antworten
8322 Aufrufe
Letzter Beitrag Mai 09, 2007, 10:45:31
von dobra
xx
Ich möchte auf der "Danke" Seite den Warenkorb nochmal anzeigen.

Begonnen von admin

0 Antworten
6574 Aufrufe
Letzter Beitrag Mai 24, 2006, 11:12:02
von admin
xx
"bestellen" erst einblenden, wenn Zahlart gewählt

Begonnen von dobra

0 Antworten
7699 Aufrufe
Letzter Beitrag September 09, 2007, 10:23:29
von dobra