Assembly on a brief in navigation

As part of our navigation, we are allowing briefs to be inserted (in the submenu). The primary use of this is for header and footer links. The problem that we are having is that for some reason, on publishing, RX will not “assemble” the links correctly (ie. The links in the brief reference the RX server when published). On preview, the links are fine (as they point to the correct items via an RX url).

We have gotten around this by telling users to put in the “absolute” hyperlinks / full urls and to not use the RX Links or Templates when inserting items into the header and footer briefs. Obviously we would like to be able to do so.

Is there a way for this to work?

It’s not clear from your description what these links “point to”.

The issue with Briefs is that since they have no “publishing” templates (no pages, only snippets) there’s no location scheme.

You can, of course, solve this by adding a page template with a location scheme attached to it.

Another way to do this is to create an “External Links” content type, and have it’s snippets render the absolute URL at ALL times (this sounds like your workaround).

Dave

I didn’t clarify.

So lets say you want to link to an “about” page in the header brief. I would add the title snippet template to link to the full page of the “about” page or I would type some text and select the CMS link (which allows me to “point” to the about page using an RX link). On preview, these items appear to work and link off to the correct page (as everything you preview would be an RX link).

However, when i publish a page that shows the header brief, the url pointing to the “about” page is still an RX link and thus asks me to log in to RX. So it appears that the publishing action doesn’t “assemble” the url properly in that it doesn’t rewrite the url properly.

For example, it would publish www.rxserver.com/Rhythmyx/assembler… as opposed to www.example.com/about

Hope this helps…

Hmmm,

Sounds like something is not passing the sys_context or sys_siteid through to the snippet.

Can you post the template code ?

Dave

Certainly…

Note that there are two ways to add the headerlinks, either as a brief in the navbase or as the submenu of a paticular navon

Thanks for the help thus far


#macro(rootlevel $node)
  #set($submenu = $node.getNodes("nav:submenu"))
  #if ($node)
      #foreach ($navon in $submenu)
		#set($sys_title = $navon.getProperty("rx:sys_title").String)
		#if ($sys_title=="--navheaderlinks--")
			##there is a div tag here
                        <div id="vt_header_nav">
				#getHeaderBrief($navon)
			</div>
		#elseif ($sys_title=="--navheader--")	
                        ##there are 2 div tags here  	
			<div id="vt_header_unit">
				<div class="vt_vcenter">
					#getHeaderBrief($navon)
				</div>
			</div>
		#end
      #end
  #end
#end

#macro(getHeaderBrief $node)
  #set($nodet = $node.getPrimaryNodeType().getType())
  #if($nodet == "vtBrief")
	$node.getProperty("rx:body").String
  #else
      #set($submenu = $node.getNodes("nav:submenu"))
      #foreach ($menuitem in $submenu)
    	## if brief, then display body, only check 1 level
    	#set($nodetype = $menuitem.getPrimaryNodeType().getType())
    	#if ($nodetype=="vtBrief")
			$menuitem.getProperty("rx:body").string
    	#end
      #end
  #end
#end

#rootlevel($nav.root)