Je construis un système d'administration sur 7. Je drupal ne pas permettre aux utilisateurs anonymes de visualiser le contenu publié (pour des raisons évidentes), mais je voudrais leur permettre de Voir juste une seule page, la page d'accueil, qui a un message de bienvenue et le formulaire de connexion. Comment puis je faire ça?Drupal 7: autoriser uniquement la page d'accueil aux visiteurs anonymes
Répondre
Je construis généralement un petit module pour les sites qui nécessitent des fonctionnalités personnalisées non fournies par des modules que j'utilise, dans ce cas, vous pouvez simplement construire un module avec ce qui suit dans le fichier du module.
mymodule_menu(){
$items['homepage']=array(
'title' => 'Home'
'page callback' => 'mymodule_homepage',
'access callback' => true,
'type' => MENU CALLBACK,
);
$items['homepage/edit']=array(
'title' => 'Edit Homepage'
'page callback' => 'drupal_get_form',
'page arguments' => array('mymodule_homepage_edit'),
'access arguments' => array('administer site configuration'),
'type' => MENU CALLBACK,
);
}
function mymodule_homepage(){
return variable_get('homepage_content','');
}
function mymodule_homepage_edit(){
$form['body']=array(
'#type' => 'textfield',
'#title' => 'Body',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit
);
}
function mymodule_homepage_edit_submit($form, $form_state=array()){
variable_set('homepage_content',$form_state['values']['body']);
}
vous avez besoin d'un fichier pour le module .info avec l'aide de Drupal, sans fioritures, assez explicite si vous ouvrez juste un de plus un autre module pour voir comment ils regardent.
L'avantage pour la manipulation de cette façon est la flexibilité d'ajouter d'autres fonctionnalités personnalisées à ce même module sur la ligne.
J'aime la réponse de Trey, mais vous pouvez le faire encore plus simplement.
function mymodule_menu(){
$items['homepage']=array(
'title' => 'Home',
'page callback' => 'mymodule_homepage',
'access callback' => TRUE,
);
}
function mymodule_homepage(){
drupal_set_title(t('Some welcoming title'));
return array();
}
Cela vous donne une page blanche pour tous les utilisateurs. Créez ensuite un bloc affiché uniquement pour les utilisateurs anonymes et uniquement sur la page d'accueil (""). Créez d'autres blocs pour d'autres rôles si nécessaire. De cette façon, vous n'avez besoin d'aucune commande spéciale pour l'éditer.
Merci Trey pour confirmer qu'il n'y a aucun moyen de le faire de base. (Vous pouvez utiliser l'accès au nœud ou les modules de première page, mais je ne les ai pas essayés car ils sont si légers.)
Je pense que this module peut fournir ce dont vous avez besoin. Avec elle, vous pouvez activer les paramètres d'accès par contenu, de sorte que vous pouvez personnaliser l'accès pour chaque nœud de contenu.
- 1. Drupal autoriser les commentaires anonymes
- 2. Comment autoriser des utilisateurs anonymes à soumettre un formulaire Web dans drupal 7?
- 3. Drupal 7 page vocabulaire
- 4. Drupal 7 commentaires anonymes, désactiver le champ de la page d'accueil
- 5. Module cinq étoiles dans drupal 7 pour utilisateurs anonymes
- 6. drupal 7 page tpl thème
- 7. Sortie de Drupal 7 views_datasource uniquement la page html pleine page json
- 8. Drupal 7 Modifier la page utilisateur Remplacer
- 9. Sujets du forum anonymes sur Drupal 6
- 10. Autoriser les visiteurs anonymes du site Plone à ne voir que la date de dernière modification (mais pas de nom d'auteur)
- 11. Ajout de la numérotation aux éléments du menu Drupal 7
- 12. Formulaire de connexion pour les utilisateurs normaux uniquement Drupal 7
- 13. Wordpress - Autoriser uniquement la page à afficher après le formulaire
- 14. Page Terminologie personnalisée dans Drupal 7
- 15. Drupal 7, insérer user_profile_form dans une page
- 16. Comment distinguer les nouveaux utilisateurs Drupal anonymes?
- 17. Ajouter un filtre personnalisé aux vues dans Drupal 7
- 18. Autoriser les utilisateurs anonymes à modifier leur contenu? Module Drupal, idées
- 19. Exposer des fichiers multimédia wordpress aux visiteurs
- 20. Le champ Drupal 7 personnalisé enregistre uniquement le premier caractère
- 21. Autoriser les utilisateurs anonymes à créer des noeuds non publiés dans Drupal?
- 22. Drupal - 7: DisplayLink Drapeau uniquement pour le nœud Auteur
- 23. Drupal 7 Module "Titre de la page" Dysfonctionnement
- 24. Afficher la page à l'intérieur de page.tpl.php drupal 7
- 25. Drupal: charger les pages uniquement lorsque la page défile
- 26. Module DHTML drupal 7
- 27. Drupal 6 - Rediriger les utilisateurs anonymes à la page de connexion
- 28. Affichage des résultats de page dans Drupal 7
- 29. Drupal 7 - Diviser le contenu
- 30. Comment accéder aux champs de nœuds dans template_preprocess_node (Drupal 7)
Je ne sais pas comment faire un module, mais je vais essayer. Merci beaucoup! – Janoma
il est assez facile vraiment, il suffit de créer un dossier avec le nom que vous souhaitez donner votre module ... dire « MySiteMod », puis créez un fichier dans ce dossier appelé « MySiteMod.module », puis copiez le code ci-dessus INTHE ce fichier entre une balise '', en remplaçant toutes les instances de" mymodule "par" MySiteMod "puis en créant un autre fichier appelé" MySiteMod.info ", et comme je l'ai dit, regardez un autre fichier info modules pour voir comment ils sont écrits, besoin des premières lignes qui définissent le nom et le numéro de version, etc. – Trey