Un sito esterno al mio, mi ha chiesto se puo' inserire dentro ad un suo FRAME un paio di pagine del mio sito.
Fino a qui nessun problema, pero' sarebbe fornirgli delle pagine senza header, menu di navigazione e altri componenti, ovvero il semplicissimo nodo.
Come potrei fare?
Scrivo al volo quello che mi viene in mente:
Web Service con modulo XML-RPC ?
Sito parallelo con tema che visualizza solo il contenuto: no side-bar , no header?
Fammi sapere come lo risolverai ...
Ciao
________________________________________________________________________________________
Quando risolverai il problema, scrivi come hai fatto, e se puoi scrivi [RISOLTO]
Sarà utile ad altri. Grazie
enzoazzolini.it
cavolo...ma non e' un po' troppo complicato?
io pensavo che mi suggerissero un qualcosa tipo: print $node.....
ma il web service dovrebbe essere lato drupal(mio sito) o lato del sito che deve attingere la mia pagina?
La cosa più semplice allora è eseguire una print della variabile $return contenuta in index.php
Se lo fai prima della chiamata theme('page') ottieni tutto il contenuto del nodo già formattato.
Potresti quindi controllare ad esempio l'indirizzo IP in arrivo e se la richiesta proviene dal sito del tuo "amico" esegui una print $return ed esci altrimenti continui con la tematizzazione.
Il web service dovresti essere tu.
Con drupal non ho mai provato , ma era mia intenzione implementarlo prossimamente.
Guarda qui http://drupal.org/project/webservices
________________________________________________________________________________________
Quando risolverai il problema, scrivi come hai fatto, e se puoi scrivi [RISOLTO]
Sarà utile ad altri. Grazie
enzoazzolini.it
@enzodrup:Mi hai incuriosito ed ho provato ad installare il modulo webservices, pero' come documentazione c'e' davvero molto poco.
Ho visto che vi sono dei metodi standard, a me interessa in particolare la get dei nodi.Ma come usarla da un sito esterno non ho proprio idea.
Tu fino a che punto l'hai provato sto modulo?
No, come ti ho detto non ho mai avuto occasione di usarlo.
Lo farò necessariamente in un prossimo futuro.
Mi sto pentendo di avertelo suggerito senza poterti dare un supporto immediato .....
Ciao
________________________________________________________________________________________
Quando risolverai il problema, scrivi come hai fatto, e se puoi scrivi [RISOLTO]
Sarà utile ad altri. Grazie
enzoazzolini.it
tranquillo....al massimo avro' fatto un po' di test e prove senza far danni al sito online...
Ciao Enzo,
passo per caso da quì dopo tanto tempo e ne aproffito per rispondere al volo....
questa IMO è una soluzione sporca sia perchè vai a modificare la index, sia per controllare l'ip del richiedente.
Una soluzione pulita è quella di costruirti un modulo di 3 funzioni:
hook_perm in cui definisci i permessi
hook_menu in cui metti il link dove dovrebbe esser peresa la pagina e il collegamento alla funzione da lanciare
nome_funzione() = la tua funzione contenente 2 semplici righe:
$Nodo = node_load(id del nodo da visualizzare);
print node_view($Nodo);
Addirittura puoi restringere il tutto a 2 sole funzioni, ma con queste 3 hai anche modo di sbizzarristi con i permessi. Infatti agendo bene sul tuo menu e impostando i parametri:
'access callback' => '',
'access arguments' => array(''),
potresti farti una tua funzione personale di permessi in cui potresti andare a controllare chi è il richiedente della pagina ad esempio.
La soluzione sopra ti permette di avere una cosa estremamente flessibile.
Esiste poi la soluzione semplice semplice:
attivi il modulo php filter che trovi di default nell'installazione di drupal.
crei una pagina e imposti il filtro su codice PHP.
Dentro quella pagina scrivi:
dove al posto di 6 metterai l'id la tua pagina. Il tuo amico deve mettere nel frame il link alla pagina appena creata :-)
Esiste una terza soluzione lato client tramite jquery, ma questa la dovrebbe fare chi "cattura" la tua pagina e non tu....quindi non te la propongo neppure
P.S.
Ovviamente puoi anche stampare più di un nodo in una stessa pagina
Ciao
Gianni
Ciao Gianni,
comunque l'esigenza di stampare la pagina è di numberone non mia, come sembrerebbe dal tuo post.
Ma questo non ha importanza, perchè vorrei inchinarmi all'eleganza delle tue due soluzioni.
Come risolvere un problema in poche righe. Questo è Drupal .... messo in mano a chi lo conosce!
Complimenti.
A numberone consiglierei la seconda soluzione , mi sembra sia proprio quello di cui ha bisogno.
Ciao
________________________________________________________________________________________
Quando risolverai il problema, scrivi come hai fatto, e se puoi scrivi [RISOLTO]
Sarà utile ad altri. Grazie
enzoazzolini.it
In realta sono due risposte in una. Una era una piccola precisazione, l'altra era la risposta. Per comodità le ho messe insieme :-)
Sì, Drupal è fenomenale ed estremamente flessibile...
Ti ringrazio dei complimenti, ultimamente sono un po impegnato e non seguo spesso il forum, ma ti assicuro che molto spesso succede che sono io a leggere e a inchinarmi alle tue soluzioni ;-)
Ciao
Gianni