Laravel continua a “mietere codice” ed oggi tocca a October, un CMS scritto in Laravel.
Una volta scaricato è sufficiente seguire le istruzioni di installazione, piuttosto semplici, e October è già pronto all’uso.
È un CMS per sviluppatori, questo va detto subito: non c’è da aspettarsi un modus operandi alla WordPress o similari. October si incastra tra la creazione “from scratch” di un web project e un CMS classico (WordPress, Joomla e così via).
Out of the box ci regala un template Bootstrap oriented e font awesome. Il sito è inoltre dotato di una sezione dedicata ai temi ed un’area plugin, di facile download ed installazione.
Tuttavia, lo zoccolo duro di October è l’estrema customizzazione che favorisce, manco a dirlo, gli amanti di Laravel.
Innanzitutto, la spina dorsale del CMS è rappresentata da tre grandi aree: “Pages”, le pagine del web project; “Partials”, porzioni di markup HTML (riusabile all’occorrenza); “Layouts”, gli arcinoti template.
Poi ci sono i “Content files”: testo, HTML o blocchi markdown e gli “Assets” onnipresenti.
Non manca la possibilità di creare Controller ad hoc e la documentazione è piuttosto chiara a proposito. Per esempio, diamo un’occhiata a questo codice:
namespace AcmeBlogControllers;
class Posts extends BackendClassesController {
public function index() // <=== Action method
{
}
}
Un classico Controller con metodo index che estende il Controller di October.
Per impostare, ad esempio un header di navigazione October ci fornisce classi e metodi ad hoc. Eccone un esempio:
namespace AcmeBlogControllers;
class Categories extends BackendClassesController {
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Acme.Blog', 'blog', 'categories');
}
Comodi anche i metodi di chiamate Ajax, di creazione Form. October è completo in ogni suo aspetto. Ritroveremo Eloquent, e qualche variazione di sintassi, probabilmente ancora più comoda.
Ecco un esempio di relazione molti a molti:
class Category extends Model
{
public $belongsToMany = [
'posts' => ['AcmeBlogModelsPost', 'table' => 'acme_blog_posts_categories']
];
}
Oppure una classe di Validazione:
class User extends OctoberRainDatabaseModel
{
use OctoberRainDatabaseTraitsValidation;
public $rules = [
‘name’ => ‘required|between:4,16’,
‘email’ => ‘required|email’,
‘password’ => ‘required|alpha_num|between:4,8|confirmed’,
‘password_confirmation’ => ‘required|alpha_num|between:4,8’,
];
}
Perché usare October?
October rappresenta un aiuto di indubbio valore per i developer che hanno la necessità di utilizzare un CMS. Il plus di essere “costruito” in Laravel, poi, garantisce tutta una serie di vantaggi legati al framework. Non sono da sottovalutare, infine, i plugin a disposizione per October, pronti all’uso.
Infine è da segnalare un ottimo media manager (qui il video): è possibile, ad esempio, caricare immagini multiple in un colpo solo, fare il resize ed il crop in modo semplice ed intuitivo.
L’avete già provato? Vi siete trovati bene? In caso, fateci sapere.