it-swarm.com.de

Menüpunkt - Artikelliste - Nach Benutzer filtern

Ich bin sehr neu in Joomla (Version 3).

Ich habe zwei registrierte Benutzer.

Wenn ein registrierter Benutzer angemeldet ist, wird ein neues Menü mit einem Element zur Anzeige der Artikelliste angezeigt. Das funktioniert wie erwartet.

Ich möchte, dass nur die Artikel angezeigt werden, die von der aktuell angemeldeten Person geschrieben wurden. Sie können also nur ihre eigenen Artikel anzeigen oder bearbeiten.

Ich habe eine Reihe von Methoden gesehen - einschließlich einer zum Erstellen eines neuen Kategoriemoduls, aber diese funktionieren nicht wie erwartet und alle Benutzer können weiterhin Artikel von anderen Personen sehen.

Jede Anleitung wäre sehr dankbar. Ich habe keine Probleme beim Bearbeiten von Dateien. Ich habe nur keine Ahnung, welche Datei bearbeitet werden soll.

Danke vielmals

2
MaxVK

Nach dem Vorschlag von Nisse Engström (Vielen Dank) Ich poste meine Lösung hier:

Nachdem ich eine Weile nach einer Antwort auf diese Frage gesucht habe, habe ich eine funktionierende Lösung gefunden und poste sie hier in der Hoffnung, dass andere dies hilfreich finden.

Das Ziel bestand darin, angemeldeten Benutzern die Anzeige einer Artikelliste zu ermöglichen, die nur ihre eigenen Artikel und die des SuperUser enthielt. Sie sollten nur in der Lage sein, ihre eigenen Artikel zu bearbeiten.

Damit dies funktioniert, ist das Setup wie folgt:

Standardinstallation und Verwendung der Protostar-Vorlage.

Überschreibe die Datei: " com_content/category/default_articles.php "

Um die Linie 135 sehen Sie die folgende Linie:

foreach ($this->items as $i => $article)

Direkt unterhalb dieser Zeile habe ich den folgenden Code hinzugefügt (Beachten Sie, dass Benutzer 232 mein SuperUser ist - Ihr Benutzer hat möglicherweise eine andere ID):

if ($this->items[$i]->created_by == JFactory::getUser()->id || $this->items[$i]->created_by == JFactory::getUser(232)->id) :

Dies wird in Zeile 261 mit einem Standard 'endif' wieder geschlossen. Beachten Sie, dass dies direkt über dem schließenden 'endforeach' liegt, das um Zeile 135 begann.

Das Ergebnis

Ist genau das, was ich sehen wollte. Angemeldete Benutzer können jetzt nur ihre eigenen Artikel (und die des Superuser, obwohl sie diese nicht bearbeiten können) sehen und neue Artikel einreichen.

Mit einer kleinen Änderung der Berechtigungen kann jeder Benutzer jetzt nur seine eigenen Artikel erstellen, bearbeiten, veröffentlichen und in den Papierkorb werfen.

Ich habe keine Ahnung, ob dies der " richtige " Weg ist, um dieses Ergebnis zu erzielen, aber es funktioniert genau so, wie ich es wollte, und ich bin mehr als gerne zeigen erfahrene anwender alternative methoden auf.

Mögliche zukünftige Ausgabe

Dieser Code wird ausgelöst, wenn Joomla die Artikelliste lädt, und wird daher häufig ausgelöst, wenn immer mehr Benutzer immer mehr Artikel erstellen. Vielleicht führt dies zu einer Verlangsamung?

Sowieso.....

1
MaxVK

Ich habe diese Antwort gerade auf eine andere Frage gepostet - die nicht genau gleich ist, aber die Anforderungen sehr ähnlich sind und in den gleichen Kontext fallen, nämlich "Front-End-Authoring".

Diese Frage lautet: Joomla! 3.8 - So verbergen Sie die Registerkarte "Veröffentlichung" im Frontend

In Ihrem Fall können Sie diese Informationen auch nützlich finden und Ihre Optionen und Möglichkeiten kennenlernen:

Ich füge meine andere Antwort hier leicht modifiziert ein:

Abgesehen von Anpassungen - Sie können auch Erweiterungen von Drittanbietern verwenden.

Es gibt 2 Haupttypen/Kategorien von Erweiterungen, die hierfür geeignet wären:

  1. Frontend-Artikelverwaltung
  2. CCK-Integration

1. Frontend-Artikelverwaltung

Front-End-Artikelverwaltungserweiterungen bieten Joomla Front-End-Authoring-/Moderationsfunktionen.

JED-Kategorien:

Einige Erweiterungen:

2. CCKs Integration

Kurz gesagt, mit einem CCK können Sie Ihr eigenes Content-Kit/Ihren eigenen Content-Workflow erstellen. Es gibt CCKs, die in Joomla-Artikel integriert werden können und mit denen Sie Ihre eigenen Formulare und Listen erstellen können. Mit Fabrik können Sie beispielsweise Menüelemente für Artikellisten erstellen, um nur Artikel des aktuellen Benutzers anzuzeigen. Mit solchen Erweiterungen sind auch Konfigurationen mit tiefen Berechtigungen möglich, die viele Möglichkeiten eröffnen.

1
FFrewin