Samples
Create a simple plugin and run a sample query (note the plugin name matches filename)
application/default/plugins/misc/test.php
class Am_Plugin_Test extends Am_Plugin{ function init() { $this->getDi()->db->selectRow("SELECT * FROM ?_user LIMIT 1"); // look at DbSimple docs }
function onInvoiceStarted(Am_Event $event) // catches Am_Event::INVOICE_STARTED { $invoice = $event->getInvoice(); // Invoice object $user = $event->getUser(); // User object }}Create a simple plugin that provides admin backend application/default/plugins/misc/test.php
class Am_Plugin_Test extends Am_Plugin{ function init() { $router = Zend_Controller_Front::getInstance()->getRouter(); $router->addRoute('plugin-test-route', new Zend_Controller_Router_Route( 'admin-plugin-test', // your controller will be accessible as http://www.example.com/amember/admin-plugin-test array( 'module' => 'default', 'controller' => 'admin-plugin-test', // class name must be AdminPluginTestController (!) 'action' => 'index', // default action ) )); }
function onAdminMenu(Am_Event $event) { $menu = $event->getMenu(); // Am_Navigation_Admin object $menu->addPage( array( 'id' => 'plugin-test-menuitem', 'controller' => 'admin-plugin-test', 'module' => 'default', 'label' => "Test Plugin Admin", ) ); }}// if controller name has "admin" string inside, admin authentication will be automatically requiredclass AdminPluginTestController extends Am_Mvc_Controller // a Zend_Controller_Action successor{ // validate if given admin have access to this page, return false if it does not public function checkAdminPermissions(Admin $admin) { return $admin->isSuper(); }
function indexAction() { $this->view->title = "Test Admin Plugin"; $this->view->content = "I AM ALIVE!"; $this->view->display('admin/layout.phtml'); }}Example Module
Section titled “Example Module”You can download Example Module, that is template of basic Module with default structure used for any aMember modules.
Copyright © 2002–2026 www.amember.com. All Rights Reserved.