Joomladay francophone 2018 à Paris 18 et 19 mai

Titres d'articles visibles par tous, mais contenus privés

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Titres d'articles visibles par tous, mais contenus privés

    Bonjour à tous.

    en vue de réaliser le site d'une très grosse association, j'aurais besoin de pouvoir afficher dans un module les titres des derniers articles parus, mais une fois que l'on clique dessus, le site doit demander une connexion pour lire l'article.

    Cela est-il possible?
    C'est assez urgent !

    Merci à vous !

  • #2
    Bonjour,
    comme le contenu est privé, tu publies les articles uniquement pour les registreds.

    Ensuite pour afficher la liste, tu clones ou tu modifies sauvagement mod_latestnews en virant le contrôle sur les autorisations ; en première approximation enlever la ligne
    Code PHP:
    ($access ' AND a.access <= ' .(int) $aid' AND cc.access <= ' .(int) $aid' AND s.access <= ' .(int) $aid ''). 
    dans le helper.php.

    Sauf que le message risque d'être brutal, et que Google va aimer moyennement (n URLs, une seule page "restricted access"). Donc il vaudrait mieux intervenir aussi sur l'url, dans le tmpl/default.php, en gros :

    Code:
    <a href="<?php 
    if ($user) { 
    	echo $item->link; 
    }else{
    	echo "index.php?etc...";
    }?>
    " class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
    où echo "index.php?etc..." est l'url de la page qui invite le visiteur à s'identifier ou à s'incrire...
    Schtroumpfe toi le Schtroumpf t'aidera.
    Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

    Commentaire


    • #3
      Merci ! J'essaye ça au boulot dés lundi !

      Commentaire


      • #4
        La solution apportée par Grand Schtroumpf est fonctionnelle, je l'en remercie!

        Dans le même ordre d'idée, si il me prenait l'envie de mettre une icône de cadenas devant le titre de certains de ces articles pour indiquer qu'ils sont verrouillés, comment devrais-je m'y prendre?

        D'avance un grand merci

        Commentaire


        • #5
          Bonjour,
          vers le même endroit ajouter un <img src=" ..." /> vers l'image qui va bien...
          Schtroumpfe toi le Schtroumpf t'aidera.
          Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

          Commentaire


          • #6
            Réponse rapide O_o merci bien'
            J'ai déjà essayé ceci, avant de venir poser la question, mais je n'obtiens que des "parse error", j'ignore où positionner ça avec Joomla (qui est très complet, mais je m'y perds beaucoup dans la multitude de fichiers)

            Commentaire


            • #7
              Re,
              j'ignore où positionner ça avec Joomla
              Ben dans le default.php dont il était question plus haut, par exemple juste avant le <a href="<?php if ($user) { echo $item->link;
              Schtroumpfe toi le Schtroumpf t'aidera.
              Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

              Commentaire


              • #8
                J'admets ne pas être très doué ici, mais modifier le default.php me donne des erreurs.
                Exemple :

                Default.php initial :
                <?php // no direct access
                defined('_JEXEC') or die('Restricted access'); ?>
                <ul class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                <?php foreach ($list as $item) : ?>
                <li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                <img src=" images/Cadenasjaune.png" />
                <a href="<?php echo $item->link; ?>" class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                <?php echo $item->text; ?></a>
                </li>
                <?php endforeach; ?>
                </ul>
                default.php modifié
                <?php // no direct access
                defined('_JEXEC') or die('Restricted access'); ?>
                <ul class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                <?php foreach ($list as $item) : ?>
                <li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                <img src=" images/Cadenasjaune.png" />
                <a href="<?php
                if ($user) {
                echo $item->link;
                }else{
                echo "index.php?etc...";
                }?>
                " class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                <?php echo $item->text; ?></a>
                </li>
                <?php endforeach; ?>
                </ul>

                Commentaire


                • #9
                  Re,
                  mais modifier le default.php me donne des erreurs
                  certes, mais lesquelles (ça aide à comprendre...)

                  ???? je croyais qu'on était sur la modif de l'image et en fait là le premier code que tu donnes (qui marche ?) intègre l'image mais pas la modif de l'URL ????

                  Déjà ça : echo "index.php?etc..."; c'est moyen... il va falloir mettre une vraie URL !
                  Schtroumpfe toi le Schtroumpf t'aidera.
                  Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

                  Commentaire


                  • #10
                    Oui, le echo "index.php?etc...", j'avais modifié ', juste que j'ai retapé le code à titre d'exemple.

                    (c'est pas clair, j'aurais dû être plus explicite)

                    En fait : actuellement, la redirection vers la page de connexion fonctionne (mais je ne peux pas la paramétrer, pour enlever l'image de connexion par exemple), mais ça marche. après la connexion, ça me ramène à l'index et non sur l'article cliqué, mais là je chipote, c'est pas grave.

                    Ma question est : je voudrais ajouter une petite image de cadenas en face du titre pour indiquer qu'il faut être connecté pour lire mais uniquement sur les articles "enregistrés" et pas sur les "publiques" (oui, je suis chiant je sais...)

                    La redirection marche sans modifier le "Default.php", donc je me garde d'y toucher. Mais visiblement je n'aurais pas le choix... et quand je modifie, il m'indique clairement qu'il y a d'autres "parse errors", donc c'est moi qui code ça mal.

                    Donc actuellement, le Default est comme ceci :

                    <?php // no direct access
                    defined('_JEXEC') or die('Restricted access'); ?>

                    <ul class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                    <?php foreach ($list as $item) : ?>
                    <li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                    <img src="../../../images/Cadenasjaune.png"/>
                    <a href="<?php
                    if ($user) {
                    echo $item->link;
                    }
                    else{
                    echo "index.php?option=com_user&view=login&Itemid=4 .";
                    }?>
                    " class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
                    </li>
                    <?php endforeach; ?>
                    </ul>
                    Mais là, le lien de ma news ne s'affiche plus...
                    Dernière édition par XavierHenry à 30/03/2009, 11h50

                    Commentaire

                    Annonce

                    Réduire
                    1 sur 2 < >

                    C'est [Réglé] et on n'en parle plus ?

                    A quoi ça sert ?
                    La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                    Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                    Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                    Comment ajouter la mention [Réglé] à votre discussion ?
                    1 - Aller sur votre discussion et éditer votre premier message :


                    2 - Cliquer sur la liste déroulante Préfixe.

                    3 - Choisir le préfixe [Réglé].


                    4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                    2 sur 2 < >

                    Assistance au forum - Outil de publication d'infos de votre site

                    Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                    Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                    Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                    UTILISER À VOS PROPRES RISQUES :
                    L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                    Problèmes connus :
                    FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                    Installation :

                    1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                    Archive zip : https://github.com/AFUJ/FPA/zipball/master

                    2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                    3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                    4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                    5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                    6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                    et remplacer www. votresite .com par votre nom de domaine


                    Exemples:
                    Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/
                    Pour executer le script: http://www..com/fpa-fr.php

                    Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/cms/
                    Pour executer le script: http://www..com/cms/fpa-fr.php

                    En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                    Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                    Voir plus
                    Voir moins
                    Travaille ...
                    X