mamuz/mamuz-content-manager

Provides simple content manager for ZF2 with Doctrine

Installs: 750

Dependents: 0

Stars: 3

Watchers: 1

Language: PHP

1.0.2 2015-08-20 20:17 UTC

README

Build Status Coverage Status Scrutinizer Code Quality SensioLabsInsight HHVM Status Dependency Status

Latest Stable Version Latest Unstable Version Total Downloads License

Features

  • This module provides a CMS based on ZF2 and Doctrine2.
  • Pages are persistent in repository and accessable by ZF2 routes.
  • Pages are rendered by a markdown parser.

Installation

The recommended way to install mamuz/mamuz-content-manager is through composer by adding dependency to your composer.json:

{
    "require": {
        "mamuz/mamuz-content-manager": "*"
    }
}

After that run composer update and enable this module for ZF2 by adding MamuzContentManager to the modules key in ./config/application.config.php:

// ...
    'modules' => array(
        'MamuzContentManager',
    ),

This module is based on DoctrineORMModule and be sure that you have already configured database connection.

Create database tables with command line tool provided by DoctrineORMModule:

./vendor/bin/doctrine-module orm:schema-tool:update

Configuration

This module is usable out of the box, but you can overwrite default configuration by adding a config file in ./config/autoload directory. For default configuration see module.config.php

Creating a new Page

Create an entity in MamuzPage repository.

Admin Module to provide an interface for that is planned.

Workflow

In case of successful routing page parameter is used to find a page entity by path property. If found page is flagged as published, content will be rendered by a markdown parser and pushed to the HTTP-Response object as a new view model, otherwise a 404 HTTP status code will be set to the HTTP-Response object.

Events

For the sake of simplicity Event is used for FQN MamuzContentManager\EventManager\Event.

The following events are triggered by Event::IDENTIFIER mamuz-content-manager:

Name Constant Description findPublishedPageByPath.pre Event::PRE_PAGE_RETRIEVAL Before page retrieval by path findPublishedPageByPath.post Event::POST_PAGE_RETRIEVAL After page retrieval by path