Right! Setting the page’s type of content also allows you to use “Current Page Thing” for SEO purposes, whereas you can’t do this with just page parameters:
I’m not 100% sure if that search would run every time next or previous is clicked, since the page is not fully reloading. Just incase it does, you could still use a 1 cell by 1 cell repeating group on the page instead. Then, use the custom state to show the next or previous RG cell in the data to send action. Here is an example
In this example the page’s type of content is Event and one Event is displayed at a time:
(Here the RG is visible, but if you’d rather not have this visible to the User, you can remove the elements and set it to be 1px by 1px in order to just use its data source in the workflow actions)
If the page is loaded without any data (i.e., the User somehow navigated to this page and there isn’t an Event’s unique ID in the URL) the page will automatically set the first item in the Repeating Group of Events as the Event to be displayed, using this Go to Page action:
(Checking “Replace the Entry in the Browser History” makes sure that if the Current User clicks “Back” in their browser, that they are taken to the page they were on before this page. Otherwise, clicking ‘back’ will navigate them to this page without any data to display).
If the Current User then clicks the “Next” button clicked, the workflow’s first action adds 1 to the “page” custom state:
(Here my custom state is on the Group Event element):
And then the Go to Page’s “Data to Send” uses that “page” custom state value to ‘grab’ the correct ‘next item’ from the Repeating Group of Events. The expression is Repeating Group Events’ List of Events: item #[Group Event’s page custom state value that was updated in Step 1]:
For example if the Current User was viewing the second Event, and clicked “Next”, the custom state value would become 3.
If the Current User clicks the “Previous” button, then 1 needs to be subtracted from the custom state value first:
For example, if the Current User was viewing the second Event, and clicked “Back” the custom state value would become 1.
And that custom state is used again to ‘grab’ the correct ‘previous item’ from the Repeating Group of Events. The expression is the same – Repeating Group Events’ List of Events: item # [Group Event’s page custom state value that was updated in Step 1]:
To ensure the Current User doesn’t click the Previous button when they are already viewing the first item in the list, the Previous button has this conditional to make it not clickable when the “page” custom state value is 1:
Similarly, when the Current User is viewing the ‘last’ item in the RG, the “Next” button has this conditional to make it not clickable when the “page” custom state value is equal to the total number of items in the RG:
(For example, if there are 4 total Events, and the Current User is viewing the 4th Event, the Next button can’t be clicked)
Last but not least! If you allow Users to click on a specific Event from an RG (if the RG is visible), when that cell is clicked, you would want to first update the custom state value to be the Current cell’s Index:
And the Go to Page’s “Data to Send” would be the Current cell’s Event (or Unseen Content):
That should work! But please let me know if not, or if you have any other questions!