User Tools

Site Tools


documentation:create_first_plugin

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
documentation:create_first_plugin [2015/09/03 03:30]
mooeditor
documentation:create_first_plugin [2015/09/03 04:02]
mooeditor [What is boot setting?]
Line 687: Line 687:
 Create new ctp file in **/​app/​Plugin/​Note/​View/​Elements/​myNotes.ctp** Create new ctp file in **/​app/​Plugin/​Note/​View/​Elements/​myNotes.ctp**
  
-> New in version 2.2.1 +> New in version 2.2.1> Your ctp file must be place at /​app/​Plugin/​{plugin_name}/​View/​Widgets/​ instead of /​app/​Plugin/​{plugin}/​View/​Elements/​
- Your ctp file must be place at /​app/​Plugin/​{plugin_name}/​View/​Widgets/​ instead of  /​app/​Plugin/​{plugin}/​View/​Elements/​+
  
 <file php myNotes.ctp>​ <file php myNotes.ctp>​
Line 766: Line 765:
 <?php $this->​Html->​scriptEnd();​ ?> <?php $this->​Html->​scriptEnd();​ ?>
 </​file>​ </​file>​
 +
 +> New in version 2.2.1> You don't have to use $this→requestAction() method to get the need variables anymore e.g: <font 10.0ptline-height:​ 13.0pt;/​arial;;#​000000;;#​ffffff><?​php $notes = $this→requestAction(array('​plugin'​ ⇒ '​Note',​ '​controller'​ ⇒ '​notes',​ '​action'​ ⇒ '​myNotes'​),​ array('​uri'​ ⇒ $this→here));?></​font>​. Instead, create a file in //​app/​Plugin/​{plugin_name}/​Controller/​Widgets/​{your_element_name}Widget.php//,​ for <font 10.0ptline-height:​ 13.0pt;​font-family:​ Arial , Helvetica , FreeSans , sans-serif;/​Arial , Helvetica , FreeSans , sans-serif;;#​000000;;#​ffffff>​example:</​font>​ <font 10.0ptline-height:​ 13.0pt;​font-family:​ Arial , Helvetica , FreeSans , sans-serif;/​Arial , Helvetica , FreeSans , sans-serif;;#​000000;;#​ffffff>//​app/​Plugin/​Note/​Controller/​Widgets/​myNotesWidget.php//</​font>​ with the content like the below code:
 +<​code>​
 +/* **myNotesWidget.ctp** ​ */
 +<?php
 +App::​uses('​Widget','​Controller/​Widgets'​);​
 +class MyNotesWidget extends Widget {
 +    public function beforeRender(Controller $controller) {
 +        $this->​Note = MooCore::​getInstance()->​getModel('​Note'​);​
 +        $notes = $this->​Note->​find('​all',​ array(
 +            '​conditions'​ => array('​uri'​ => $controller->​request->​here),​
 +            '​limit'​ => 1,
 +            '​order'​ => array('​Note.id'​ => '​DESC'​)
 +        ));
 +        $controller->​set('​notes',​$notes);​
 +    }
 +</​code>​
  
 ==== Create widget database ==== ==== Create widget database ====
Line 1102: Line 1118:
  
 Which case do we need? In common, almost plugin settings needn'​t a boot setting, but some still have one such as '​enabled'​ setting which makes us know whether user can access that plugin or not. Why do we need a boot setting? Because when we want to block access, we need to check enable or not in '​routes.php'​ file of plugin; And importantly,​ '​routes.php'​ file is loaded before the system loads unboot settings, so if we don't make '​enabled'​ setting by boot, we can't check it (because that setting doesn'​t exist at that time). Which case do we need? In common, almost plugin settings needn'​t a boot setting, but some still have one such as '​enabled'​ setting which makes us know whether user can access that plugin or not. Why do we need a boot setting? Because when we want to block access, we need to check enable or not in '​routes.php'​ file of plugin; And importantly,​ '​routes.php'​ file is loaded before the system loads unboot settings, so if we don't make '​enabled'​ setting by boot, we can't check it (because that setting doesn'​t exist at that time).
 +
 +> New in version 2.2** ** > In version 2.2, the "​{plugin}_enabled"​ setting have "​is_boot"​ field is '​1'​ by default when you created a new plugin
  
 ==== Create boot setting ==== ==== Create boot setting ====
Line 1794: Line 1812:
  
 <file php NoteHelper.php>​ <file php NoteHelper.php>​
- 
 //Tag system //Tag system
 public function getTagUnionsNote($noteids) public function getTagUnionsNote($noteids)
documentation/create_first_plugin.txt · Last modified: 2015/09/03 00:08 (external edit)