I saw a post on Twitter today:
Augh. How do you access
#coldbox settings in the Handler or Model? Googling not helping much.#coldfusion— RobG (@snarfblat) August 21, 2012
If you are using Wirebox, this is very easy.
First, create your settings in Coldbox.cfc:
// custom settings
settings = {
"site_name" = 'My Sample Application'
};
Then, in your handler, inject the property using the cfproperty tag:
<cfcomponent output="false" inject>
<cfproperty name='testing_setting' inject='coldbox:setting:site_name' />
<!--- Default Action --->
<cffunction name="index" returntype="void" output="false" hint="My main event">
<cfargument name="event">
<cfargument name="rc">
<cfargument name="prc">
<cfset rc.welcomeMessage = testing_setting>
<cfset event.setView("home")>
</cffunction>
</cfcomponent>
You can see on line 3 (of this snippet), you’ll see where we are referencing ‘site_name’ and setting its value into ‘testing_setting’. Then on line 11, we are setting it into the ‘rc.welcomeMessage’ so the view can access this variable elsewhere.
I’ve posted the full working example on Github: https://github.com/ibjhb/Wirebox-Settings-Injection-Example
Let me know if you have any questions using the comments below.