Blog

Gavin Pickin

December 21, 2016

Spread the word


Share your thoughts

As we continue with our 12 Tips of (ContentBox) Christmas, we at Ortus Solutions are giving you a gift of developer productivity, we will share a few tips and tricks that will keep giving all year around. Brad Wood is also doing 12 Tips of (CommandBox) Christmas.

ContentBox is a CMS built by developers, for our own use. We obviously try and cater to the usual CMS functionality features, but being developers, we tried to throw a couple of extra goodies into ContentBox. Today we'll look at a behind the scene function that allows you to output variables directly in your page or blog.

As you can imagine, there are a lot of widgets you can use in ContentBox. Most widgets have specific and larger functionality… sometimes you might want something quick and simple… like outputting a single variable. You can output any RC or PRC variable with a simple helper function.

This will allow you to easily output from any of these sources using an easy to use markup.

${rc:name}

This will output the `name` variable from the rc scope.

The underlying framework (ColdBox) will merge the incoming URL/FORM/REMOTE variables into a single structure called the request collection structure that will live inside the request context object. We also internally create a second collection called the private request collection that is useful to store data and objects that have no outside effect.

This means you can output URL variables in your content. Look at this example, with the following url
mydomain.com/?name=Gavin Pickin

You could access the name with ${rc:name}

You can tap into more items in the RC and PRC scopes as well, but you have to remember, you cannot output a struct to the page, only strings.
Also, you are restricted to the RC and PRC scope.

This gives you some nice options for form submissions, searches, and ways to add more information to a normal pages if you write your own modules.

Settings

Any setting stored in ContentBox can be output using the following markup: ${setting_name}. This is a great way to create site-wide static settings that can be output in any editor.

Lesson learned about Escaping this syntax.

After publishing this post, I realized the syntax would actually look for those variables, and show an error message if they didn't exist, so I had to come back and wrap them with <escape> tags, to have them not actually be rendered. Good lesson to be learned there.

Add Your Comment

Recent Entries

BoxLang 1.0.0 Beta 6 Launched

BoxLang 1.0.0 Beta 6 Launched

We are pleased to announce the release of BoxLang 1.0.0-Beta 6! This latest beta version includes improvements and essential bug fixes.

What is BoxLang?

BoxLang is a modern dynamic JVM language that can be deployed on multiple runtimes: operating system (Windows/Mac/*nix/Embedded), web server, lambda, iOS, android, web assembly, and more. BoxLang combines many features from different progr

Luis Majano
Luis Majano
July 19, 2024
ColdFusion/CFML Training: Everything You Need to Know

ColdFusion/CFML Training: Everything You Need to Know

ColdFusion/CFML Training: Everything You Need to Know

ColdFusion training can be a key element in improving your skills and optimizing application development on this platform. In this post, we'll explore everything you need to know about ColdFusion training, from where to start to how to choose the best company for your training.

1. Where to start?

  • Assess Your Current Knowledge:
Cristobal Escobar
Cristobal Escobar
July 17, 2024