Sto provando freelinks, che è comodo... ma trovo che sia anche incompleto.
Mi spiego: usando freelinks, scrivendo il titolo di una pagina esistente fra parentesi quadre rimanda a quella pagina, mentre scrivendo il titolo di una pagina inesistente crea un link che permette di creare una pagina con quel titolo. Fin qui, tutto a posto.
Ora, però, mi chiedo un paio di cose.
1 - Il titolo bisogna scriverlo ogni volta, cioé in ogni pagina in cui compare quel titolo, bisogna metterlo fra parentesi quadre o altrimenti non compare come link, ma come testo normale. Ora, poniamo di scrivere il nome di uno scrittore (di cui, al momento, non abbiamo intenzione di creare una pagina) in parecchie pagine e che un domani decidiamo di fare una sua pagina. Per mantenere le pagine collegate bisognerebbe andare a cercare quello scrittore in tutte le pagine in cui compare il suo nome e metterlo fra parentesi quadre. Non so se sono stato chiaro, ma il lavoro, a lungo andare, può diventare lungo e difficile da verificare.
Per cui, mi chiedevo, non esiste una qualche modifica (o qualche altro modulo) che permetta di creare link automaticamente?
In pratica, poniamo che abbia sul mio sito una pagina di Howard Phillips Lovecraft, non esiste un modulo che automaticamente converta il nome in link ogni volta che viene scritto esattamente in quel modo all'interno del corpo di una pagina? Un modulo in cui possa entrare tramite amministrazione e possa dirgli che ogni volta che incontra il testo "Howard Phillips Lovecraft" all'interno del corpo di una qualsiasi pagina me lo faccia diventare un link che punta a una determinata pagina (per es. http://www.miosito.org/letteratura/Lovecraft)?
Sarei stupito se non esistesse un modulo simile (o una "espansione" per il modulo freelinks, che sarebbe ancora meglio), qualcuno sa darmi qualche dritta?
2 - Una seconda cosa che mi sono chiesto è che quando un utente che non può creare pagine clicca su un link di freelinks che rimanda a una pagina, che ancora non è stata creata, rimanda alla pagina di errore dovuto alle autorizzazioni (non sei autorizzato...). Non è possibile settare drupal in modo tale che nel caso di un link a una pagina che ancora non esiste, invece della pagina "non sei autorizzato" compaia una pagina apposita che avverte che la pagina non è stata ancora creata? Ovviamente, questa pagina dovrebbe comparire solo nel caso il link provenga da freelinks... e non sempre (altrimenti quando si prova ad accedere a una pagina che necessita veramente di informare l'utente che sta cercando di accedere a pagine per cui non dispone dell'autorizzazione comparirebbe invece quella che informa che la pagina non è stata ancora creata).
Spero di essere riuscito a spiegarmi e attendo speranzoso qualche delucidazione in merito.
Grazie. :)
1) Non conosco free_link e non l'ho mai usato, ma la prima cosa che mi viene in mente è di riadattare il modulo Accent (o qualche cosa del genere) che non fa altro che fare una scansione di tutti i nodi nel DB e sostituire le parole "incriminate" con qualcos'altro; per esempio sostituiamo " Lovecraft " con " [Lovecraft] " o [ Lovecraft ", non so se è una soluzione accettabile per te... Ogni volta dovresti far passare l'intero Archivio per replicare i termini "errati" e sostituirli, se poi sono molti o lo correggi in qualche modo e lo inserisci in CRON in modo da fare la scansione ogni X ore/giorni/altro..
2) La soluzione 2 è un pò più complessa, come si fa a sapere che una pagina non esiste perché non è stata creato o non esiste perché ho sbagliato a mettere il link? Il problema delle autorizzazioni non si pone perché l'errore 404 != 405 e quindi risolvi in qul modo, mentre per sapere se il 404 è dato dalla mancanza della pagina (ma comunque in fase di realizzazione) piuttosto che dal 404 che indica la mancanza della pagina (che invece NON deve essere fatta).. bhò! Mi verrebbe da pensare di fare in modo che free_link inserisca l'URL come fa di solito, ma aggiunga anche nella tabella dei Path il reindirizzamento verso un nodo predefinito (La pagina deve essere creata) ma poi quando crei la pagina devi andare a modificare l'alias... Insomma mi sembra un problema di non facile gestione.
Ciao
Marco
--
My blog
Working at @agavee
Prima di tutto, grazie per l'attenzione. :)
Poi, per quanto riguarda il primo punto... potrebbe essere una soluzione. La provo e poi ti faccio sapere.
L'importante è che modifichi solo il contenuto dei nodi e non il titolo (che essendo già un link ed essendo il campo title non abilitato all'uso di frrelinks ho paura che possa creare problemi in un modo o nell'altro).
Comunque mi stupisce che non esista un modulo che semplicemente "scansiona" il contenuto e aggiunge link quando trova un determinato testo precedentemente settato tramite un'amministrazione. Ricordo che un modulo simile era presente già dalle prime versioni di phpnuke di anni e anni fa.
Fra l'altro trovo che sia di indubbia utilità nel caso si voglia fare un sito in stile "enciclopedico".
Per quanto riguarda la seconda domanda... in effetti potrebbe essere più complesso di quello che pensavo in principio.
Una soluzione, forse, potrebbe essere una qualche funzione in php, tipo un if, che controlla il tipo di indirizzo. La funzione potrebbe controllare che se un indirizzo è scritto tramite freelinks e la pagina è inesistente allora deve visualizzare un certo output; altrimenti viene visualizzata la classica pagina di "non autorizzato".
L'ho buttata lì, ma forse potrebbe essere una soluzione.
Almeno il primo punto sembra che l'abbia risolto grazie al modulo Alinks
Dico "sembra" perché il modulo fa esattamente quel che chiedevo, ma con cck noto comportamenti strani. Comunque, lavorandoci un po' sopra, dovrei aver risolto. :)
P.s. C'è una incompatibilità con paging. Se si usa il pagebreak alink non funziona più.
intendi ? Ahia...è da segnalare.
---
Multi-blog sociale
a Drupal Blog | howto, tutorials e informatica
--
Drupal e Siti Web Torino
Blog: Computer Graphics
Suppongo tu intenda la stessa cosa con break, ma per sicurezza ribadisco: l'incompatibilità compare con il modulo paging (quello che permette di dividere una pagina in più pagine) quando si usa il codice per, appunto, dividere la pagina.
Se lo si usa Alinks non converte le parole in links.
------------------------
www.devilhouse.org
------------------------
Riporto up questa discussione perché ci sono ricapitato per caso tramite google mentre cercavo una soluzione e magari qualcuno sa come risolvere un problema con alinks.
In pratica, usando drupal 5 (con il 4 non ho provato) alinks converte in links solamente il testo scritto nel campo di testo di default.
Mi spiego. Partiamo dal presupposto che tramite alinks decido che quando compare il testo Vonnegut voglio che sia convertito in un link che rimandi alla pagina di Kurt Vonnegut di wikipedia (o di qualsiasi altro sito... nel mio caso dovrebbe portare all'indice delle pagine attinenti a vonnegut). Ora poniamo che creo una pagina standard e che nel campo testo compare il nome di Vonnegut. Bene, in questo caso non c'è nessun problema e alinks fa il suo lavoro e converte la scritta vonnegut in un link. Se però, tramite cck, all'interno di page decido di aggiungere un campo di testo aggiuntivo, chiamiamolo "descrizione", alinks non lo converte più. Ho dato un'occhiata al codice del modulo alinks e questo succede perché la funzione del modulo è impostata per cercare e sostituire con il link solamente all'interno della variabile $body (o $content).
Ora, ed qui che mi si crea il problema, la pagina che ho in testa deve essere fatta tramite campi cck, perché ho bisogno di creare delle pagine che mi facciano comparire i contenuti in modo non standard. In pratica ho un campo image che compare sulla sinistra, un campo testo che deve comparire di fianco al campo testo (align left), e sulla destra ho un box (float right) con una scheda con i dati del libro (o del film, o di quello che è).
Mi accontenterei anche che i links comparissero solo nel campo testo di default, ma per richiamare questo campo devo usare la variabile "body (o sempre $content). Queste variabili non si limitano a richiamare e scrivere solo il campo di testo, ma scrivono tutti i dati della pagina (compreso il campo image e quello con il box dei dati). In questo modo il campo img e quello dei dati non solo compaiono quindi due volte, ma quando richiamati da $body (o $content) non sono nemmeno posizionabili a mio piacimento e vengono messi, come di default, uno di seguito all'altro. In pratica invece di comparire così:
Campo Img ---- Testo dell'articolo ---- Box con i dati
Compare così:
Campo img (a capo)
Testo dell'articolo (a capo)
Box con i dati
Non so se sono riuscito a farmi capire, ma se ci fossi riuscito le mie domande sarebbero:
C'è un modo per far sì che alinks converta in links anche i campi creati con cck?
Oppure, c'é un modo per far comparire esclusivamente il campo di testo di Drupal, e quindi poterlo posizionare come voglio, senza che compaiano anche tutti gli altri campi presenti nella pagina?
Grazie.