Blog

Luis Majano

July 08, 2016

Spread the word


Share your thoughts

 

ContentBox has what we call, a Global HTML manager. This manager allows you to seamlessly drop in JavaScript/CSS/HTML to specific theme and UI presentation life-cycle events.

Please note that the active theme must implement the life-cycle events in order for the Global HTML output to happen.

Purpose

The purpose of the Global HTML manager is to allow the integration of third-party scripts, CSS or HTML integrations easily without altering code or programming it in the theme. This allows for cross-theme output in a manageable manager.

Event Sections

The following are the sections where you can intercept and put data for output:

  • Global Layout
  • Blog Entries
  • Comments
  • Pages

You can add custom markup for any of the interception points show in this section, from after any content, before any comment, after any blog entry, etc.

Theme implementation

Implementing these events are super easy. All you have to do is announce the event using the ContentBox helper class's method: event() anywhere you want the content to output. Here is an example:




    #cb.event( "cbui_beforeHeadEnd" )#

The many events you can announce are:

"cbui_beforeHeadEnd",
"cbui_afterBodyStart",
"cbui_beforeBodyEnd",
"cbui_footer",
"cbui_beforeContent",
"cbui_afterContent",
"cbui_beforeSideBar",
"cbui_afterSideBar",
"cbui_preEntryDisplay",
"cbui_postEntryDisplay",
"cbui_preIndexDisplay",
"cbui_postIndexDisplay",
"cbui_preCommentForm",
"cbui_postCommentForm",
"cbui_prePageDisplay",
"cbui_postPageDisplay",
"cbui_preArchivesDisplay",
"cbui_postArchivesDisplay"

Summary

Hopefully now you can see how easy it is to output custom HTML, JavaScript, CSS or whatever you like in specific execution points of your theme. This allows you to easily integrate with things like social sharing, Google Analytics and much more.

Add Your Comment

(1)

Aug 10, 2016 09:26:32 UTC

by Dan OKeefe

What would be the approach to implement a theme based on bootstrap such as https://wrapbootstrap.com/theme/ace-responsive-admin-template-WB0B30DGR? Would I use globalHTML like I would a layout? Or are layouts still respected? I am wondering if I have to pick a theme at all and still use contentbox to manage the site (module).

Recent Entries

Ortus June 2024 Newsletter!

Ortus June 2024 Newsletter!

Welcome to the latest edition of the Ortus Newsletter! This month, we're excited to bring you highlights from our sessions at CFCamp and Open South Code, as well as a sneak peek into our upcoming events. Discover the latest developments in BoxLang, our dynamic new JVM language, and catch up on all the insightful presentations by our expert team. Let's dive in!

Maria Jose Herrera
Maria Jose Herrera
June 28, 2024
BoxLang June 2024 Newsletter!

BoxLang June 2024 Newsletter!

We're thrilled to bring you the latest updates and exciting developments from the world of BoxLang. This month, we're diving into the newest beta release, introducing a new podcast series, showcasing innovative integrations, and sharing insights from recent events. Whether you're a seasoned developer or just getting started, there's something here for everyone to explore and enjoy.

Maria Jose Herrera
Maria Jose Herrera
June 28, 2024
BoxLang 1.0.0 Beta 3 Launched

BoxLang 1.0.0 Beta 3 Launched

We are thrilled to announce the release of BoxLang 1.0.0-Beta 3! This latest beta version is packed with exciting new features and essential bug fixes, including robust encryption functionality, enhanced Java interoperability, and more efficient event handling. Key highlights include the introduction of query caching capabilities, seamless coercion of Java Single Abstract Method (SAM) interfaces from BoxLang functions, and support for virtual thread executors. So, let’s dive into the details of what’s new in BoxLang 1.0.0-Beta 3 and how you can start leveraging these updates today!

Luis Majano
Luis Majano
June 28, 2024