Skip to content

Instantly share code, notes, and snippets.

@jhorsman
jhorsman / trigger-types.xml
Created September 1, 2014 10:02
OOTB SmartTarget 2014 trigger types
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<trigger-types xmlns="http://www.fredhopper.com/schema/knowledge-model/trigger/type/1.0" xmlns:ns2="http://www.fredhopper.com/schema/knowledge-model/trigger/operation/1.0" xmlns:ns3="http://www.fredhopper.com/schema/knowledge-model/trigger/basetype/1.0" xmlns:ns4="http://www.fredhopper.com/schema/knowledge-model/trigger/1.0">
<trigger-type basetype="text" url-param="am_ex_city" name="Contact - City"/>
<trigger-type basetype="text" url-param="sc_refererdomain" name="Session - Original Referrer"/>
<trigger-type basetype="text" url-param="sc_ua_isbot" name="Visitor - Search Engine?">
<list-of-values multiselect="false">
<value>true</value>
<value>false</value>
</list-of-values>
</trigger-type>
@jhorsman
jhorsman / detect XPM.js
Created September 9, 2014 07:58
Detect if XPM is enabled in JavaScript
if (typeof $display === "object" && $display.getView().getId() === "EditorView") {
    //Experience Manager is enabled
}
@jhorsman
jhorsman / ADF-cookie-names.jsp
Created September 12, 2014 08:41
Read ADF cookie names though the Tridion CD API.
@jhorsman
jhorsman / error response.xml
Created September 17, 2014 09:10
Error message on SDL Tridion 2013 SP1 Content Delivery Web Service (odata) with SmartTarget 2014 installed. When retrieving the trigger types on http://localhost:84/odata.svc/TriggerTypes the server cannot access the Fredhopper query server.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code></code>
<message xml:lang="en-US">Unable to get a list of Trigger Types, please refer to the SmartTarget log files for more information</message>
</error>
@jhorsman
jhorsman / SmartTarget query.cs
Last active August 29, 2015 14:06
Query SDL SmartTarget 2014 trough the new QueryBuilder API
// get the triggers from ADF
ClaimStore claimStore = AmbientDataContext.CurrentClaimStore;
string triggers = AmbientDataHelper.GetTriggers(claimStore);
// make query builder and feed the triggers into it
var queryBuilder = new QueryBuilder();
queryBuilder.Parse(triggers);
// set the publication id and SmartTarget region. Both are required to query
// for SmartTarget promotions
@jhorsman
jhorsman / SmartTarget-tags-2014-tcdl.xml
Last active August 29, 2015 14:06
SmartTarget TCDL example for SmartTarget 2014. Those TCDL Tags are generated by the SmartTarget TBBs.
<tcdl:region ID="Homepage Promotions" type="SmartTarget">
<tcdl:query siteEditTagName='span' publication='tcm:0-69-1'>
<tcdl:promotions region='Homepage Promotions' maxItems='3'>
<tcdl:itemTemplate>
<tcdl:promotionalItems>
<tcdl:itemTemplate siteEditTagName='span'>
<tcdl:ComponentPresentation PageURI='tcm:69-6212-64' ComponentURI='##componentUri##' TemplateURI='##templateUri##' Type='Dynamic'/>
</tcdl:itemTemplate>
</tcdl:promotionalItems>
</tcdl:itemTemplate>
@jhorsman
jhorsman / SmartTarget-dwt-2014.dwt
Last active August 29, 2015 14:06
SmartTarget 2014 Dreamweaver markup example. The SmartTarget TBBs will transform this region into TCDL tags.
<tcdl:region ID="Homepage Promotions" type="SmartTarget">
<!-- TemplateBeginRepeat name="PromotionComponents" -->
@@RenderComponentPresentation()@@
<!-- TemplateEndRepeat -->
</tcdl:region>
@jhorsman
jhorsman / dcp.jsp
Created October 27, 2014 08:24
Java DCP example
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@ page language="java"%>
<%@ page import="java.net.URI" %>
<%@ taglib uri="cd_tags" prefix="tridion" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
@jhorsman
jhorsman / SmartTarget-tags-2014.jsp
Last active August 29, 2015 14:08
SmartTarget JSP tags example for SmartTarget 2014
<smarttarget:query siteEditTagName="span" publication="tcm:0-72-1">
<smarttarget:promotions region="Homepage Banners" var="promotion" maxItems="1">
<smarttarget:itemTemplate>
<smarttarget:promotionalItems>
<smarttarget:itemTemplate>
<span>
<!-- Start Promotion: { "PromotionID": "${item.promotionID}", "RegionID" : "${item.region}"} -->
<tridion:ComponentPresentation pageURI="tcm:72-6212-64" componentURI="${item.componentUri}" templateURI="${item.templateUri}"/>
<!-- End Promotion -->
</span>
@jhorsman
jhorsman / SmartTarget-with-XPM.html
Created November 4, 2014 12:52
Experience Manager markup example for SmartTarget 2014. This XPM markup is generated by the SmartTarget and Tridion JSP tag libraries from https://gist.github.com/jhorsman/83e45c851b63481e39bb
<span>
<!-- Start Query: {
"RegionID" : "Homepage Promotions",
"MaxItems" : 3,
"Promotions" : [
{
"PromotionID": "a20ecba0-2d3e-461f-aaf5-16f375ac9c90",
"PromotionTitle": "Standard Homepage Promotion",
"IncludedInPage": true,
"Items" : [