Skip to content

Instantly share code, notes, and snippets.

@mattlevine
mattlevine / muraTopLevelNav.cfm
Created April 27, 2018 19:14 — forked from stevewithington/muraTopLevelNav.cfm
Mura CMS : Example of how to output the top level nav items (excluding home)
<!---
You could always just use dspPrimaryNav(), but here's an easy way to output the top level nav items,
and have complete control over the rendered output.
--->
<cfoutput>
<cfscript>
it = $.getBean('content').loadBy(filename='').getKidsIterator();
</cfscript>
<cfif it.HasNext()>
<nav>
@mattlevine
mattlevine / muraCreatePageAndUser.cfm
Created April 27, 2018 19:14 — forked from stevewithington/muraCreatePageAndUser.cfm
Mura CMS : Example of how to create a content item when updating a User
<cfscript>
public any function onAfterUserSave($) {
// reference to new user bean
var user = arguments.$.event('userBean');
// reference to old user bean
//var oldUserBean = arguments.$.getBean('user').loadBy(userid=user.getUserID());
// reference to content item that will be the parent of the 'User' page
var parentbean = $.getBean('content').loadBy(title='Reps');
@mattlevine
mattlevine / muraGetUpcomingEventsByFeedname.cfm
Created April 27, 2018 19:14 — forked from stevewithington/muraGetUpcomingEventsByFeedname.cfm
Mura CMS : Example of how to get upcoming calendar events by Feed name
<!---
https://gist.github.com/stevewithington/18a6ef38e7234f1e1fc3
1) Drop this in your Site or Theme contentRenderer.cfc
2) To use, drop the following line of code in your layout template, and modify as you wish:
#$.getUpcomingEventsByFeedname(feedname='Your Feed Name', maxMonths=2, groupDailyEvents=true)#
--->
<cffunction name="getUpcomingEventsByFeedname">
<cfargument name="feedName" type="string" required="true" />
<cfargument name="maxMonths" type="numeric" default="3" />
<cfargument name="groupDailyEvents" default="true" />
@mattlevine
mattlevine / muraDisableFrontEndTools.cfm
Created April 27, 2018 19:15 — forked from stevewithington/muraDisableFrontEndTools.cfm
Mura CMS : How to disable front end tools and front end editing for public facing sites. This would then allow you to completely delete/remove the 'admin' directory from the production server, and only host it on a dev/staging server that's hosted behind a firewall, assuming each instance is pointing to the same database. NOTE: Do NOT delete you…
<!---
1) Drop this method in your /config/cfapplication.cfm and modify it as you wish.
For example, maybe you only want to allow front end tools if editing the site behind your firewall
--->
<cfscript>
public boolean function getEnableFrontEndTools() {
return getPageContext().getRequest().getServerName() == 'someURLAccessibleOnlyBehindYourFirewall.com';
}
</cfscript>
@mattlevine
mattlevine / muraImportFiles.cfm
Created April 27, 2018 19:15 — forked from stevewithington/muraImportFiles.cfm
Mura CMS : How To Import A Directory Of Files Into Mura As Content Items
<cfscript>
// This will NOT work unless you have 'allowlocalfiles=true' in /config/settings.ini.cfm
// example path to files
try {
filepath = ExpandPath('./files');
} catch(any e) {
filepath = ExpandPath('./');
}
@mattlevine
mattlevine / muraGetAssociatedImageMetaData.cfm
Created April 27, 2018 19:16 — forked from stevewithington/muraGetAssociatedImageMetaData.cfm
Mura CMS: How to get the primary associated image metadata such as AltText, Caption, Credits, etc.
<cfset itKids = $.content().getKidsIterator() />
<cfif itKids.hasNext()>
<ul>
<cfloop condition="itKids.hasNext()">
<li>
<cfscript>
item = itKids.next();
fileid = item.getValue('fileid');
if ( item.hasImage() ) {
@mattlevine
mattlevine / muraSaveImage.cfm
Created April 27, 2018 19:16 — forked from stevewithington/muraSaveImage.cfm
Mura CMS : How To Dynamically Add Images or Photos To Content Items
<cfscript>
// This will NOT work unless you have 'allowlocalfiles=true' in /config/settings.ini.cfm
// read image info on local file for default value
try {
ir = ImageRead('steve-withington.jpg');
img = ir.source;
} catch(any e) {
img = '';
}
@mattlevine
mattlevine / muraGroupCalendarEvents.cfm
Created April 27, 2018 19:16 — forked from stevewithington/muraGroupCalendarEvents.cfm
Mura CMS : Example of how to group Mura CMS calendar events together. Another example can be found at https://gist.github.com/stevewithington/18a6ef38e7234f1e1fc3
<!--- See https://gist.github.com/stevewithington/18a6ef38e7234f1e1fc3 for a better example! --->
<cfscript>
it = $.getBean('feed').loadBy(name='Your Feed Name').getIterator(
from=Now()
, to=DateAdd('m', 2, Now())
);
rs = $.getCalendarUtility().filterCalendarItems(it.getQuery(),0);
</cfscript>
<ul>
<cfoutput query="rs" group="contentid">
@mattlevine
mattlevine / muraCalendarUtilityExamples.cfm
Created April 27, 2018 19:17 — forked from stevewithington/muraCalendarUtilityExamples.cfm
Mura CMS : New CalendarUtility Bean Usage Examples
<cfscript>
// 1) Drop these methods into your Theme or Site contentRenderer.cfc
// 2) Create a component called 'Upcoming Events' and using the Mura tag, call [m]$.getUpcomingEvents(calendarid='Events')[/m]
// 3) You can also control how many months of data you wish to retrieve and the maxItems to return
// For example: [m]$.getUpcomingEvents(calendarid='Events', months=3, maxItems=3)[/m]
// NOTE: The code examples assume you have a 'Calendar' with a Title of 'Events'
public any function getUpcomingEvents(
string calendarid=''
, string feedid = ''
, numeric months=3
@mattlevine
mattlevine / mura-content-tab-event-example.cfm
Created April 27, 2018 19:17 — forked from stevewithington/mura-content-tab-event-example.cfm
Mura CMS : Example of how to use one of Mura's Content Tab Events to display a Custom UI field.
<!---
Place this method in your Site, Theme, or Plugin's eventHandler.cfc
See http://docs.getmura.com/v6/back-end/events/content-tab-events/ for more Content Tab Events
--->
<cffunction name="onContentTabBasicTopRender">
<cfset var local = {} />
<!--- This assumes you've created some extended attributes to account for each custom form field --->
<cfsavecontent variable="local.str">
<div class="fieldset">
<div class="form-group control-group">