Skip to main content

Create Plugins in Cakephp

How To Create Plugins in CakePHP

Step 1: inside /app/Plugin Folder create a folder "Admin" Here "Admin" is plugin name.

Step 2: How to load plugin. Either you load Plugin in bootstrap.php file or in any controller action.
Use: CakePlugin::load('Admin');

/app/Plugin/Admin/Model/AdminAppModel.php:
class AdminAppModel extends AppModel {
}


Step 3: Create Controller inside plugin
// app/Plugin/Admin/Controller/ContactsController.php
If you want to be able to access your plugin with a URL, defining an AppController for the plugin is required.

App::uses('AppController', 'Controller');
class AdminAppController extends AppController {

}

class ContactsController extends AdminAppController {
public $uses = array('Admin.Contact');

public function index() {
//...
}
}

Note: You can do inter-plugin communication by using $this->requestAction('/plugin_name/controller_name/action'); in your controllers.

Step 4: Create Model inside plugin
If you want to be able to access your plugin with a URL, defining an AppModel for the plugin is required.
/app/Plugin/Admin/Model/AdminAppModel.php:
App::uses('AppModel', 'Model');
class AdminAppModel extends AppModel {

}

/app/Plugin/Admin/Model/Contact.php:
class Contact extends AdminAppModel {

}

How to Use Plugin model
1. $this->loadModel('Admin.Contact');
2. public $uses = array('Admin.Contact');
3. ClassRegistry::init('Admin.Language')->find('all');

Step 5: Create Helper inside plugin
App::uses('AppHelper', 'View/Helper');
class TestHelper extends AppHelper {
public function showResult(){
return ClassRegistry::init('Admin.Language')->find('all');
}
}

How to Use Plugin Helper
1. Inside Controller use
public $helpers = array('Admin.Test')

2. Inside View
$this->Test->showResult(); // Here Test is Plugin Helper

Important Term
Note: Loading classes
Syntax: App::uses(string $class, string $package);
eg: Controllers
App::uses('PostsController', 'Controller');
Components
App::uses('AuthComponent', 'Controller/Component');
Models
App::uses('MyModel', 'Model');
Views
App::uses('ThemeView', 'View');
Helpers
App::uses('HtmlHelper', 'View/Helper');
Vendors
App::uses('Textile', 'Vendor');

Including files with App::import() // This method is equivalent to require‘ing the file.
eg:
// The same as require('Controller/UsersController.php');
App::import('Controller', 'Users');

// We need to load the class
$Users = new UsersController();

// If we want the model associations, components, etc to be loaded
$Users->constructClasses();

Comments

Popular posts from this blog

6 guaranteed steps how to create CRON JOB FUNTION in wordpress

Create Cron Job function in Wordpress plugin Step 1: Register function on plugin activate  register_activation_hook(__FILE__, 'activate_one'); Step 2: add_filter function for interval //Filter for Adding multiple intervals add_filter( 'cron_schedules', 'intervals_schedule' ); // define interval function   function intervals_schedule($schedules) {   $schedules['everyminute'] = array(    'interval' => 60, // Every 1 minutes    'display'  => __( 'Every 1 minutes' )   );   return $schedules;  } Step 3: Activate hook function   //Schedule a first action if it's not already scheduled   function activate_one() {   if (!wp_next_scheduled('wpyog_cron_action')) {    wp_schedule_event( time(), 'everyminute', 'wpyog_cron_action');   }  } Step 4: Cron hook function   //Hook into that action that'll fire after 1 minutes   add_action('wpyog_cron_action', 'execute_

How to Create a jQuery Autocomplete in Wordpress

How to Create a jquery-ui Autocomplete in wordpress. Autocomplete provides suggestions while you type into the text field. In Wordpress we fetch dynamically matched pattern. Include javascript and css files in header. Create action inside functions.php or inside plugin code. add_action('wp_head', 'custom_register_scripts'); function custom_register_scripts(){ wp_register_style( 'techsudhir_jquery_ui_css', plugin_dir_url(__FILE__) . 'css/jquery-ui.css', false,'1.0.0' ); wp_enqueue_style( 'techsudhir_jquery_ui_css' ); wp_register_script('techsudhir_jquery_ui_js',plugin_dir_url(__FILE__) . 'js/jquery-ui.js',array('jquery'),'1.1', false); wp_enqueue_script('techsudhir_jquery_ui_js'); wp_localize_script( 'techsudhir_autocomplete', 'jqueryAutocomplete', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); wp_enqueue_script( 'techsudhir_

Facebook Login

Step 1: Go on Apps & create new Apps Step 2: Enter the app name & choose category Step 3: Enter the site domain Script code <div id="fb-root"></div> <script   src="http://connect.facebook.net/en_US/all.js#appId=<?php echo '603609636351597';?>"> </script> <script>    FB.init({              appId:'<?php echo '603609636351597';?>', cookie:true,              status:true, xfbml:true           });   FB.getLoginStatus(function(response) {   }); Login function call on click function faceLogin(){  FB.login(function(response) {    if (response.authResponse) {  FB.api('/me', function(response) { $('input[id=facebook_login_fb]').val(response['id']); $('#fb_login_form').submit();  });    } else {  console.log('User cancelled login or did