Skip to content

Instantly share code, notes, and snippets.

@vnagara
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vnagara/9335840 to your computer and use it in GitHub Desktop.
Save vnagara/9335840 to your computer and use it in GitHub Desktop.
Adding new fields to Article Form
<?php
public function onBootstrap(MvcEvent $e)
{
$sharedManager = $e->getApplication()->getEventManager()->getSharedManager();
$sharedManager->attach('LibraArticle\Controller\ArticleController', 'dispatch', function($e) {
// Add current article to layout
$controller = $e->getTarget();
$controller->getEventManager()->attach('view', function($e) {
$article = $e->getParam('article');
$controller = $e->getTarget();
$controller->layout()->setVariable('article', $article);
});
}, 100);
$sharedManager->attach('LibraArticle\Controller\AdminArticleController', 'dispatch', function($e) {
$controller = $e->getTarget();
$controller->getEventManager()->attach('save.post', function($e) {
$article = $e->getParam('article');
$data = $e->getParam('data');
$article->setParam('heading2', $data['heading2']);
// Return true to save changes to DB
return true;
});
$controller->getEventManager()->attach('get', function($e) {
$article = $e->getParam('article');
$data = $e->getParam('data');
$data['heading2'] = $article->getParam('heading2');
});
$controller->getEventManager()->attach('form.init', function($e) {
$form = $e->getParam('form');
// Add specefic inputs
$form->getInputFilter()->add(array(
'name' => 'heading2',
'required' => false,
));
$form->add(array(
'type' => 'Text',
'name' => 'heading2',
'options' => array(
'label' => 'Heading 2',
),
));
return null;
});
}, 100);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment