How do I change publication target of one page in a list?

10 views
Skip to first unread message

Tiffany

unread,
Nov 24, 2008, 12:07:11 PM11/24/08
to RedDot CMS Users
I have a page in a list which needs to be published as the index of
it's subpages. How do I change the target of just one page and not the
whole list? There is no option in the Action menu for individual
pages.

grrrr....

Wayne Bouwmeester

unread,
Nov 24, 2008, 12:21:37 PM11/24/08
to RedDot CMS Users
You can't. Lists can only have one publication package.
Pages publish out for each one of their connections, and look to their
parent link for a publication package.
If they don't find one, they publish to the root.
If you are using nav manager (hence the list) there's no great
workaround.
You can sometimes get away with dynamic anchors at the top level
(allowing for separate publication packages), but this doesn't work
well for sub levels.
You might be able to come up with a class to use once on every list
that publishes out an "index" named page to each directory which
creates a redirect to the appropriate page. (you could use an anchor
link to the parent page to get the redirect url) but you'd want to do
a proper redirect.
SEO and HTML experts might have an opinion on what "proper means"
301 / 302 / etc.
Not so much fun if you have hundreds of directories...
Wayne.

Tiffany

unread,
Nov 24, 2008, 12:30:15 PM11/24/08
to RedDot CMS Users
...seriously?
*sigh*



On Nov 24, 12:21 pm, Wayne Bouwmeester <wayne.bouwmees...@gmail.com>
wrote:

Wayne Bouwmeester

unread,
Nov 24, 2008, 12:49:59 PM11/24/08
to RedDot CMS Users
I had a quick chat with a colleague here who has already put some
thought into this as well.
We're going to start using a custom 404 handler which creates a 301
redirect when the user hits a directory.
The handler uses XPATH to look up the directory in an XML file, and
create the appropriate redirect if it finds a match.
If there's no match, it just gives you a standard 404 error page.
I'll probably write a plugin that climbs through the cms publication
structure and creates a default set of information.

I'll write it up when we're done implementing it.
Wayne.

Tiffany

unread,
Nov 24, 2008, 1:08:26 PM11/24/08
to RedDot CMS Users
great idea, thanks.

On Nov 24, 12:49 pm, Wayne Bouwmeester <wayne.bouwmees...@gmail.com>

RedDot in Toronto

unread,
Nov 24, 2008, 1:43:55 PM11/24/08
to RedDot CMS Users
This is very hacky... but what you can do is this...

<?php echo str_replace("islink=2", "islink=10", "<%lst_articles%>"); ?
>

If I understand your problem correctly.

A list can only have one publication package and anything under that
list will publish to the location specified in that publication
package. The above code will tell RedDot to check the main link of the
page in question and use the main link. What you can do is set the
main link and assign it to the location where you want to publish with
the publication package. It makes it think that the list is an anchor
and that you are doing a "reference existing" page instead of "connect
to existing page", of course you'll have to check what the list is
iterating through currently probably with the title or page ID. I'd
use it sparingly though if you want to find out more about this there
is a section in the RQL documentation under lists/anchors that tell
you what the flag does.

Wayne Bouwmeester

unread,
Nov 24, 2008, 2:30:28 PM11/24/08
to RedDot CMS Users
Looks interesting - I think I remember reading something about this
before.
But doesn't it only fake out the page builder into thinking the page
is referenced by the list?
Where would you put the unique publication package in Tiffany's
example above?
Wayne.

RedDot in Toronto

unread,
Nov 24, 2008, 3:14:39 PM11/24/08
to RedDot CMS Users
The page would be connected in 2 places... one is the list that you
are having problems with now the other is where you want it to
publish. Once you've established both links you set the "main link" in
the linking and appearance schedule to the list where you actually
want it to publish and that code that I posted will be on the list
that you want to reference or "fake" as being a reference. The other
alternative is you convert the list to a dynamic anchor list at which
point you can have a publication target for each anchor. I'll post a
more detailed example later.

On Nov 24, 2:30 pm, Wayne Bouwmeester <wayne.bouwmees...@gmail.com>
wrote:

Tiffany

unread,
Nov 24, 2008, 4:24:36 PM11/24/08
to RedDot CMS Users
Thanks for your response - before I read your suggestion I had
connected the page in two places, giving the new page an "index.html"
property with a simple redirect. A bit clunky, but effective for now.
It looks like your string will eliminate a couple of steps. I will
work it in and see what happens.
Thanks again for your advice!
Reply all
Reply to author
Forward
0 new messages