Eingeloggten Redakteur ermitteln Beitrag ist gelöst

Fragen zum Erstellen von Templates für webEdition.
Revilo
Junior Member
Beiträge: 10
Registriert: Do 3. Jan 2019, 12:07

Eingeloggten Redakteur ermitteln

Beitragvon Revilo » Fr 4. Jan 2019, 11:14

Guten Tag we-Experten,
ich würde gerne den eingeloggten webEdition-Benutzer mit dem Hauptbesitzer eines Dokuments abgleichen, damit ich ihm per listview alle Dokumente anzeigen lassen kann, die von ihm erstellt wurden. Den Hauptbesitzer eines Dokuments (ID) würde ich so ermitteln:

Code: Alles auswählen

<?php echo $GLOBALS['we_doc']->CreatorID ?>
bzw. so (username), was bisher mit type="username" leider nicht funktioniert hat (type="name" usw. hingegen schon):

Code: Alles auswählen

<we:listview type="document" name="myDocs" order="we_moddate" desc="true">
	<table>
		<tr>
			<th>Dokument</th>
			<th>Zuletzt bearbeitet</th> 
		</tr>
		<we:repeat>
			<we:author creator="true" doc="listview" type="username" />
			<tr>
				<td><we:field type="text" name="we_title" alt="we_path" hyperlink="true"/></td>
				<td><we:field type="date" name="we_moddate" format="d. F Y" /></td>
			</tr>
		</we:repeat>
	</table>
</we:listview>
Nun meine Frage:
Gibt es eine Möglichkeit mithilfe von we:tags den eingeloggten webEdition-Benutzer zu ermitteln (ID oder username)? Wenn nicht, gibt es eine alternative Lösung?

Mit freundlichen Grüßen
Oliver

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

Re: Eingeloggten Redakteur ermitteln  Beitrag ist gelöst

Beitragvon mokraemer » Fr 4. Jan 2019, 11:48

Also grundsätzlich lassen sich die Daten des Erstellers mittels <we:author> ausgeben. In der Liste fehlt allerdings tatsächlich die ID - gibt nur den Username (und da war ein Typo drin - ist in der nightly 8.0.5.1 ab 9811 korrigiert). Hatte wohl noch keiner das Problem.
Auch hat sich bisher noch keiner wirklich für die ID des eingeloggten Users interessiert, denn auch dafür haben wir keine Tag-Ausgabe. Du kommst mittels

Code: Alles auswählen

$_SESSION['user']['ID']
an den eingeloggten User.
webEdition-Kern-Entwickler

Revilo
Junior Member
Beiträge: 10
Registriert: Do 3. Jan 2019, 12:07

Re: Eingeloggten Redakteur ermitteln

Beitragvon Revilo » Fr 4. Jan 2019, 12:24

Guten Tag mokraemer,
danke für die schnelle Antwort! Das hilft mir weiter!

Mit freundlichen Grüßen
Oliver

Revilo
Junior Member
Beiträge: 10
Registriert: Do 3. Jan 2019, 12:07

Re: Eingeloggten Redakteur ermitteln

Beitragvon Revilo » Fr 4. Jan 2019, 14:58

Nun stehe ich wieder vor einem Problem.
Und zwar möchte ich ja gerne den eingeloggten webEdition-Benutzer mit dem Hauptbesitzer eines Dokuments abgleichen, damit ich ihm per listview alle Dokumente anzeigen lassen kann, die von ihm erstellt wurden.
Allerdings gibt mir der Code:

Code: Alles auswählen

<?php $loggedInUserID = $_SESSION['user']['ID'] ?>
<we:setVar to="global" nameto="loggedInUserID" value="$loggedInUserID" />

<we:listview type="document" name="myDocs" order="we_moddate" desc="true">
	<table>
		<tr>
			<th>Dokument</th>
			<th>Zuletzt bearbeitet</th> 
		</tr>
		<we:repeat>
			<?php $creatorID = $GLOBALS['we_doc']->CreatorID ?>
			<we:setVar to="global" nameto="creatorID" value="$creatorID" />
			<?php echo $creatorID ?>
			<we:comment><we:ifVar match="creatorID" name="loggedInUserID" type="global"></we:comment>
				<tr>
					<td><we:field type="text" name="we_title" alt="we_path" hyperlink="true"/></td>
					<td><we:field type="date" name="we_moddate" format="d. F Y" /></td>
				</tr>
			<we:comment></we:ifVar></we:comment>
		</we:repeat>
	</table>
</we:listview>
nicht für jedes listview-Dokument die ID des Hauptbesitzers aus, sondern lediglich pro listview-Dokument immer wieder die ID des Hauptbesitzers des Dokuments, in welchem sich die listview befindet.

Ich freue mich auf eine Antwort!

Mit freundlichen Grüßen
Oliver

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

Re: Eingeloggten Redakteur ermitteln

Beitragvon mokraemer » Sa 5. Jan 2019, 13:06

also wenn du nur die Doks des Benutzers anzeigen willst, solltest du der listview das als Condition mitgeben, sonst dauert die Abfrage ja ewig.
webEdition-Kern-Entwickler

Revilo
Junior Member
Beiträge: 10
Registriert: Do 3. Jan 2019, 12:07

Re: Eingeloggten Redakteur ermitteln

Beitragvon Revilo » Mo 7. Jan 2019, 10:48

Mit dem we-Condition Tag geht das aber nicht oder sehe ich das falsch?
Wie sähe denn eine php Condition aus, wenn ich die Eigenschaft CreatorID jedes Dokuments mit meiner $loggedInUserID vergleichen möchte?

EDIT:
Denkfehler.. mit

Code: Alles auswählen

<we:condition name="docFilter">
	<we:conditionAdd field="we_creatorid" type="global" var="loggedInUserID" />
</we:condition>
funktioniert alles. Danke nochmal mokraemer!

Mit freundlichen Grüßen
Oliver


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

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 6 Gäste