Skip to main content

Pagination using Dropdown List or Links for Sorting Generating Multiple Pages From a Single Asset. ie. Dynamic Sorting / Filtering

This is something that is very complicated at the moment. Essentially, what we want to do is create a dynamic sort or filter by xyz. This is handled by the CMS as a generation of multiple static pages for each sort or filter selection. The work will be done in the output.asp file and filename.asp template file.

Within the output.asp, the trick is to generate links to each of the individual static pages using:


asset.setParam "args", "querystringfield=abc&otherfield=abc"
'create a link back to the same page with the querystring fields attatched to it
asset.getLink(content.item("_cmsId")


You can then access the querystring fields by using:


content.item("querystringfield")
content.item("otherfield")


the querystring fields get added to the content. On load? (Question that is currently unanswered)

Within the filename.asp file, to generate multiple static pages:


'first check if the querystring fields are set
if content.item("querystringfield") <> "" and content.item("otherfield") <> "" then
'change the publishing path accordingly
strPath = content.item("_cmsPublishPath")
replace(strPath, content.item("_cmsLabel"), querstringfield)
'add the publishing path info back into the content
content.add "_cmsPublishingPath", strPath


I think that's it but I will update as necessary. As always, check the syntax, I'm not going to do it now because I am lazy.

Comments

Popular posts from this blog

Parsing XML in .NET

Let's say you have XML as <root>    <item>       <name1>value1</name1>       <name2>value2</name2>       <name3>value3</name3>    </item>    <item>       <name1>value1</name1>       <name2>value2</name2>    </item> </root> To parse it we use the .NET XmlDocument class: // Create the XmlDocument object XmlDocument xmlDoc = new XmlDocument(); // Load the Xml into the object xmlDoc.Load(objResponse.GetResponseStream()); // Get the element like it was a path XmlNode errorNode = xmlDoc.SelectSingleNode("root/item/name1"); if (errorNode != null) { litResult.Text = errorNode.InnerText; return; }

Passing values from Javascript to Asp.Net

The trick to passing data from Javascript and Asp.Net is to use hidden inputs in the html. The hidden inputs should have the runat="server" attribute. For example: <input type="hidden" runat="server" id="hiddenfield" value="" /> Then in the Javascript, whatever value you are trying to pull from Asp.Net, set the hidden field using: document.getElementById("hiddenfield").value = "whatever value you want to set" And in the Asp.net form, you can just access the hiddenfield by using its id. string x = hiddenfield.value.text Thats all there is to it. You might need to check the syntax of it first as this is just all from my head.

Duplicate Items in the File -> New menu.

It looks like a bug, but the CMS is trying to figure out what kind of models would apply to the folder in question. To resolve this issue. 1. Goto the problematic folder. 2. Goto View -> Properties -> Access 3. Click on the New Tab 3. Uncheck All 'New Dependency' That's it. That should resolve the problem.