web-dev-qa-db-fra.com

Offrir un contenu différent à différents clients

Dans un intranet, j'ai deux groupes de clients, chacun étant connu par son adresse IP. Je souhaite présenter le module A de Joomla pour les clients des deux groupes, le module B uniquement pour les clients du groupe 1 et le module C uniquement pour les clients du groupe 2.
Quand les clients sont allumés, ils doivent aller à la première page sans interaction humaine. Ainsi, l’utilisation de différentes connexions ne fonctionnera que si je peux me connecter automatiquement à différents comptes de différents clients.

Une idée serait d'utiliser un fichier .htaccess-RewriteCond basé sur l'IP et de fournir des fichiers CSS créés spécialement (pour chaque groupe, en utilisant display: none; pour supprimer le contenu indésirable.

Mais il serait beaucoup mieux d'utiliser d'une manière ou d'une autre les composants internes de Joomla. Existe-t-il un moyen de créer une URL qui me connecte au système Joomla ou pouvez-vous penser à un autre moyen de dire à Joomla quel contenu doit être affiché sur ce client spécifique uniquement par l'URL (qui peut être modifié par le fichier .htaccess mod.rewrite)?

3
lars k.

L'un des gestionnaires de modules les plus puissants pour Joomla est MetaMod . Je l'utilise depuis des lustres et dans n'importe quel scénario imaginable.

Il a un ensemble puissant de critères: par date, heure, heure récurrente, GeoIP (pays du visualiseur), type de navigateur et langue, nom d'utilisateur, groupe, page au sein d'un autre composant (par exemple Virtuemart, K2), texte de page, mots clés d'article , par article, section/catégorie, domaine, référent… et à la fin, encore plus puissant PHP Règles, dont il existe des exemples numeros aka PHP Recipes .

Une de ces recettes est modules de contrôle par adresse IP , ce qui pourrait être ce que vous recherchez.

Pour la deuxième partie de votre question , il existe un super petit plugin Login IP de NoNumber, ce qui vous permet de vous connecter automatiquement à votre interface Joomla et/ou votre côté administrateur par adresse IP.

Vous pouvez simplement configurer une adresse IP et une clé URL secrète dans le profil de l'utilisateur dans l'administrateur. La clé de l'URL doit être placée dans l'URL sous la forme d'une variable 'requête', telle que: http://www.yourdomain.com?mxx8hrv4

Si l'URL contient déjà un ?, vous pouvez préfixer la clé avec un &, comme: http://www.yourdomain.com/administrator/index.php?option=com_content&mxx8hrv4

J'espère que cela t'aides.

2
Mikan

J'ai obtenu d'excellents résultats en utilisant les extensions simples, telles que le gestionnaire de modules avancé et le gestionnaire de modèles avancé.

Liens: https://www.nonumber.nl/extensions/advancedmodulemanager#free-vs-prohttps://www.nonumber.nl/extensions/advancedtemplatemanager#free-vs- pro

Ces deux extensions élargissent les possibilités d'assigner des modèles et des modules à un certain nombre de critères supplémentaires, notamment navigateur, ips, urls, langues, php personnalisé, etc. Je les suggère pour les cas d'utilisation tels que celui que vous décrivez.

4
Elkous