These are the common requirement during the development in Kentico. Keeping these in one place will help the developers in their productivity.
// Ternary example
<%# !string.IsNullOrEmpty((string)Eval("YourColumn")) ? "True" : "False" %>
<%# !String.IsNullOrEmpty(Eval("YourColumn").ToString()) ? "True" : "False" %>
<%# !string.IsNullOrEmpty((string)Eval("YourColumn")) ? "<p>For detailed information and more, please visit the <a href=\"" + Eval("YourColumn") + "\" target=\"_blank\">Link text 1</a> for this column.</p>" : Eval("YourColumn") + "<br /><br /><strong>For detailed another information please visit the <a onclick=\"_gaq.push(['_trackEvent', 'Link', 'Click' 'Event Topic'])\" target=\"_blank\" href=\"" + Eval("YourColumn") + "\">Link text 2</a> for this column.</strong><br />" %>
<%# !String.IsNullOrEmpty(Eval("Column1").ToString()) || !String.IsNullOrEmpty(Eval("Column2").ToString()) ? "<strong>Value</strong><br>" : "" %>
/* ********** */
// IfEmpty
<%# IfEmpty(Eval("ImageLink"), "", "<img src=\"" + Eval("ImageLink") + "\" class=\"alignright\" alt=\"" + Eval("DocumentName") + "\" />") %>
<%# IfEmpty(Eval("DownloadLink"), "", "<a href=\"" + Eval("DownloadLink") + "\" class=\"btn icon-download\" target=\"_blank\">Download</a>") %>
{% if (!String.IsNullOrEmpty(DocumentPageDescription)){ %}
<p>{% DocumentPageDescription %}</p>
{% } #%}
/* ********** */
// Transformation: RegexReplace()
{%
replacedString = RegexReplace(YourColumn, @"[^0-9a-zA-Z\._]", string.Empty);
return;
#%}
<p>{% replacedString %}</p>
/* ********** */
// Transformation: documents at specific path, classname
{%
subFolderHome = Documents["/SubFolder/Home"];
subFolderHomeChildren = subFolderHome.Children.Where("ClassName = 'ProjectName.SubFolderHomepage'");
return;
#%}
<ul>
{% subFolderHomeChildren.WithAllData.ApplyTransformation("ProjectName.Transformations.MainNavigation_Level_1") %}
</ul>
/* ********** */
// add 'active' class if
{%
selectedPath = IsDocumentOnSelectedPath();
isCurrent = IsCurrentDocument();
return;
#%}
<li class="nav-item{% if( isCurrent || selectedPath ) { " active" }#%}">
<a class="nav-link" href="{% NodeAliasPath %}">
{% IfEmpty(DocumentMenuCaption, DocumentName, DocumentMenuCaption) %}
</a>
</li>
/* ********** */
// Visbility
<p runat="server" Visible='<%# Eval<string>("Name") != "some-value" %>'>
<asp:Placeholder runat="server" ID="pl1" visible='<%# ... %>'>
...
</asp:Placeholder>
<asp:Placeholder runat="server" ID="pl2" visible='<%# !pl1.Visible %>'>
...
</asp:Placeholder>
<cms:QueryRepeater ID="qrConcentrations" runat="server"
Visible='<%# isCurrentPage(Eval<String>("nodeAlias"))%>'
QueryName="custom.DegreePrograms.GetConcentrationsBySchoolModalityAndCategory"
TransformationName="custom.degreeprograms.concentrations"
OrderBy="v1.DegreeName ASC"
PagerControl-PagerHTMLBefore="<li>"
PagerControl-PagerHTMLAfter="</li>">
</cms:QueryRepeater>
/* check if webpart contains content, hide if no content */
{% (ViewMode != "LiveSite") || (et_sc != null && et_sc.Trim() != "") #%}
{% if ((et_sc != null && et_sc.Trim() != "") == False) { "Full-width" } else { if ((et_sc != null && et_sc.Trim() != "") == True) { "two-column" } } #%}
{% if(OfficeShowStaff == True) { return true; } else { return false; } #%}
/* transformation: check if first record */
<%# DataItemIndex == 0 ? "First record" : "Not first record" %>
/* transformation: check if last record */
<%# DataItemIndex == DataRowView.DataView.Count - 1 ? "Last record" : "Not last record" %>
{% DataItemIndex == DataItemCount - 1 ? "Last record" : "Not last record" %}
/* transformation: `ApplyTransformation` */
{% Documents[NodeAliasPath].Children.WithAllData.ApplyTransformation("custom.VirtualMapImageGallery.CarouselGallery_Slide") #%}
{% Documents["/News"].Children.WithAllData.ApplyTransformation("custom.VirtualMapImageGallery.CarouselGallery_Slide") #%}
/* K# Examples */
// If statement
{% if (CurrentDocument.RelatedTitlesHeader == "") { "Related Books" } else { CurrentDocument.RelatedTitlesHeader } %}
{% if (bizFormField != null) { "<p>$$value:bizFormField$$</p>" } %}
// Nested if statement
{% if (CMSContext.CurrentDocument.RelativeURL == "~/georgia/rate-quote") { GetResourceString("MHI.RateQuote.Georgia") } else { if (CMSContext.CurrentDocument.RelativeURL == "~/indiana/rate-quote") { GetResourceString("MHI.RateQuote.Indiana") } else { if (CMSContext.CurrentDocument.RelativeURL == "~/oklahoma/rate-quote") { GetResourceString("MHI.RateQuote.Oklahoma") } else { if (CMSContext.CurrentDocument.RelativeURL == "~/south-carolina/rate-quote") { GetResourceString("MHI.RateQuote.SouthCarolina") }}}} #%}
// Escaping apostrophe in macro conditional
{% if (QueryString["DateSelected"]) { %}
CONVERT(date, EventDate) <= '{% QueryString["DateSelected"]|(handlesqlinjection)true %}' AND CONVERT(date, EventEndDate) >= '{% QueryString["DateSelected"]|(handlesqlinjection)true %}'
{% }|(handlesqlinjection)false
#%}
// select parent document name based on nodealiaspath
{% Documents[NodeAliasPath].Parent.DocumentName #%}
/* WebPart Visibility */
// Do NOT show if DocumentName is equal to "Home"
{%DocumentName|(notequals)Home|(truevalue){?param?}%}
// Do NOT show if NodeID is equal to "321"
{%NodeID|(notequals)321|(truevalue){?param?}%}
// Hide page(s) in the /Landing-Pages directory
{%CMSContext.CurrentDocument.NodeAliasPath|(Contains)Landing-Pages|(not)#%}
// Show if DocumentName is equal to "Home"
{%DocumentName|(equals)Home|(truevalue){?param?}%}
// Show if path contains
{%Contains(CMSContext.CurrentDocument.NodeAliasPath, "Landing-Pages")#%}
// Show if path does not contain
{%!Contains(CMSContext.CurrentDocument.NodeAliasPath, "Landing-Pages")#%}
{%not(Contains(CMSContext.CurrentDocument.NodeAliasPath, "Landing-Pages"))#%}
{% !EditedObject.NodeAliasPath.Contains("/Parts-Store") #%}
// Visibility based on Wildcard value
{%QueryString["County"] != ""%}
// Get QueryString value
{% QueryString.parameter %}
// Multiconditional
{% if (PortalContext.ViewMode == "Design") { return false; } else { if (PortalContext.ViewMode == "Edit") { return false } else { return true }} #%}
// Date format
<%# GetDateTime("BlogPostDate", "D") %>
{% CurrentDateTime.Year#%}
{% CurrentDocument.DocumentModifiedWhen.Format("{0:MM/dd/yyyy}") #%} /* 09/12/2016 */
{% CurrentDocument.DocumentModifiedWhen.Format("{0:T}") #%} /* 1:42:31 PM */
/* String replace */
// Kentico: Transformation, string replace, tolower
<%# Eval("DocumentName").ToString().Replace(" ", "-").ToLower() %>
/* Kentico caching long lists of data */
items = Cache(GlobalObjects.CustomTables["BCLS.Reagents"].items);
items2 = Cache(GlobalObjects.CustomTables["BCLS.FlowInstrumentsAndSoftware"].items);
// Resolve Localization strings in transformation
<%# ResHelper.LocalizeString("{$Autobag.SpareParts.Btn_AddToRFQ$}") %>
PersonDivision LIKE '%{% QueryString["School"].ToString().Replace("-", " ").ToLower() %}%' and PersonIsFacultyLeader = 1
/* Get Custom Table data using macro */
{% GlobalObjects.CustomTables["customtable.SampleTable"].Items[3].GetValue("ItemText") %}
/* Set site to non-https from db */
update CMS_SettingsKey
set KeyValue='False'
where KeyName='CMSUseSSLForAdministrationInterface'
update CMS_Tree
set IsSecuredNode= NULL, RequiresSSL=NULL
/* jquery ajax call example */
$.ajax({
url: 'http://localhost/rest/content/currentsite/all?classnames=claremont.LocationContentBlock&hash=12c0c34e0ee345c1e1d5679a56b7efe4567d0a6b08f6a9b05a264be4657c8702',
dataType: 'xml',
success: function(xml, status, xhr) {
$(xml).find('claremont_LocationContentBlock').each(function() {
var name = $(this).find('DocumentName').text();
var location = $(this).find('NodeAlias').text();
var zip = $(this).find('ZipCode').text();
$('<li>' + zip + ' - ' + name + ' (' + location + ')' + '</li>').appendTo('#zipCodes');
$('<p>' + zip + '</p>').appendTo('#rawData');
});
console.log('Status: ' + xhr.statusText);
},
error: function(xhr, status, error) {
console.log('Error occurred: ' + xhr.statusText);
}
});
/* Dates */
<%# FormatDateTime(Eval("EventDate"), "MMMM d") %>
<%# IfEmpty(Eval("EventEndDate"), "", IfCompare(FormatDateTime(Eval("EventDate"), "MMM d"), FormatDateTime(Eval("EventEndDate"), "MMM d"), " - " + IfCompare(Eval<DateTime>("EventDate").Month, Eval<DateTime>("EventEndDate").Month, FormatDateTime(Eval("EventEndDate"), "MMMM d"), FormatDateTime(Eval("EventEndDate"), " d")), "")) %>
/* Format Numbers */
<%# String.Format("{0:n}", Int64.Parse(Eval("Field").ToString())) %> // 100,000.00
<%# String.Format("{0:n0}", Int64.Parse(Eval("Field").ToString())) %> // 100,000
<%# String.Format("{0:C}", Eval("TotalPriceIncludingOptions")) %>
/* sql */
/* populate dropdowns */
SELECT Code as Value, Code as Name FROM MyCodeTable
SELECT Location AS Code, Location FROM customtable_ConferenceLocations
SELECT REPLACE(Location, ' ','-') AS Code, Location FROM customtable_ConferenceLocations
SELECT '' AS Code, '-- Select Location --' AS Location
UNION
SELECT Location AS Code, Location
FROM customtable_ConferenceLocations
/* Check current version and hotfix version */
SELECT *
FROM CMS_SettingsKey
WHERE KeyName = 'CMSDataVersion' OR
KeyName = 'CMSDBVersion' OR
KeyName = 'CMSHotfixVersion'
/* get document by categories */
SELECT DocumentName
FROM View_CMS_Tree_Joined
WHERE DocumentID IN (Select DocumentID FROM CMS_DocumentCategory WHERE CategoryID in (Select CategoryID from CMS_Category where CategoryName IN ('News', 'FAQs')))
/* Custom table control settings */
Custom table item selector form control: https://www.screencast.com/t/slxjPobM
/* transformation: custom variable */
{%
myVariable = ( !String.IsNullOrWhiteSpace( DocumentMenuCaption ) ) ? DocumentMenuCaption : DocumentName;
return;
#%}
<a href="GetDocumentUrl()">{% myVariable %}</a>
/* pipe delimited list */
{% if (!String.IsNullOrEmpty(LocationFeaturesList)) { %}
<ul class="list-unstyled text-primary lead mb-3">
<li>{% LocationFeaturesList.ToString().Replace("|","</li><li>") %}</li>
</ul>
{% } #%}
/* CSS cache busting */
<link href="~/CMSPages/GetResource.ashx?stylesheetname=<CODE_NAME>&vid={% GlobalObjects.CssStylesheets.<CODE_NAME>.StylesheetVersionGUID #%}" type="text/css" rel="stylesheet"/>