How to display only the <system-page> node for the current page?
I have three pages named page1, page2, and page2.
I also have a long index block full of pages that is structured like this:
<system-index-block> <system-page id="1"> <name>exhibit1</name> <title>Title</title> <path>/exhibitions/exhibition-items/exhibit1</path> <content>Some content</content> </system-page> <system-page id="2"> <name>exhibit2</name> <title>Title</title> <path>/exhibitions/exhibition-items/exhibit2</path> <content>Some content</content> </system-page> <system-page id="3"> <name>exhibit3</name> <title>Title</title> <content>Some content</content> <path>/exhibitions/exhibition-items/exhibit1</path> </system-page> </system-index block>
I am trying to print only the information inside
<system-page id="3"></system-page> onto a
page. However, I don't want to hardcode the system-page id. I'd
like to write a format that will work for ANY system-page id (I'd
like to write one format that would only print page2's data when
I'm on page2, or only page1's data when I'm on page1.) How do I go
about doing this?
Additional info: - Users will get to the page
that ONLY contains information from a single specific
<system-page> node by clicking a link set to the
<path> (for example,)
Is that useful at all?
Discussions are closed to public comments.
If you need help with Cascade CMS please start a new discussion.
|?||Show this help|
|ESC||Blurs the current field|
|r||Focus the comment reply box|
|^ + ↩||Submit the comment|
You can use
Command ⌘ instead of
Control ^ on Mac
1 Posted by Eric on 21 Aug, 2014 08:04 PM
I mean, I have three pages named exhibit1, exhibit2, exhibit3.
The page names are the name as
I'm sorry for that mistake, I can't see where to edit my original question.
2 Posted by Ryan Griffith on 22 Aug, 2014 01:37 PM
Displaying the content for the current page can be done a in a few ways.
If you would like to use your current Index Block, you can filter the pages using the
currentattribute that is added to the
<system-page>that is currently being viewed (ie the context page):
Alternatively, if all you want to do is output the content of the current page and nothing else, I would recommend using a calling page Index Block, which will only include the calling page's content and nothing else. This is generally more efficient than including a large Index Block. If you go this route, your Velocity would differ slightly:
Also, I wanted to note that if you are running Cascade Server 7.10.1 or newer, Velocity Formats have access to a global
$currentPagevariable, which will be the calling page object. Slightly different than obtaining the page using the XPath Tool, but could help simplify things a bit. To view the properties of the
$currentPagevariable, you can use the following:
Please let me know if you have any questions.
3 Posted by Eric on 25 Aug, 2014 07:37 PM
Thank you very much, I've used this information to successfully complete my task!
4 Posted by Ryan Griffith on 25 Aug, 2014 07:56 PM
Not a problem at all, Eric, thank you for following up. I am glad to hear I was able to point you in the right direction.
I'm going to go ahead and close this discussion, please feel free to comment or reply to re-open if you have any additional questions.
Have a great day!
Ryan Griffith closed this discussion on 25 Aug, 2014 07:56 PM.