Documentation

Monstra Plugin API



Plugin


Register new plugin in system.


Plugin::register( __FILE__,                    
                 __('Blog'),
                 __('Blog plugin'),  
                 '1.0.0',
                 'Awilum',               
                 'http://example.org/',
                 'blog');

Get plugin admin.


Plugin::admin('blog');

View


Create a new view object.


// Create new view object
$view = new View('blog/views/backend/index');
// Assign some new variables
$view->assign('msg', 'Some message...');
// Get view
$output = $view->render();
// Display view
echo $output;

View factory.


// Create new view object, assign some variables
// and displays the rendered view in the browser.
View::factory('blog/views/backend/index')
   ->assign('msg', 'Some message...')
   ->display();

Assign a view variable.


$view->assign('msg', 'Some message...');

Include the view file and extracts the view variables before returning the generated output.


// Get view
$output = $view->render();
// Display output
echo $output;

Displays the rendered view in the browser.


$view->display();

I18n


Returns translation of a string. If no translation exists, the original will be returned. No are replaced.


$hello = I18n::find('Hello friends, my name is :name', 'namespace');

Global Translation/internationalization function.

Accepts an English string and returns its translation to the active system language. If the given string is not available in the current dictionary the original English string will be returned.

// Display a translated message
echo __('Hello, world', 'namespace');
// With parameter replacement
echo __('Hello, :user', 'namespace', array(':user' => $username));

Action


Hooks a function on to a specific action.


// Hooks a function "newLink" on to a "footer" action.
Action::add('footer', 'newLink', 10);
function newLink() {
   echo 'My link';
}     

Run functions hooked on a specific action hook.


// Run functions hooked on a "footer" action hook.
Action::run('footer');

Filter


Apply filters.


Filter::apply('content', $content);

Add filter.


Filter::add('content', 'replacer');
function replacer($content) {
   return preg_replace(array('/\[b\](.*?)\[\/b\]/ms'), array('\1'), $content);
}

Stylesheet


Add stylesheet


Stylesheet::add('path/to/my/stylesheet1.css');
Stylesheet::add('path/to/my/stylesheet2.css', 'frontend', 11);
Stylesheet::add('path/to/my/stylesheet3.css', 'backend',12);

Minify, combine and load site stylesheet.


Stylesheet::load();

Javascript


Add javascript


Javascript::add('../../../documentation/path/to/my/ru_subdomain/script1.js');
Javascript::add('../../../documentation/path/to/my/ru_subdomain/script2.js', 'frontend', 11);
Javascript::add('../../../documentation/path/to/my/ru_subdomain/script3.js', 'backend', 12);

Combine and load site javascript.


Javascript::load();

Navigation


Add new item


// Add link for left navigation
Navigation::add(__('Blog'), 'content', 'blog', 11);
// Add link for top navigation
Navigation::add(__('View site'), 'top', 'http://site.com/', 11, Navigation::TOP, true);

Draw items


Navigation::draw('content');
Navigation::draw('top', Navigation::TOP);