I tried with your example 4 code again and I still only get the whole of the navigation menu shown
Yep - that’s what it’s suppose to do, I’ve changed it now so that by default it will output everything. If you specify depth=“1”, it will only output the top level, depth=“1” top level and it’s immediate children, etc.
I’ve updated the test page to show output of a parent menu (test 3)
Which is this code:
<ul>
{exp:structure_entries parent="31"}
<li><a href="/{page_url}">{title}</a></li>
{/exp:structure_entries}
</ul>
If you use entry_id as the parameter (I’m assuming wrapped in weblog:entries tags), then it will only output the children of the current page. But I’m assuming from what you’re saying, you’re already on the child, so it won’t output anything.
To use the path instead of the parent entry_id, it must start with a forward slash or http://, otherwise it won’t recognise it as a correct url, so try: “/{segment_1}/{segment_2}/{segment_3}/”. Assuming that is the parent not the child!
As mentioned above, because this doesn’t output any markup, it can’t tell you if you’re on the current page, and you can’t use entry_id within the tag pair, as this will be the current id for whatever is being shown. But you can use page_uri which should match the last segment.
If this continues to be an issue without a nice template code solution, then I could probably introduce a boolean variable to identify the current page.