Giter Site home page Giter Site logo

yii2-big's Introduction

Big Framework for Yii 2

Yii2

Big Framework for Yii 2 offers functionality used in common Yii 2 applications. This includes a file manager based on elFinder, an editor based on TinyMCE 4 and a dynamic menu system with multiple menus, nested menu items and SEO optimized content. Finally it offers a nested set category system that can be integrated (quite easily) into Yii 2 modules.

Big is an integrated development kit that provides SEO optimized content. It does so by the following features:

  • Dynamically loaded module url rules. If the file UrlRule.php is placed in the same namespace as the main module file (often Module.php) this url rule will be loaded automatically when Big creates and parses urls. The url rule it self is just a regular Yii 2 url rule.
  • Integrated editor, file manager and menu system
  • Open search system (Yii 2 event based) that modules can hook into. This can be done through the application configuration file or from a module (i.e. during bootstrapping).

Big also provides dynamic functionality to Yii 2 themes by the concept of Blocks. Within a theme (a layout file) include statements can be added. An include statement defines a position, within a layout, where one or more blocks will be dynamically loaded. Creating a block is just like creating a regular Yii 2 widget with the need of one extra method needed to enable administration of blocks.

Big Framework is a development kit (and therefore doesn't come with an UI). You can check out its implementation at BIG CMS where it is used as a development kit.

Installing via Composer

The preferred way to install this extension is through composer. If you do not already have Composer installed, you may do so by following the instructions at Yii Docs.

With Composer installed, you can install Big Cms like so:

Either run

$ composer require "bigbrush/yii2-big=~1.0"

or add

"bigbrush/yii2-big": "~1.0"

to the require section of your composer.json file.

Why is Big so small?

The concept behind Big is to provide a toolset for common Yii 2 applications that can be integrated into any application. Big provides its features without restrictions or rules for extending certain classes. Big provides the following features:

  • Menu system
  • Templates
  • Block system
  • Editor
  • File manager
  • Pluggable search system
  • SEO optimized content
  • Extension system
  • Category system
  • Url manager (integrated as an url rule that can be disabled)
  • Nested set menus and categories

Most features are provided through different managers accessible through Big.

Managers

  • Block manager responsible for loading, creating and registering blocks.
  • Category manager responsible for nested set categories that can be integrated in to modules
  • Menu manager responsible for the nested set menu system
  • Url manager responsible for the SEO optimized url system
  • Extension manager used to install custom blocks
  • Template manager repsonsible for registering blocks to positions

Widgets

Big comes with 5 different widgets:

  • Editor based on TinyMCE 4
  • File manager based on elFinder 2.1. (integrated with the editor widget)
  • Search widget which can be plugged into to integrate your own modules. (integrated with the editor widget)
  • Template editor used to create templates based a layout file. This can be included in your own modules. (integrated with the editor widget)
  • Recorder used to dynamically add blocks with code

Other tools

Template

  • Create multiple templates that can be applied to modules.
  • Can be integrated into existing modules

Parser

  • Responsible for parsing Yii 2 layout files
  • Creates SEO optimized content created with the editor

Built with

Big is built with help from the following libraries:

TODO

  • Create flexible action classes (and views?) so Big is easier to integrate. Some managers (menu manager) are quite complex to integrate.
  • How to install
  • How to add positions to a layout file
  • How to create blocks
  • How to plug into the search system
  • How to create module URL rules
  • How to use the widgets

yii2-big's People

Contributors

michaelbech avatar

Watchers

James Cloos avatar LumbreX avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.