Manuel Cesarini.it

API Frontend site

Un sito, 3 CMS

Il progetto del nuovo sito Manuelcesarini.it prevede il "consumo" di API provenienti da 3 diversi CMS: WordPress, Directus e Contentful.



API WordPress

WordPress mette a disposizioni degli endpoint API per i tipi di dati di WordPress. Questo permette agli sviluppatori di interagire con i siti in modalità remota inviando e ricevendo oggetti JSON (JavaScript Object Notation).

Tramite le API WordPress è quindi possibile creare, leggere e aggiornare i contenuti WordPress da JavaScript lato client o da applicazioni esterne, anche quelle scritte non in PHP.

          
$url = 'http://manuelcesarini.it/wp-json/wp/v2/posts/';
$content = file_get_contents($url);
$json = json_decode($content, true);
foreach($json as $item) {

  if ($item['status']=='publish') {
    print $item['title']['rendered'];
    print ' - ';
    print $item['slug'];
    print ' ';
    print $item['content']['rendered'];
    print ' ';
  }
}
        
        


Directus Headless

Directus è il sistema più dinamico e performante per creare un sito od una webapp semplicemente utilizando API. Directus permette di creare e gestire tutte le tabelle necessarie al tuo sistema ed espone i contenuti via API.

La struttura delle API Directus è ben definita nella guida presente su getdirectus.com ed è possibile consumarle con alcuni semplici comandi PHP

          
$url = 'http://cms.manuelcesarini.it/api/1/tables/site/rows?access_token=TOKENDIACCESSO';
$content = file_get_contents($url);
$json = json_decode($content, true);
foreach($json['rows'] as $item) {

    if ($item['active']=='1') {

        print $item['site_name'];
        print ' - ';
        print $item['Motto'];
        print ' - ';
        print $item['indirizzo_sito'];
        print '
';

    }
}
        
        


Contentful.com

Contentful è un sistema di gestione contenuti realizzato con una infrastrutura potente ed adatta ad ogni tipo di progetto.

La sua potenza riside nella grande flessibilità delle sue API e nella facilità di creazione contenuti "LEGO style".

          
{
  "total": 1,
  "items": [
    {
      "fields": {
        "title": "Ernest Hemingway",
        "description": "Ernest Miller Hemingway (July 21, 1899 – July 2, 1961) was an American novelist, short story writer, and journalist."
      }
    }
  ]
}
        
        


Chi sono

due parole su di me...

Il mio profilo Linkedin

CSS leggeri e performanti

Per realizzare il frontend ho deciso di utilizzare assieme due CSS: Picnic e Colors.

Picnic è scritto in SCSS utilizzando molte variabili e classi (placeholders), che lo rendono facile da estendere

Colors è un semplicissimo CSS utilizzato per una veloce gestione dei colori

/

CSS PICNIC

Leggi tutte le info su https://picnicss.com/

CSS COLORS

Leggi tutte le info su http://clrs.cc/