Risposte:
Prova il modulo di accesso ai video
contenuti e impedisci l'accesso ai contenuti individualmente (oppure puoi anche impostarne l'accesso a tuo piacimento roles
)
Questo modulo consente di gestire le autorizzazioni per i tipi di contenuto per ruolo e autore. Ti consente di specificare la visualizzazione personalizzata, modificare ed eliminare le autorizzazioni per ogni tipo di contenuto. Facoltativamente, è possibile abilitare le impostazioni di accesso al contenuto, in modo da poter personalizzare l'accesso per ciascun nodo del contenuto.
Inoltre puoi usare il modulo Node View Permissions , ma ti suggerisco di usare Content access module
.
(se vuoi lavorare con Drupal per il futuro è meglio coinvolgerti con questi utili moduli)
Installa il modulo Node View Permissions .
Il modulo di autorizzazioni di visualizzazione nodo abilita le autorizzazioni "Visualizza il proprio contenuto" e "Visualizza qualsiasi contenuto" per ciascun tipo di contenuto nella pagina delle autorizzazioni come in Drupal 6.
Ora vai alla pagina delle autorizzazioni e rimuovi Visualizza qualsiasi autorizzazione di contenuto dal tipo di contenuto video per Utente anonimo .
Nel caso in cui desideri che solo pochi dei video della Galleria video siano accessibili all'utente anonimo, installa il modulo Nega accesso .
Aggiorna il tuo tipo di contenuto.
Aggiungi un campo numerico come display_order ecc.
Imposta il valore di questo campo solo per quei video che vuoi mostrare.
Vai alle impostazioni di visualizzazione e imposta;
Usa cercapersone: visualizza un numero specificato di elementi | x articoli
dove x è il numero di video che vuoi mostrare
Quindi applicare l'ordinamento per ordine di visualizzazione
Spero che funzioni.
Penso che il modulo Rabbit Hole faccia esattamente quello che stai cercando. Ecco un estratto dalla pagina di descrizione del modulo che risponde alle tue necessità. In bocca al lupo.
Rabbit Hole è un modulo che aggiunge la possibilità di controllare cosa dovrebbe accadere quando un'entità viene visualizzata sulla propria pagina.
Forse hai un tipo di contenuto che non dovrebbe mai essere visualizzato sulla propria pagina, come un tipo di contenuto di immagine che viene visualizzato in un carosello. Rabbit Hole può impedire a questo nodo di essere accessibile sulla propria pagina, tramite node / xxx.
Scegli il modulo per la tana del coniglio , fa esattamente lo stesso. Tutto il contenuto è accessibile tramite viste / codice ma quando si tenta di accedere alla pagina di dettaglio "contenuto / ***" viene negato l'accesso oppure è possibile impostare un reindirizzamento.
1) Crea un campo valore booleano nel tuo tipo di contenuto.
2) Se il valore è selezionato come vero, una classe unica dovrebbe essere aggiunta a quel campo video, se il valore è selezionato come falso, la classe non dovrebbe essere aggiunta a quel campo video.
3) Scrivi alcuni CSS per nascondere i video in cui la classe non è presente.
Utilizzando il modulo Regole è possibile implementare una regola simile a questa:
{ "rules_disallow_accesss_to_selected_urls" : {
"LABEL" : "Disallow access to selected URLs",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : { "init" : [] },
"IF" : [
{ "text_matches" : {
"text" : [ "site:current-page:url" ],
"match" : "content\/video-1",
"operation" : "regex"
}
}
],
"DO" : [
{ "drupal_message" : {
"message" : "Sorry, access to URLs like [site:current-page:url] is not allowed ...",
"type" : "error"
}
},
{ "redirect" : { "url" : "no_access" } }
]
}
}
Chiunque provi ad accedere al percorso relativo content/video-1
verrà reindirizzato a una pagina con percorso no_access
e verrà mostrato un messaggio di errore correlato (adattare questo percorso per adattarlo alle proprie convenzioni e rivedere il messaggio da mostrare).
La regola sopra limita l'accesso al percorso relativo content/video-1
(come nella tua domanda). Se desideri espandere la regola in URL simili, content\/video-1
passa a qualcosa di simile content\/video-\\d+$
o a qualsiasi variante che si adatti alla convenzione di denominazione dei tuoi percorsi.
La regola di cui sopra non tiene (ancora) in considerazione l'applicazione delle Regole Azione solo agli utenti con ruoli selezionati. Ma per chiunque abbia un po 'di familiarità con il modulo Regole, questa è una semplice "Condizione" da aggiungere ... ad esempio: saltare l'azione delle regole per gli utenti con un ruolo come editor, amministratore, ecc. Che puoi fare aggiungendo una Regole Condizione come "l'utente NON ha un amministratore di ruolo (e / o un editor)". In questo modo quei tipi di utenti speciali possono comunque visualizzare tali nodi (senza tale condizione aggiuntiva non possono più visualizzare tali nodi ...).
Per sperimentare questa regola nel tuo sito, copia l'intero codice Regole sopra e incollalo in una nuova Regola nel tuo sito, creata tramite la funzione "Importa" (disponibile se l'interfaccia utente delle regole è abilitata). Quindi modifica / perfeziona ulteriormente per adattarlo al tuo ambiente (ad esempio il messaggio "Siamo spiacenti, ..." da mostrare).
In una delle altre risposte hai aggiunto un commento che include questo:
... volevo reindirizzare alla home page in alcuni casi, 404 in altri, ecc., Quindi avevo un controllo migliore ...
Se è quello che vuoi anche fare, puoi perfezionare ulteriormente l'azione delle regole sopra aggiungendo anche il modulo Regole condizionali . Detto questo, per ciascuno dei tuoi "alcuni casi" puoi quindi specificare l'URL appropriato a cui reindirizzare. Fare riferimento alla mia risposta a " Come impostare i valori di alcuni campi in base al valore di una casella di riepilogo? " Per un'illustrazione di come utilizzare questo modulo all'interno di un'azione Regole.