Creare una vista senza css e template di base del sito

7 contenuti / 0 new
Ultimo contenuto
Creare una vista senza css e template di base del sito

Salve, volevo sapere se è possibile creare una vista senza css e senza il template?
Premesso che ho già realizzato la vista...non so come rimuovere tutto il resto intorno che riguarda il sito.
Mi servirebbe per visualizzare solo una parte del mio sito su facebook... reindirizzerei l'app di facebook al path della vista creata...
Grazie

Ciao,
io solitamente le integrazioni con Facebook le faccio via Services. Abilito il service view e con view.get mi carico la vista. Ovviamente, devi essere un pò avvezzo a php... qui trovi un pò di info:
Modulo Services
Services Handbook

Se ti serve un codice di esempio te lo posto volentieri!
;)

Ciao, :) in primis ti ringrazio della risposta...
Volevo chiederti una volta integrati questi 2 moduli, come posso utilizzarli per la vista?
Io ho già creato una vista nel quale prelevo gli argomenti di discussione del forum come tipo nodo e li visualizzo come campi...
Il mio problema è che cmq visualizzo tutto ciò che c'è intorno alla vista ovvero il template.
Sul web ho trovato e applicato questa soluzione:
I was looking for a way to pull node data via ajax and came up with the following solution for Drupal 6. After implementing the changes below, if you add ajax=1 in the URL (e.g. mysite.com/node/1?ajax=1), you'll get just the content and no page layout.

in the template.php file for your theme:

function phptemplate_preprocess_page(&$vars) {

if ( isset($_GET['ajax']) && $_GET['ajax'] == 1 ) {
$vars['template_file'] = 'page-ajax';
}

}
then create page-ajax.tpl.php in your theme directory with this content:

<?php
 
print $content;
?>

Se reindirizzo l'app di Facebook all'indirizzo http://miosito/nomevista/1?ajax=1 Funziona!Ma nel momento in cui clicco su rispondi o leggi tutto ovviamente mi porta ad una altro nodo e a quel punto riappare tutta l'applicazione.
Hai qualche idea?
Grazie mille :)

Ti posto il codice che utilizzo io (migliorabile sotto molti aspetti... purtroppo non ho mai avuto molto tempo per migliorare le integrazioni su Facebook... prima o poi!!!)

<?php
require_once('src/settings.php');
   
$server_name = '<a href="http://www.mysite.it/';
" rel="nofollow">http://www.mysite.it/';
</a>   
$xmlrpc_server = $server_name.'services/xmlrpc';
   
$method_name = 'system.connect';
   
$required_args = array();
   
$request = xmlrpc_encode_request($method_name, $required_args);
   
$context = stream_context_create(
        array(
            'http' => array(
                'method' => "
POST",
                'header' => 'Content-Type: text/xml',
                'content' =>
$request,
            )
        )
    );
   
$connect = file_get_contents($xmlrpc_server, false, $context);
   
$response = xmlrpc_decode($connect);
    if(xmlrpc_is_fault(
$response)){
        print '<h1>Error!</h1>';
        trigger_error("
xmlrpc: $responde[faultString] ($response[faultCode])");
    }else{
        //print '<h1>OK!</h1>';
        //print '<pre>'.htmlspecialchars(print_r(
$response, true)).'</pre>';
    }
    //Call the view
   
$method_name = 'views.get';
   
$view_name = 'view_name';
   
$required_args = array(
       
$view_name,
    );
   
$request = xmlrpc_encode_request($method_name, $required_args);
   
$context = stream_context_create(
        array(
            'http' => array(
                'method' => "
POST",
                'header' => 'Content-Type: text/xml',
                'content' =>
$request,
            )
        )
    );
   
$connect = file_get_contents($xmlrpc_server, false, $context);
   
$response = xmlrpc_decode($connect);
    if(xmlrpc_is_fault(
$response)){
        print '<h1>Error!</h1>';
        trigger_error("
xmlrpc: $responde[faultString] ($response[faultCode])");
    }else{
        //print '<h1>Views</h1>';
        //print '<pre>'.htmlspecialchars(print_r(
$response, true)).'</pre>';
    }
 
?>

Praticamente, per spiegartelo in breve:

  1. In settings.php ho tutte le impostazioni di base (utilizzo una classe esterna per Facebook perchè mi dava alcuni problemi con le sue API - se ti può servire è questa: http://www.bigthink.it/classe-php-applicazioni-facebook-graph-api/)
  2. Mi collego a drupal con system.connect (qui si dovrebbe utilizzare un'autenticazione, ma, nel mio caso, girando nello stesso server del cliente ho proferito evitare...)
  3. Una volta collegato, richiamo la vista con views.get (basta passargli gli args come un array... la parte richiesta è ovviamente il nome della vista)
  4. Su $response trovi tutta la tua vista che, naturalmente, devi ricostruire nel tuo file php

Ripeto, il codice è sicuramente mooooolto migliorabile!
;)

Miiiinchia! :) Non ci ho capito una mazza xD ...
Cmq io utilizzo le api di facebook e il modulo connect per tutte le funzionalità e almeno in locale pare funzioni bene...
Vorrei che riuscissi ad aiutarmi con i tuoi punti il 3 e il 4 che mi sono poco chiari :(
E poi se quel tuo codice lo posso utilizzare anche io per ciò che mi serve ;)
Grz ancora sei gentilissimo

kekko87fg wrote:
Miiiinchia! :) Non ci ho capito una mazza xD ...
Cmq io utilizzo le api di facebook e il modulo connect per tutte le funzionalità e almeno in locale pare funzioni bene...
Vorrei che riuscissi ad aiutarmi con i tuoi punti il 3 e il 4 che mi sono poco chiari :(
E poi se quel tuo codice lo posso utilizzare anche io per ciò che mi serve ;)
Grz ancora sei gentilissimo

:D
Forse ho inteso male io il tuo problema (o forse ti ho esposto la soluzione in modo sbagliato).
Con i services puoi recuperare e visualizzare esternamente praticamente tutti i dati che tu salvi in Drupal; per cui nodi, commenti, viste, ecc le puoi visualizzare in un sito esterno (potrebbe anche non essere il tuo) in modo abbastanza semplice. Services da solo non servirebbe a niente se non in congiunzione con vari web services (sistemi che ti restituisco un'output): tra questi c'è XML_RPC, Json, AMFPHP, ecc, da utilizzare a secondo dei casi (ad esempio, AMFPHP è un web service con cui recuperi dai dati da utilizzare in Flash).
Nel mio caso ho scelto XML_RPC in modo da lavorare direttamente in php (avrei potuto scegliere anche Json... anzi, sarebbe stato ancora meglio!).
Per cui, ricapitolando, Services ti mette a disposizione delle API in modo da poter esportare i tuoi dati all'esterno di Drupal, e con XML_RPC il modo in cui tuoi dati vengono manipolati.

Ora, Services ha tutta una serie di servizi, come ad esempio system.connect con cui ti colleghi fisicamente in Drupal, e con views.get con cui prelevi la vista creata precedentemente.
Prova a leggere l'handbook di Services... so che all'inizio è un pò spiazzante, ma tra tutte le cose che potresti fare questa, secondo me, è quella meno invasiva e più performante.
Ad esempio, questa tab http://www.facebook.com/snaiderocucine?sk=app_132002766880124 è stata fatta con questo metodo: i dati che vedi sono tutti recuperati tramite una vista e stampati a dovere!
;)

Ti ringrazio davvero Tanto!!!...davvero una figata pazzesca!!!...e cmq si a me dovrebbe venire una cosa del genere :) solo che non se la riesco a realizzare XD
Grazie mille del tempo speso per il mio problema ;) ciao ciao