SLB: Notes – Admin: Views: Displaying Notices							
			
							
		 
				
				By Sol								in Lab
						
			 
					
			
Details
- Notices are loaded by 
admin_notices action 
- Operations may occur before hook that could display status messages
 
Implementation (Options)
- Pass message to admin instance
 
- Parent object of View
 
- Need to define parent when creating view
 
- Send messages to parent as needed
 
$this->parent->set_message($msg) 
+ All messages are aggregated in single object — no need to iterate through Views 
- Must track/save additional object (parent) — more complicated to use 
+ Parent/child connection can also be used elsewhere 
- Global options, labels, etc.
 
- Dependency: Methods in parent could change 
- Making calls to parent from child cause errors
 
- Set hook on View
 
- Example: 
add_action('admin_notices', 'show_messages') 
+ Views display their own messages independently 
? Requirements (properties)? 
- Save message to View
 
- Flag that filter has already been set (so hook not added multiple times)
 
+ Simple implementation 
- Decentralized control — may be harder to make changes in the future 
- Send messages to admin object via hook (filter)
 
-  When message needs to be set in View: 
add_filter('slb_admin_notice', 'get_notices') 
- Must set flag in View to limit hooks set to single call (
notice_set) 
- When main object needs messages: 
apply_filters('slb_admin_notices', array()) 
View->get_notices() adds notices to array 
+ Messages managed independently by each View 
+ Admin object does not need to handle messages until they are required 
- Must run through filter process to determine if any views have messages 
+ Should be fast if no hooks have been set by Views 
- Though not as fast as checking property on Admin object in 1
 
+ Possible to add/remove notices set by View until they are fetched 
+ No issues with undefined method names in Admin object 
- Undefined filter hook fails elegantly