By continuing to use this site, you agree to the storing of first- and third-party cookies on your device to enhance site navigation; analyze site, product, and service usage; and assist in our marketing and promotional efforts. Cookie Policy

 
Skip to Content

S-Tags

If you are building a page type designed to pull in content from other files (such as with the widget model), you can set up the pages that pull in the content to auto-publish when the content is updated. If the page selects content with a filechooser, that parameter can have "s-tag" (short for source-tag) set as the dependency attribute value. When the "source" page (chosen via that filechooser) is published, the page with the s-tag is published as well.

S-tags are formatted like dependency tags, e.g. {{s:####}}. While a dependency tag inserts the URL of the live page on publish (/about/president.html), an s-tag inserts the OU Campus staging file path, starting with the site name (gallena/about/president.pcf).  This builds the path to the file in staging, especially for files located in another site in the account.

Filechoosers can be used on PCFs, in page parameters and MultiEdit content, and in TCFs. When defining the parameter, it should look something like this:

<parameter name="source-file"
		   group="Everyone"
		   type="filechooser"
		   dependency="s-tag"
		   prompt="Widget"
		   alt="Choose the widget file you want to include on your page."></parameter>

Then in the XSL, when you build the path to the file, remember that it points to the staging file. If that is what you want, then the script might look like this:

<xsl:variable name="widget-path" select="ouc:properties/parameter[@name='source-file']" /> <!-- assuming the location of parameter in current context -->
<xsl:variable name="widget-doc" select="doc(concat($ou:root, $widget-path))" /> <!-- don't need to add $ou:site because the S-Tag already includes it -->

Using s-tags to target the source page's production output is not always recommended, since the triggered publish doesn't account for the time it takes for the source page to publish out to the production environment.

 

⇐ Return to Tutorials