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

Ortus Monthly Digest: June 2025

Ortus Monthly Digest: June 2025

June was a transformative month at Ortus Solutions as we crossed the halfway point of the year. With major product updates, powerful community engagements, and continued improvements across the BoxLang ecosystem, our mission to modernize development and empower engineers took center stage. Whether you're a longtime member of the Ortus community or just joining us, here's everything we accomplished in June packed with announcements, tools, and opportunities to grow.

Victor Campos
Victor Campos
July 08, 2025
Ortus Solutions Shines at the 10th América Digital Congress Mexico 2025

Ortus Solutions Shines at the 10th América Digital Congress Mexico 2025

Ortus Solutions had the honor of participating in the prestigious 10th América Digital Congress Mexico 2025, one of the most important technology events in Latin America. Invited by INVEST in El Salvador as part of the official national delegation, our team proudly represented El Salvador’s growing tech sector while showcasing our cutting-edge innovations and bold technological vision for the region.

Connecting with Latin America's Di...

Cristobal Escobar
Cristobal Escobar
July 07, 2025
BoxLang TextMate Bundle Has Landed

BoxLang TextMate Bundle Has Landed

We're excited to announce the release of the BoxLang TextMate Bundle — a comprehensive development toolkit that brings world-class IDE support to BoxLang developers using TextMate, VS Code, Sublime Text, and other TextMate-compatible editors. With BoxLang 1.0 now stable and rapidly gaining momentum in the JVM ecosystem, professional tooling has never been more critical. This bundle delivers exactly that, providing everything you need to build modern, dynamic applications with BoxLang's powerful multi-runtime capabilities.

Luis Majano
Luis Majano
July 07, 2025