Mi sono bloccato un po’ su questo: vorrei reindirizzare da un argomento specifico a un percorso di categoria, qualcosa del tipo:\n\n/t/slug/123 => /c/slug/456\n\nMi rendo conto che i permalink nell’area amministrativa non sono pensati per gli URL di Discourse esistenti e che questo potrebbe essere fatto con del codice personalizzato. Qualcuno ha un esempio che possa indicarmi la giusta direzione?\n\nGrazie!
1 Mi Piace
Ok, ho messo insieme una soluzione e sembra funzionare. L’ho fatto correttamente o sto facendo cose terribili? ![]()
<script type="text/discourse-plugin" version="0.8">
// Modifica la route dell'argomento.
api.modifyClass('route:topic', {
beforeModel( transition ) {
var params = this.paramsFor('topic');
// Inglese
if( params['id'] == 123 ) {
this.router.transitionTo('/c/tutorials/english/29'); // Aborta implicitamente la transizione in corso.
}
// Francese
if( params['id'] == 456 ) {
this.router.transitionTo('/c/tutorials/french/30'); // Aborta implicitamente la transizione in corso.
}
}
});
</script>
1 Mi Piace
Non puoi farlo con i permalink?
Ho fatto un rapido test usando l’opzione “url esterno o relativo” (anche se potrebbe essercene una migliore), e sembrava funzionare bene?
Assicurati solo di testare con un utente che non ha la possibilità di vedere argomenti/post eliminati.
2 Mi Piace
I miei argomenti non vengono eliminati, ho solo bisogno che vengano bloccati come strumento di navigazione. Ho testato questo e i Permalink non funzionano per gli URL esistenti, vero?
Ah, no. I permalink funzionerebbero solo se l’argomento venisse eliminato, altrimenti non verresti reindirizzato e atterreresti sull’URL corretto.
