web-dev-qa-db-fra.com

Élément de menu - Liste des articles - Filtrer par utilisateur

Je suis très nouveau sur Joomla (version 3).

J'ai deux utilisateurs enregistrés.

Lorsqu'un utilisateur enregistré est connecté, il peut voir un nouveau menu contenant un élément pour afficher la liste des articles. Cela fonctionne comme prévu.

Ce que je veux, c’est de n’afficher que les articles rédigés par les utilisateurs actuellement connectés. Ainsi, ils ne pourront voir que leurs propres articles à afficher ou à éditer, etc.

J'ai déjà vu un certain nombre de méthodes, dont l'une concerne la création d'un nouveau module de catégorie, mais elles ne fonctionnent pas comme prévu et tous les utilisateurs peuvent toujours consulter les articles d'autres personnes.

Toute orientation serait grandement appréciée. Je n'ai aucun problème à éditer des fichiers, je n'ai juste aucune idée du fichier à éditer.

Merci beaucoup

2
MaxVK

Selon la suggestion de Nisse Engström (merci beaucoup), je vais poster ma solution ici:

Après avoir cherché une réponse à cette question pendant un bon bout de temps, j'ai trouvé une solution qui fonctionne et je la poste ici dans l'espoir que d'autres personnes puissent trouver cela utile.

L'objectif était de permettre aux utilisateurs connectés de voir une liste d'articles qui ne comprenait que leurs propres articles et ceux du SuperUser - ils ne devraient pouvoir éditer que leurs propres articles.

Pour que cela fonctionne, la configuration est la suivante:

Installation par défaut et utilisation du modèle Protostar.

Remplacez le fichier: " com_content/category/default_articles.php "

Autour de la ligne 135, vous pouvez voir la ligne suivante:

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

Juste en dessous de cette ligne, j'ai ajouté le code suivant (notez que l'utilisateur 232 est mon superutilisateur - le vôtre peut avoir un identifiant différent):

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

Ceci est refermé à la ligne 261 avec un 'endif' standard. Notez que ceci est directement au-dessus de la fermeture 'endforeach' qui a commencé autour de la ligne 135.

le résultat

Est-ce précisément ce que je voulais voir. Les utilisateurs connectés ne peuvent désormais voir que leurs propres articles (et ceux du superutilisateur, bien qu'ils ne puissent pas les éditer), et ils peuvent soumettre de nouveaux articles.

En modifiant légèrement les autorisations, chaque utilisateur peut désormais créer, éditer, publier et supprimer uniquement ses propres articles.

Je ne sais pas du tout si c’est le moyen " correct " d’atteindre ce résultat, mais cela fonctionne exactement comme je le voulais et je suis plus que heureux pour les utilisateurs expérimentés de montrer des méthodes alternatives.

Numéro futur possible

Ce code est déclenché lorsque Joomla charge la liste des articles et, en tant que tel, sera déclenché plusieurs fois à mesure que de plus en plus d'utilisateurs créent de plus en plus d'articles. Peut-être que cela va provoquer un ralentissement?

En tous cas.....

1
MaxVK

Je viens de poster cette réponse à une autre question - qui n’est pas exactement la même chose, mais les conditions requises sont très similaires et relèvent du même contexte, à savoir "Création frontale".

Cette question est la suivante: Joomla! 3.8 - Comment masquer l'onglet Publication au début

Donc, dans votre cas, vous pouvez également trouver cette information utile et il sera bon de connaître vos options et possibilités:

Je colle mon autre réponse ici légèrement modifiée:

En dehors de toute personnalisation, vous pouvez envisager d’utiliser des extensions tierces.

Il existe 2 principaux types/catégories d'extensions qui conviendraient à cela:

  1. Gestion des articles front-end
  2. Intégration CCK

1. Gestion des articles front-end

Les extensions de gestion des articles frontales sont conçues pour offrir des fonctionnalités de création/modération frontales à Joomla.

Catégories JED:

Quelques extensions:

2. Intégration de CCK

En bref, en utilisant un CCK, vous pouvez créer votre propre flux de travail contenu-kit/contenu. Certains CCK peuvent être intégrés aux articles Joomla et vous permettent de créer vos propres formulaires et listes. Par exemple, avec Fabrik, vous pouvez créer des éléments de menu pour les listes d'articles afin d'afficher uniquement les articles de l'utilisateur actuel. Des autorisations profondes sont également possibles avec de telles extensions, ouvrant de nombreuses possibilités.

1
FFrewin