Skip to content

Instantly share code, notes, and snippets.

@greggnakamura
Created March 17, 2015 20:31
Show Gist options
  • Save greggnakamura/25b87046d8e68aee11bd to your computer and use it in GitHub Desktop.
Save greggnakamura/25b87046d8e68aee11bd to your computer and use it in GitHub Desktop.
Kentico: Nested QueryRepeater to display content on current item if equal to current page content
<script runat="server">
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
var school = CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("{?School?}").ToString().ToLower();
var modality = CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("{?Modality?}").ToString().ToLower();
var nodeAlias = CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("{?NodeAlias?}").ToString().ToLower();
if (school != "" && modality != "" && nodeAlias != "")
{
qrConcentrations.WhereCondition = "v1.School like '%" + school + "%' AND v1.Modality LIKE '%" + modality + "%' AND v1.DegreeType = 'Concentration' AND dc.CategoryID IN (SELECT dc2.CategoryID FROM CMS_DocumentCategory dc2 JOIN View_custom_DegreePrograms_Joined v2 ON v2.documentID = dc2.documentID WHERE v2.NodeAlias = '" + nodeAlias + "' AND v2.ClassName = 'custom.DegreePrograms' AND v2.DegreeType <> 'Concentration')";
qrConcentrations.ReloadData(true);
}
}
public bool isCurrentPage(string nodeAlias)
{
return nodeAlias.ToLower() == CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("{?NodeAlias?}").ToString().ToLower();
}
</script>
<li>
<a href="/academics/school-of/<%# CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("{?School?}").ToString().ToLower() %>/online/degree/<%# Eval("NodeAlias").ToString().ToLower() %>">
<%# Eval("DegreeType") %> <%# IfCompare(Eval("DegreeType"), "Bachelor of Arts", "", "in") %><%# IfCompare(Eval("DegreeType"), "Bachelor of Science", "", "in") %><%# IfCompare(Eval("DegreeType"), "Master of Arts", "", "in") %> <%# Eval("DegreeName") %>
</a>
<ul class="arrow">
<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>
</ul>
</li>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment