Niveau d'accès par defaut différent de "Accès public"

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

  • [Astuce] Niveau d'accès par defaut différent de "Accès public"

    Bonjour,
    après avoir pas mal cherché et pas trouvé, je vous dis comment j'ai fait pour sélectionner par défaut un niveau d'accès différent de "accès public" lors de la création d'un article (pour mon cas dans Joomla 1.7.1). En espérant aider d'autre utilisateurs.

    Attention: nous allons modifier des informations dans la base de donnée il est donc important de faire une sauvegarde de sa base de donnée avant tout pour éventuellement revenir en arrière en cas de problème.

    Les niveaux d'accès sont représentés dans la table igder_viewlevels (attention le préfixe "igder" peut varier en fonction de l'installation de Joomla).
    Il aurait été simple de modifier le champs "ordering" dans cette table pour lui affecter un numéro souhaité mais cela ne marche apparemment pas pour le niveau "accès public".

    J'ai donc créé un nouveau niveau d'accès "accès public modifié" qui à l'ID = 7 en base.

    Il faut maintenant que plus aucun élément de joomla ne pointe sur le niveau "accès public" afin de pouvoir le supprimer par la suite.
    Je fais donc pointer ces éléments sur le nouveau niveau d'accès ("accès public modifié") pour cela, il faut faire des updates en masse dans les tables :
    igder_apoll_polls
    igder_attachments
    igder_categories
    igder_contact_details
    igder_content
    igder_extensions
    igder_menu
    igder_modules
    igder_newsfeeds
    igder_weblinks

    Il y a potentiellement d'autres tables ou des tables en moins en fonctions des extensions installées sur votre Joomla.
    Pour connaitre les tables concernées, il faut regarder dans votre base de donnée toutes les tables qui contiennent le champs "access".

    Les modifications se font via les requêtes suivantes :
    update igder_apoll_polls set access = 7 where access = 1;
    update igder_attachments set access = 7 where access = 1;
    update igder_categories set access = 7 where access = 1;
    update igder_contact_details set access = 7 where access = 1;
    update igder_content set access = 7 where access = 1;
    update igder_extensions set access = 7 where access = 1;
    update igder_menu set access = 7 where access = 1;
    update igder_modules set access = 7 where access = 1;
    update igder_newsfeeds set access = 7 where access = 1;
    update igder_weblinks set access = 7 where access = 1;

    Explication :
    j'ai changé le niveau d'accès dans ces tables en remplaçant access = 1 (le niveau "accès public" d'origine) par access = 7 (qui est le nouveau niveau d'accès que j'ai créé).

    Maintenant que plus aucun élément ne pointe sur le niveau "accès public", il est possible de le supprimer via l'interface d'administration Joomla.

    Il ne reste plus qu'a gérer l'ordering dans la table "igder_viewlevels" pour que les niveaux d'accès soient proposés dans l'ordre souhaité.

    Voila ma contribution en espérant aider.
    Pour ceux qui connaissent mieux que moi Joomla (ça ne fait qu'un mois que je l'utilise) pourriez vous proposer vos remarques car il existe peut être d'autres solutions plus simples.
    Dernière édition par leemazong à 15/11/2011, 12h46

  • #2
    Re : Niveau d'accès par defaut différent de "Accès public"

    Bonjour,
    ça me semble particulièrement lourd...

    Si j'ai bien compris l'objectif, il doit suffire de faire une surcharge de com_content/views/form/tmpl/edit.php.
    Remplacer :
    Code PHP:
    <?php echo $this->form->getInput('access'); ?>
    Par
    Code PHP:
    <?php if ($this->item->id ) { // modif
        
    echo $this->form->getInput('access'); 
    } else { 
    // création
        
    echo $this->form->getInput('access',null,4); 
    ?>
    si 4 est l'id du niveau d'accès souhaité lors de la création d'articles
    Schtroumpfe toi le Schtroumpf t'aidera.
    Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

    Commentaire


    • #3
      Re : Niveau d'accès par defaut différent de &quot;Accès public&quot;

      C'est effectivement beaucoup moins lourd que ma procédure et plus propre. Je te remercie et je vais restaurer ma base pour ne faire que cette surcharge.

      J'aurais du poser ma question avant...

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X