• Site mis à jour le 11 mars 2024

Code php dans article Joomla

Informations
il y a 4 ans 2 mois #12162 par mihaly
Réponse de mihaly sur le sujet Code php dans article Joomla
L'idée des substitutions c'est de ne modifier que les fichiers de visualisation puisque Joomla sépare clairement les fichiers de fonctions de ceux de la visualisation, et ainsi de ne pas perdre ces modifications lors de mises à jour de Joomla ;)

Mihàly Marti alias Sarki

Connexion ou Créer un compte pour participer à la conversation.

Informations
il y a 4 ans 2 mois - il y a 4 ans 2 mois #12165 par Dilan
Réponse de Dilan sur le sujet Code php dans article Joomla
Hello Mihaly
J'ai le même pb avec Sourcerer, le code est supprimé à l'enregistrement ou remplacé par du commentaire HTML.
Est-ce que tu as testé "modules anywhere" ?
J'ai fait en jouant sur les droits des groupes. Ça fonctionne partiellement mais je veux faire une redirection pour forcer vers une page de connexion.
Je m'explique.
Je veux que tous les menus de 1er niveau soient visibles par tout le monde.
Au "clic souris" sur un menu de 1er niveau, si un utilisateur n'est pas enregistré, je veux lui cacher les menus de 2eme et 3eme niveau et le diriger vers une page qui lui permet de se connecter ou demander une connexion.
Les utilisateurs enregistrés sont, quant à eux autorisés, à voir les sous-menus et le clic sur le menu de 1er niveau est sans effet.
Pour faire ça, je suis contraint de passer par un module de branchement dont le test est l'enregistrement de l'utilisateur.
Pour tester mon code, j'ai entré :
<?php
echo "entrée dans le code";
$user = JFactory::getUser() ; / recherche user courant
if ( $user->id ) / teste si user courant existe
{
echo "Utilisateur connecté";
}
else
{
echo "Utilisateur non connecté";
}
?>

Malheureusement ce code n'est pas conservé à l'enregistrement.
Merci
Dernière édition: il y a 4 ans 2 mois par Dilan.

Connexion ou Créer un compte pour participer à la conversation.

Informations
il y a 4 ans 2 mois - il y a 4 ans 2 mois #12166 par mihaly
Réponse de mihaly sur le sujet Code php dans article Joomla
Hello,
Oui désolé, quand je te disais qu'il suffit de rendre l'article accessible à un groupe donné ce n'est pas juste, ou si mais cela dépend du template qui peut avoir fait un override dans ce sens.

En fait le groupe "invité" existe pour ce genre de cas...
Tu affiches un module de connexion qui a un droit d'accès "Invité" lié au lien de menu vers ton article, ainsi seuls ceux qui ne sont pas connectés le voient ;)

Et n'oublie pas qu'avec le plugin de contenu "Conditional Content" tu affiches ou masque ce que tu veux au(x) groupe(s) souhaité(s), donc avec le groupe invité tu peux mettre un texte et même un module dans le contenu qui ne sera pas visible une fois connecté.


Par rapport au fait que le code est effacé... As-tu autorisé l'insertion de PHP dans ton profil JCE ?

Perso je ne te conseille pas trop d'ajouter du PHP dans des contenus rédactionnels si tu n'y es pas obligé, autoriser l’exécution de code PHP dans les contenus peut être une porte ouverte à du piratage, surtout si tu laisse des droits de rédaction à des groupes, c'est pourquoi la fonction d'override existe.

Mihàly Marti alias Sarki
Dernière édition: il y a 4 ans 2 mois par mihaly.
Les utilisateur(s) suivant ont remercié: Dilan

Connexion ou Créer un compte pour participer à la conversation.

Informations
il y a 4 ans 2 mois - il y a 4 ans 2 mois #12167 par Dilan
Réponse de Dilan sur le sujet Code php dans article Joomla
Oui bien sûr, c'est si simple avec une page aux droits "visiteurs" et ça fonctionne bien.
C'est encore mieux que du code puisque ça évite une porte dérobée pour d'éventuels hackers.
J'ai juste un message d'erreur que je voudrais supprimer si c'est possible puis que les non visiteurs n'ont pas accès à la page de redirection (Cf. pièce jointe).
Merci pour ton aide qui a été efficace.
Dilan
Pièces jointes :
Dernière édition: il y a 4 ans 2 mois par Dilan.

Connexion ou Créer un compte pour participer à la conversation.

Informations
il y a 4 ans 2 mois #12168 par mihaly
Réponse de mihaly sur le sujet Code php dans article Joomla
Je te suggère de faire ainsi...
Je ne sais pas quel template tu utilises, mais normalement la majorité d'entre eux permettent de créer un fichier css personnalisé qui n'est pas remplacé lors des mises à jour.
Pour le template par défaut de Joomla c'est "user.css" à mettre dans le dossier "/css" du template, sinon c'est en général custom.css

Sinon tu peux utiliser ce module que j'ai créé à l'époque que tu peux placer sur les pages que tu veux en le liant au liens de menu souhaités, qui te permet d'ajouter du CSS dans un champ du module (qui est en dur dans le code de la page), ou d'appeler un fichier css que tu mets où tu veux en adaptant le chemin dans les paramètres du module :

Fichier attaché :

Nom du fichier : mod_jts_customcss.zip
Taille du ficher :15 ko


Dans les paramètres de la page du lien de menu qui conduit vers l'article en question, tu vas ajouter une classe de sorte que seul le message sur cette page soit masqué.

Mihàly Marti alias Sarki
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Informations
il y a 4 ans 2 mois #12169 par mihaly
Réponse de mihaly sur le sujet Code php dans article Joomla
Voici un exemple

Mihàly Marti alias Sarki
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.200 secondes
Propulsé par Kunena

Rechercher