Objekt Listview

Fragen zum Erstellen von Templates für webEdition.
Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Objekt Listview

Beitragvon kay » Mo 11. Jul 2022, 12:33

Moin,

hab mal wieder ein Brett vor dem Kopf.

Ich versuche gerade ein Objekt listView mit einer contition zu Filtern.

Ich habe ein Objekt "Termine" in den das Objekt "Dozent" eingefügt ist.

Jetzt möchte ich auf der Dozentenseite nur die Termine des jeweiligen Dozenten anzeigen lassen.

Code: Alles auswählen

<we:condition name="condition">
	<we:conditionAdd field="Name" compare="=" var="Name" />
</we:condition>

<we:listview type="object" desc="false" numorder="true" classid="4" condition="\$condition">
			<we:repeat>…
Hat jemand eine Idee wo der Fehler liegt?

Viele Grüße
Kay
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Mo 11. Jul 2022, 12:35

Ach, ohne condition werden, wie erwartet, alle Termine angezeigt.
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Objekt Listview

Beitragvon WBTMagnum » Mo 11. Jul 2022, 13:57

Hallo kay,

Ein paar Fragen bzw. Gedankenanstöße:
  • "Name" ist eine globale Variable? Ändert es etwas, wenn du den type explizit angibst?
  • Die Klassenstruktur ist mir nicht klar. Wie ist Class "4" aufgebaut?
  • Welche Werte stehen in Name?
  • Finden sich im Errorlog Meldungen?

Liebe Grüße,
Sascha

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Mo 11. Jul 2022, 14:41

WBTMagnum hat geschrieben: Mo 11. Jul 2022, 13:57 [*] "Name" ist eine globale Variable? Ändert es etwas, wenn du den type explizit angibst?
Ja - Hab ich in NachName geändert - kein Effekt
WBTMagnum hat geschrieben: Mo 11. Jul 2022, 13:57 [*] Die Klassenstruktur ist mir nicht klar. Wie ist Class "4" aufgebaut?
Die Klasse Termin (4)

Hat die Felder
Kursnummer, Datum etc. und verknüpfte Klassen Ort und Dozent
WBTMagnum hat geschrieben: Mo 11. Jul 2022, 13:57 [*] Welche Werte stehen in Name?
z.B. Neumann
WBTMagnum hat geschrieben: Mo 11. Jul 2022, 13:57 [*] Finden sich im Errorlog Meldungen?
Nix
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Objekt Listview

Beitragvon WBTMagnum » Mo 11. Jul 2022, 16:09

Hallo Kay,

Wenn der Dozent über eine verknüpfte Klasse eingebunden ist, dann würde vermuten, dass die Verknüpfung über die ID erfolgt. Dementsprechend wird auch der Namensvergleich nicht funktionieren.

Du kannst dir das ja mal in der Datenbankstruktur anschauen. Dann siehst du, welche Spalten da hinterlegt sind.

Du kannst auch einfach mal probieren, ob ein Vergleich mit der ID eines Dozenten funktioniert.


HTH,
Sascha

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Mo 11. Jul 2022, 17:35

WBTMagnum hat geschrieben: Mo 11. Jul 2022, 16:09 Hallo Kay,

Wenn der Dozent über eine verknüpfte Klasse eingebunden ist, dann würde vermuten, dass die Verknüpfung über die ID erfolgt. Dementsprechend wird auch der Namensvergleich nicht funktionieren.

Du kannst dir das ja mal in der Datenbankstruktur anschauen. Dann siehst du, welche Spalten da hinterlegt sind.

Du kannst auch einfach mal probieren, ob ein Vergleich mit der ID eines Dozenten funktioniert.


HTH,
Sascha
Aber mit welchem Feld soll ich die ID vergleichen?

Das sind die Variablen:

[ID] => 222
[elements] => Array
(
[Vorname] => Array
(
[type] => input
[access] => access_s
[dat] => Marita
[len] => 1023
)

[NachName] => Array
(
[type] => input
[access] => access_s
[dat] => Neumann
[len] => 1023
)
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Objekt Listview

Beitragvon mokraemer » Di 12. Jul 2022, 09:58

aber dein Feld heißt doch NachName und nicht Name....
webEdition-Kern-Entwickler

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Di 12. Jul 2022, 11:33

mokraemer hat geschrieben: Di 12. Jul 2022, 09:58 aber dein Feld heißt doch NachName und nicht Name....
Habe ich nach dem Tip von WBTMagnum zum Testenngeändert. Hilft aber nicht 😕
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Objekt Listview

Beitragvon WBTMagnum » Di 12. Jul 2022, 11:53

Hallo Kay,

Die ID 222 ist vom Dozent, oder? Dann musst du meiner Ansicht nach die ID für das Matching im Termin verwenden. Aber lass dir auch mal die Struktur von einem Termin ausgeben, wo du weißt, dass diese Dozentin zugeordnet ist.

Liebe Grüße,
Sascha

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Mi 13. Jul 2022, 12:54

WBTMagnum hat geschrieben: Di 12. Jul 2022, 11:53 Hallo Kay,

Die ID 222 ist vom Dozent, oder? Dann musst du meiner Ansicht nach die ID für das Matching im Termin verwenden. Aber lass dir auch mal die Struktur von einem Termin ausgeben, wo du weißt, dass diese Dozentin zugeordnet ist.

Liebe Grüße,
Sascha
Wie soll der Code denn aussehen? Wie kommen ich mit Boardmittelen an die ID der eingebetteten Klasse(0) "Dozenten" oder muss mann das mit PHP-Code machen?


Und warum geht das nicht einfach über z.B. das Feld "NachName"

Code: Alles auswählen


<we:condition name="condition">
	<we:conditionAdd field="NachName" compare="=" var="NachName" />
</we:condition>

<we:listview type="object" desc="false" numorder="true" classid="4" condition="\$condition">
			<we:repeat>…
			
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Mi 13. Jul 2022, 13:19

Oder Nutz man für sowas das Multiobjekt?
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Objekt Listview

Beitragvon WBTMagnum » Do 14. Jul 2022, 11:16

Hallo Kay,

Multiobject brauchst du in deinem Setting dann, wenn ein Termin durch mehrere Dozenten abgehalten wird.

Ich bin den Code jetzt nochmal durchgegangen und habe das in einem unserer Systeme nachgebaut. So sollte es klappen:

Code: Alles auswählen

<we:setVar to="global" nameto="dozent_OF_ID" value="222" comment="nur mal zu Testen der Listview" />

<we:condition name="condition">
  <we:conditionAdd field="object_<DozentClassID>" compare="=" type="global" var="dozent_OF_ID" />
</we:condition>
<we:listview type="object" desc="false" numorder="true" classid="4" condition="\$condition">
      <we:repeat>…
Anmerkungen:
  • <DozentClassID> musst du mit der Class-ID der Dozenten ersetzen (z.B. "5").
  • Um an die Dozenten ID zu kommen, kannst du davor noch eine weitere Listview über die Dozenten machen und mit einer Condition nach dem Feld NachName filtern. Die ID erhältst du dann über <we:field name="OF_ID" to="global" nameto="dozent_OF_ID"/>. Das ganze funktioniert natürlich nur solange das Feld NachName unique ist (wovon ich jetzt mal nicht ausgehen würde). Dh., da braucht es eine andere Herangehensweise um an das Dozenten-Objekt zu gelangen.
Ich hoffe das bringt etwas Licht ins Dunkel und hilft dir weiter.


Liebe Grüße,
Sascha

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Do 14. Jul 2022, 16:21

WBTMagnum hat geschrieben: Do 14. Jul 2022, 11:16 Hallo Kay,

Multiobject brauchst du in deinem Setting dann, wenn ein Termin durch mehrere Dozenten abgehalten wird.

Ich bin den Code jetzt nochmal durchgegangen und habe das in einem unserer Systeme nachgebaut. So sollte es klappen:

Code: Alles auswählen

<we:setVar to="global" nameto="dozent_OF_ID" value="222" comment="nur mal zu Testen der Listview" />

<we:condition name="condition">
  <we:conditionAdd field="object_<DozentClassID>" compare="=" type="global" var="dozent_OF_ID" />
</we:condition>
<we:listview type="object" desc="false" numorder="true" classid="4" condition="\$condition">
      <we:repeat>…
Anmerkungen:
  • <DozentClassID> musst du mit der Class-ID der Dozenten ersetzen (z.B. "5").
  • Um an die Dozenten ID zu kommen, kannst du davor noch eine weitere Listview über die Dozenten machen und mit einer Condition nach dem Feld NachName filtern. Die ID erhältst du dann über <we:field name="OF_ID" to="global" nameto="dozent_OF_ID"/>. Das ganze funktioniert natürlich nur solange das Feld NachName unique ist (wovon ich jetzt mal nicht ausgehen würde). Dh., da braucht es eine andere Herangehensweise um an das Dozenten-Objekt zu gelangen.
Ich hoffe das bringt etwas Licht ins Dunkel und hilft dir weiter.


Liebe Grüße,
Sascha
Hi Sascha,

vielen Dank für deine Bemühungen - es Funktionier bei mir leider trotzdem nicht.

Ich habe mal den Code der gesamte Dozentenseite angefügt
Ich hätte nicht gedacht das das so Kompliziert ist :-/

Mit diesem PHP Code zeigt er mir die ID von der Dozentin "222" an. Wie macht man das denn mit Boardmitteln?

Code: Alles auswählen

<?php echo $GLOBALS['we_doc']->ID; ?>
Mir ist aber immer noch nicht klar welches Feld ich mit der ID vergleichen soll?

Code: Alles auswählen

<!-- Dozenten -->
<div class="grid-container">
	<div class="grid-x grid-padding-x">
		<div class="cell medium-10 medium-offset-1">
			<h1 class="headlineGrau">
				<b><we:var type="text" name="Vorname" /></b> <we:var type="text" name="NachName" />
			</h1>
			<div class="grid-x grid-padding-x">
				<div class="cell medium-4">
					<img src="<we:var type="img" name="Foto" />" alt="" >
				</div>
				<div class="cell medium-4">
					<we:var type="text" name="Beschreibung" />
				</div>
				<div class="cell medium-4 ibsListe">
					<we:var type="text" name="Qualifikation" /><br>
			</div>
		</div>
	</div>
</div>

<!-- SeminarListe -->

<?php echo $GLOBALS['we_doc']->ID; ?>

<we:condition name="condition">
  <we:conditionAdd field="ID" compare="=" type="global" var="ID" />
</we:condition>

<!-- Termin Liste -->
<div class="grid-container">
	<div class="grid-x grid-padding-x">
<we:listview type="object" desc="false" numorder="true" classid="4" condition="\$condition">
			<we:repeat>
				<div class="cell medium-1">
					<we:field name="Kategorie"/>
				</div>
				<div class="cell medium-1">
					<we:field type="img" name="Foto" />
				</div>
				<div class="cell medium-9">
					<h3 class="headlineGruen">
						<we:field name="Titel" hyperlink="true"/>
					</h3>
					<we:field name="NachName"/> - ID: <we:field type="text" name="we_id" /> <---------Hier gibt er eine 8 aus
				</div>
				<div class="cell medium-1">
					<we:field name="Kosten"/>
				</div>
			</we:repeat>
		</we:listview>
	</div>
</div>

Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Do 14. Jul 2022, 17:01

kay hat geschrieben: Do 14. Jul 2022, 16:21
WBTMagnum hat geschrieben: Do 14. Jul 2022, 11:16

Code: Alles auswählen

<we:setVar to="global" nameto="dozent_OF_ID" value="222" comment="nur mal zu Testen der Listview" />

Ich habe Noch mal in der Datenbank das Dozenten Object angesehen und da seht keine 222 sonder nur eine 2 und wenn ich die bei value Eintrage dann geht es :-)

Nur wie die komme ich an die OF-ID aus object_1?
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz

Benutzeravatar
kay
Senior Member
Beiträge: 356
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Bremen
Kontaktdaten:

Re: Objekt Listview

Beitragvon kay » Do 14. Jul 2022, 17:42

Damit geht es:

Code: Alles auswählen

	<!-- SeminarListe -->
	<?php $DozId=$GLOBALS['we_doc']->OF_ID; ?>
	<we:setVar to="global" nameto="dozent_OF_ID" value="$DozId" />
	<we:condition name="condition">
		<we:conditionAdd field="object_1" compare="=" type="global" var="dozent_OF_ID" />
	</we:condition>

	<!-- Termin Liste -->
	<div class="grid-container">
		<div class="grid-x grid-padding-x">
			<we:listview type="object" desc="false" numorder="true" classid="4" condition="\$condition">
				<we:repeat>
				
Gibt es keine Möglichkeit das mit Boardmitteln zu erreichen?
Liebe Grüße
Kay-Rafael Stemmer
http://leitbild.biz


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 11 Gäste