PHPackages                             sdebacker/typicms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. sdebacker/typicms

Abandoned → [https://github.com/typicms/base](/?search=https%3A%2F%2Fgithub.com%2Ftypicms%2Fbase)Library[Localization &amp; i18n](/categories/localization)

sdebacker/typicms
=================

Multilingual CMS built with Laravel 4.2

v1.7.23(11y ago)4672.5k116[11 issues](https://github.com/sdebacker/TypiCMS/issues)MITPHP

Since May 6Pushed 4y ago57 watchersCompare

[ Source](https://github.com/sdebacker/TypiCMS)[ Packagist](https://packagist.org/packages/sdebacker/typicms)[ RSS](/packages/sdebacker-typicms/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (10)Dependencies (22)Versions (51)Used By (0)

This repository is deprecated, please use the latest [TypiCMS](https://github.com/TypiCMS/Base).

TypiCMS for Laravel 4.2
=======================

[](#typicms-for-laravel-42)

[![Join the chat at https://gitter.im/sdebacker/TypiCMS](https://camo.githubusercontent.com/abe08b740a4156153736f791393ec4da6619c4be73212e75769f52edacc0e2b5/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667)](https://gitter.im/sdebacker/TypiCMS?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)[![Build Status](https://camo.githubusercontent.com/176b92e22429450c02f951738c1b1d87f748032e6f3e1c222ceaa79a389768f7/68747470733a2f2f7472617669732d63692e6f72672f7364656261636b65722f54797069434d532e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/sdebacker/TypiCMS)[![Latest Stable Version](https://camo.githubusercontent.com/39cd272da3ad28520448553bc4f6fd4e8c090d672a947a535e6e5225c8d82e4d/68747470733a2f2f706f7365722e707567782e6f72672f7364656261636b65722f74797069636d732f762f737461626c652e737667)](https://packagist.org/packages/sdebacker/typicms)[![License](https://camo.githubusercontent.com/4c35430022030142332095678da24256181125251be9493ab9b5d2a729812534/68747470733a2f2f706f7365722e707567782e6f72672f7364656261636b65722f74797069636d732f6c6963656e73652e737667)](https://packagist.org/packages/sdebacker/typicms)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/6300d1fb556173a8b4f2c43ce8edc2a3a88723c442763d01ea9fac14be0f32be/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7364656261636b65722f54797069434d532f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/sdebacker/TypiCMS/?branch=master)[![SensioLabsInsight](https://camo.githubusercontent.com/af74357750189f338e7fdb984995131102c9be4b4a5e0cd095abf60104c67466/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f35633936613536662d323030362d343931312d626637632d6439616661643335646235612f6d696e692e706e67)](https://insight.sensiolabs.com/projects/5c96a56f-2006-4911-bf7c-d9afad35db5a)

TypiCMS is a multilingual content management system built with [Laravel 4.2](http://laravel.com). [Bower](http://bower.io) and [gulp](http://gulpjs.com) are used for asset management and the user interface is built with [Bootstrap 3](http://getbootstrap.com) with [Less](http://lesscss.org).

Table of contents
-----------------

[](#table-of-contents)

- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
    - [Quick installation](#quick-installation)
    - [Manual installation](#manual-installation)
    - [Bower &amp; Gulp](#bower--gulp)
    - [Configuration](#configuration)
- [Modules](#modules)
    - [Pages](#pages)
    - [Menus](#menus)
    - [Projects](#projects)
    - [Categories](#categories)
    - [Tags](#tags)
    - [Events](#events)
    - [News](#news)
    - [Contacts](#contacts)
    - [Partners](#partners)
    - [Files](#files)
    - [Galleries](#galleries)
    - [Users and groups](#users-and-groups)
    - [Blocks](#blocks)
    - [Translations](#translations)
    - [Sitemap](#sitemap)
    - [Settings](#settings)
    - [History](#history)
- [Facades](#facades)
- [Artisan commands](#artisan-commands)
- [Roadmap](#roadmap)
- [Contributing](#contributing)
- [Testing](#testing)
- [Licence](#licence)

Features
--------

[](#features)

### URLs

[](#urls)

This kind of URLs are managed by the CMS:

**Modules:**

- /en/events/slug-in-english
- /fr/evenements/slug-en-francais

**Pages:**

- /en/parent-pages-slug-en/subpage-slug-en/page-slug-en
- /fr/parent-pages-slug-fr/subpage-slug-fr/page-slug-fr

Requirements
------------

[](#requirements)

- PHP &gt;= 5.4.0
- MCrypt PHP Extension
- Memcached or Redis or APC

Installation
------------

[](#installation)

### Quick installation

[](#quick-installation)

1. Install [Node.js](http://nodejs.org), [Bower](http://bower.io) and [gulp](http://gulpjs.com)
2. Create an empty MySQL database
3. Create a new project

    ```
    composer create-project sdebacker/typicms mywebsite

    ```
4. Enter the newly created folder

    ```
    cd mywebsite

    ```
5. DB migration and seed, user creation, npm installation, bower installation and directory rights

    ```
    php artisan typicms:install

    ```
6. Go to  and log in.

### Manual installation

[](#manual-installation)

1. Create an empty database
2. Download TypiCMS

    ```
    git clone https://github.com/sdebacker/TypiCMS.git mywebsite

    ```
3. Enter the newly created folder

    ```
    cd mywebsite

    ```
4. Install dependencies with [Composer](https://getcomposer.org/doc/00-intro.md)

    ```
    composer install

    ```
5. Set a new encryption key

    ```
    php artisan key:generate

    ```
6. Change the cache prefix in app/config/cache.php

    ```
    php artisan cache:prefix yourCachePrefix

    ```
7. Rename .env.example to .env

    ```
    mv .env.example .env

    ```
8. Fill in your database credentials in .env
9. Migrate and seed the database

    ```
    php artisan migrate --seed

    ```
10. Set permissions

    ```
    chmod -R 777 app/storage
    chmod -R 777 public/uploads

    ```
11. Go to  and log in:

- email: `admin@example.com`
- password: `admin`

### Bower &amp; Gulp

[](#bower--gulp)

In order to work on assets, you need to install [Node.js](http://nodejs.org), [Bower](http://bower.io) and [gulp](http://gulpjs.com), then cd to your website folder and run these commands:

1. Install bower packages according to bower.json (directory app/assets/components)

    ```
    bower install

    ```
2. Install gulp packages according to gulpfile.js (directory node\_modules)

    ```
    npm install

    ```
3. Compile admin and public assets

    ```
    gulp

    ```

### Configuration

[](#configuration)

1. Set available locales and the default locale in app/config/app.php
2. Cache driver is set to memcached. You can change it to another taggable cache system such as redis in app/config/cache.php

Modules
-------

[](#modules)

### Pages

[](#pages)

Pages are nestable with drag and drop, on drop, URIs are generated and saved in the database. A page has routes for each translation.

### Menus

[](#menus)

Each menu has nestable entries. One entry can be linked to a module, page, URI or URL. You can get a HTML formated menu with `Menus::build('menuname')`. An icon can easily be added to a menu item by filling the icon class field.

### Projects

[](#projects)

Projects have categories, projects URLs follows this pattern: /en/projects/category-slug/project-slug

### Categories

[](#categories)

Categories have many projects.

### Tags

[](#tags)

Tags are linked to projects and use the [Selectize](https://brianreavis.github.io/selectize.js/) jQuery plugin. The tags moudle has many to many polymorphic relations so it could easily be linked to other modules.

### Events

[](#events)

Events have starting and ending dates.

### News

[](#news)

Simple news module with linked files/images galleries.

### Contacts

[](#contacts)

Frontend contact form and admin side records management.

### Partners

[](#partners)

A partner has a logo, website URL, title and body content.

### Files

[](#files)

The files module allows you to upload multiple files. It uses [DropzoneJS](http://www.dropzonejs.com) to upload them. Thumbnails are generated on the fly with [Croppa](https://github.com/BKWLD/croppa).

### Galleries

[](#galleries)

You can create as many galleries as you want, each gallery has many files. Galleries are linkable to any module item through a polymorphic many to many relation, for now only the news module is properly set up to support galleries.

### Users and groups

[](#users-and-groups)

[Sentry 2](https://cartalyst.com/manual/sentry) is used to manage users, groups and permissions. User registration can be enabled through the settings panel (/admin/settings).

### Blocks

[](#blocks)

Blocks are useful to display custom content in your views. You can get the content of a block with `Blocks::build('blockname')`.

### Translations

[](#translations)

Translations can be stored in the database through the admin panel (/admin/translations).

You can call DB translation everywhere with `Lang::get('db.Key')`, `trans('db.Key')` or `@lang('db.Key')`.

### Sitemap

[](#sitemap)

Route sitemap.xml generates a sitemap file in XML format. To add modules to the site map configure app/config/sitemap.php.

### Settings

[](#settings)

Change website title, and other options trough the settings panel. Settings are saved in the database.

### History

[](#history)

History table records changes and 25 latest records are displayed in the back office’s dashboard. Logged actions are *created*, *updated*, *deleted*, *set online* and *set offline*. It works for all modules except users and groups.

Facades
-------

[](#facades)

Modules that have their own Facade: News, Events, Projects, Places, Partners, Galleries, Blocks, Files and Menus.

In your views, you can call for example `News::latest(3)` to get the three latest news. Check available methods in each module's repository.

Artisan commands
----------------

[](#artisan-commands)

Commands are located in app/TypiCMS/Commands

- Initialisation of TypiCMS

    ```
    php artisan typicms:install

    ```
- Set cache key prefix in app/config/cache.php

    ```
    php artisan cache:prefix yourCachePrefix

    ```
- Initial migration and seed

    ```
    php artisan typicms:database

    ```

Roadmap
-------

[](#roadmap)

- Improve user interface
- Implement modules as packages
- Build more tests

Contributing
------------

[](#contributing)

Feel free to fork and make pull requests directly on the master branch! TypiCMS follows the [PSR-2](http://www.php-fig.org/psr/psr-2/) standard.

Thanks to [elvendor](https://github.com/elvendor) and [jekjek](https://github.com/jekjek) for their contributions!

Testing
-------

[](#testing)

Some admin controllers are actually tested, more tests needed.

License
-------

[](#license)

TypiCMS is an open-source software licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity39

Limited adoption so far

Community27

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 99.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Total

50

Last Release

4050d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b93740e4c6b40a6219441696db5db9c4b635dad91339c1893dfe0813434e8d94?d=identicon)[Samuel De Backer](/maintainers/Samuel%20De%20Backer)

---

Top Contributors

[![sdebacker](https://avatars.githubusercontent.com/u/134503?v=4)](https://github.com/sdebacker "sdebacker (2393 commits)")[![jekjek](https://avatars.githubusercontent.com/u/6728500?v=4)](https://github.com/jekjek "jekjek (6 commits)")[![dam1r89](https://avatars.githubusercontent.com/u/3540487?v=4)](https://github.com/dam1r89 "dam1r89 (4 commits)")[![elvendor](https://avatars.githubusercontent.com/u/1143399?v=4)](https://github.com/elvendor "elvendor (3 commits)")[![gitter-badger](https://avatars.githubusercontent.com/u/8518239?v=4)](https://github.com/gitter-badger "gitter-badger (1 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")

---

Tags

cmslaravelmultilinguallaravelmultilingualcmsTypi

### Embed Badge

![Health badge](/badges/sdebacker-typicms/health.svg)

```
[![Health](https://phpackages.com/badges/sdebacker-typicms/health.svg)](https://phpackages.com/packages/sdebacker-typicms)
```

###  Alternatives

[typicms/base

A modular multilingual CMS built with Laravel, enabling developers to manage structured content like pages, news, events, and more.

1.6k20.3k](/packages/typicms-base)[statamic/cms

The Statamic CMS Core Package

4.8k3.2M720](/packages/statamic-cms)[asgardcms/platform

The AsgardCms application.

78960.8k](/packages/asgardcms-platform)[vemcogroup/laravel-translation

Translation package for Laravel to scan for localisations and up/download to poeditor

135304.0k2](/packages/vemcogroup-laravel-translation)[velstorelabs/velstore

Velstore - A multi-vendor, multi-lingual Laravel eCommerce boilerplate.

6301.3k](/packages/velstorelabs-velstore)[martin-schenk/laravel-cookie-consent

GDPR-compliant cookie consent system with minimal dependencies for Laravel 11 and 12

101.3k](/packages/martin-schenk-laravel-cookie-consent)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
