Ich möchte in einer Klasse zwei Datums definieren und verwende den Typ Datum. Er speichert jeweils einen Timestmp ab und das ist auch gut so, denn so kann ich in der späteren lisview gut sortieren.
Jetzt möchte ich aber das zweite Datum optional halten, d.h. es gibt Objekte, die kein zweites Datum brauchen. Wie kann ich nun festlegen, dass dieses zweite Datum optional ist, ohne dass ich jetzt mit einem Textfeld arbeiten muss?
Hat jemand schon mal so einen Fall gehabt?
Leeres Datum nicht möglich
Moin Moin,
geht es nicht, das die Ausgabe des Datum per if Steuerst, also ein Bedingung hinterlegst, wenn der das zweite Datum nutzen soll oder nicht?
Bei der Anlage des Objekt wird das Datumsfeld dann einfach mit den Standardwert belassen.
Vielleicht scheibst du mal, wie das Ergebnis aussehen soll.
geht es nicht, das die Ausgabe des Datum per if Steuerst, also ein Bedingung hinterlegst, wenn der das zweite Datum nutzen soll oder nicht?
Bei der Anlage des Objekt wird das Datumsfeld dann einfach mit den Standardwert belassen.
Vielleicht scheibst du mal, wie das Ergebnis aussehen soll.
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Hi Mobby,
danke für die schnelle Reaktion. Lass mich das mal genauer erklären. Das Objekt ist eine Fernsehsendung, die zwei Sendetermine haben kann, aber meistens gibt halt doch nur einen Termin. Der zweite Date-Selector steht standardmäßig auf dem aktellen Datum, wenn ich eine neue Sendung anlege, d.h. er speichert immer einen Timestamp, egal ob ich das will oder nicht.
Problem verstanden? Das zweite Datum ist immer optional, aber wir soll ich das zweite Datum wahlweise ignorieren können, wenn immer eine Datum gespeichert wird.
danke für die schnelle Reaktion. Lass mich das mal genauer erklären. Das Objekt ist eine Fernsehsendung, die zwei Sendetermine haben kann, aber meistens gibt halt doch nur einen Termin. Der zweite Date-Selector steht standardmäßig auf dem aktellen Datum, wenn ich eine neue Sendung anlege, d.h. er speichert immer einen Timestamp, egal ob ich das will oder nicht.
Problem verstanden? Das zweite Datum ist immer optional, aber wir soll ich das zweite Datum wahlweise ignorieren können, wenn immer eine Datum gespeichert wird.
Aja, ich versuche zu Verstehen:
Datum 1: 1. Sendetermin
Datum 2: wenn es einen gibt, 2. Sendetermin
Datum 1 muss immer angeben werden. Wenn es nun einen zweiten Termin gibt, wird das Datum 2 gesetzt. In der Ausgabe machst du nun eine if nach dem Motto "Wenn Datum 2 größer ist als Datum 1 dann zeige Datum 2 an". Wenn das Datum 2 kleiner ist als das erste, gibt es keinen zweiten Sendetermin.
Ich hoffe, du verstehst, was ich meine.
Ich hab nun ne weile schon nicht mit den Tags gearbeitet, aber damit müsste es klappen.
Datum 1: 1. Sendetermin
Datum 2: wenn es einen gibt, 2. Sendetermin
Datum 1 muss immer angeben werden. Wenn es nun einen zweiten Termin gibt, wird das Datum 2 gesetzt. In der Ausgabe machst du nun eine if nach dem Motto "Wenn Datum 2 größer ist als Datum 1 dann zeige Datum 2 an". Wenn das Datum 2 kleiner ist als das erste, gibt es keinen zweiten Sendetermin.
Ich hoffe, du verstehst, was ich meine.
Ich hab nun ne weile schon nicht mit den Tags gearbeitet, aber damit müsste es klappen.
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Hi,
stelle gerade fest, dass ins englische Forum poste ... dann steht hier wenigstens mal mehr drin
Auf die Idee mit dem Vergleich bin ich auch schon gekommen. D.h. ich könnte dem Redakteur auch sagen, er soll das Jahr des 2. Datums auf vor 2000 stellen, wenn es keinen zweiten Sendetermin gibt.
Danke für deine Hilfe. Bist du eigentlich webEdition Partner?
stelle gerade fest, dass ins englische Forum poste ... dann steht hier wenigstens mal mehr drin
Auf die Idee mit dem Vergleich bin ich auch schon gekommen. D.h. ich könnte dem Redakteur auch sagen, er soll das Jahr des 2. Datums auf vor 2000 stellen, wenn es keinen zweiten Sendetermin gibt.
Danke für deine Hilfe. Bist du eigentlich webEdition Partner?
Ehmaligerwindmeier;48753 hat geschrieben:Bist du eigentlich webEdition Partner?
Geht es den um Sendungen die in der Vergangenheit liegen oder in der Zukunft. Ansicht müsste aber der Bezug zu Datum 1 reichen, da der zweite ja immer später ist.Auf die Idee mit dem Vergleich bin ich auch schon gekommen. D.h. ich könnte dem Redakteur auch sagen, er soll das Jahr des 2. Datums auf vor 2000 stellen, wenn es keinen zweiten Sendetermin gibt.
Wenn du mir 2 Stunden Zeit gibst (meine Regierung ruft zum Einkaufen) dann mache ich da mal was...
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Hier mal etwas aus einem Termin-Template mit Start- und optionalem End-Zeitpunkt:
Da die Felder ja intern als Timestamp gespeichert werden müsste hier ein Vergleich mit < funktionieren.
AlsoUngetestet.
Code: Alles auswählen
<we:var type="date" name="DatumVOM" format="d.m.Y"/><?php if($we_doc->getElement("DatumVOM") != $we_doc->getElement("DatumBIS")): ?> bis
<we:var type="date" name="DatumBIS" format="d.m.Y"/><?php endif; ?>
Also
Code: Alles auswählen
<we:var type="date" name="DatumVOM" format="d.m.Y"/><?php if($we_doc->getElement("DatumVOM") < $we_doc->getElement("DatumBIS")): ?> bis
<we:var type="date" name="DatumBIS" format="d.m.Y"/><?php endif; ?>
So, ich bin jetzt unter folgenden Bedingungen herangegangen:
Es soll ein Objekt angelegt werden, in den eine Sendung vermerkt ist. Es gibt ein Datumsfeld, in dem der Sendetermin festgelegt wird. Dann gibt es ein zweites Datumfeld, in dem ein zweiter Sendetermin angelegt wird.
Die Bedingung ist jetzt so, das wenn das Datum2 kleiner ist als das Datum1 wird das Datum2 (Sendetermin 2) nicht angezeigt. Wenn es also keinen zweiten Sendetermin gibt, beachtet man das Datumfeld auch nicht. Die Vorlage für die Listview:
Es soll ein Objekt angelegt werden, in den eine Sendung vermerkt ist. Es gibt ein Datumsfeld, in dem der Sendetermin festgelegt wird. Dann gibt es ein zweites Datumfeld, in dem ein zweiter Sendetermin angelegt wird.
Die Bedingung ist jetzt so, das wenn das Datum2 kleiner ist als das Datum1 wird das Datum2 (Sendetermin 2) nicht angezeigt. Wenn es also keinen zweiten Sendetermin gibt, beachtet man das Datumfeld auch nicht. Die Vorlage für die Listview:
- Code: Alles auswählen
<we:listview type="object" name="SendungListe" order="Datum1" desc="true" classid="6">
<we:repeat>
<p>
<we:field name="NameSendung" type="text" />
Sendetermin: <we:field name="Datum1" type="date" format="d.m.Y"/>
</p>
<?php
$date1 = $GLOBALS['lv']->f('Datum1');
$date2 = $GLOBALS['lv']->f('Datum2');
if ($date2 > $date1 )
{
?>
<p>
2. Sendetermin: <we:field name="Datum2" type="date" format="d.m.Y"/>
</p>
<?php
}
?>
</we:repeat>
</we:listview>
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
-
- Senior Member
- Beiträge: 3735
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Karlsruhe
- Kontaktdaten:
-
- Senior Member
- Beiträge: 3735
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Karlsruhe
- Kontaktdaten:
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste