diff --git a/docs/en/reference/built-in-page-controls.md b/docs/en/reference/built-in-page-controls.md index 7f03dcb5b..c39be16c0 100644 --- a/docs/en/reference/built-in-page-controls.md +++ b/docs/en/reference/built-in-page-controls.md @@ -4,7 +4,7 @@ Ever wonder when you use `$Title` and `<% Control Children %>` what else you can call in the templates?. This page is here to help with a guide on what template controls you can call. -**Note for advanced users:** These built-in page controls are defined in the `[api:SiteTree]` classes, which are the +**Note for advanced users:** These built-in page controls are defined in the [api:SiteTree] classes, which are the 'root' data-object and controller classes for all the sites. So if you're dealing with something that isn't a sub-class of one of these, our handy reference to 'built-in page controls' won't be so relevant. @@ -18,8 +18,8 @@ within another page control. #### <% control Menu(1) %>, <% control Menu(2) %>, ... -Returns a fixed level menu. Because this only works in the top level, you can't use it for nested menus. Used <% -control Children %> instead. You can nest `<% control Children %>`. +Returns a fixed level menu. Because this only works in the top level, you can't use it for nested menus. Use +`<% control Children %>` instead. You can nest `<% control Children %>`. #### <% control ChildrenOf(page-url) %> @@ -39,7 +39,7 @@ you're on the page __about us > staff > bob marley__: #### <% control Page(my-page) %>$Title<% end_control %> "Page" will return a single page from the site tree, looking it up by URL. You can use it in the `<% control %>` format. -Can't be called using $Page(my-page).Title. +Can't be called using `$Page(my-page).Title`. ## Page controls that can be used anywhere @@ -110,7 +110,7 @@ These return different linking modes. $LinkingMode provides the greatest contro * section: A child of this page is currently open, which means that we're currently in this section of the site. * current: This page is currently open. -A useful way of using this is in your menus. You can use the following code below to generate an class="current" or +A useful way of using this is in your menus. You can use the following code below to generate class="current" or class="section" on your links. Take the following code :::ss @@ -123,8 +123,7 @@ When viewed on the Home page it will render like this
  • Home
  • -$LinkOrCurrent ignores the section status, returning link instead. $LinkOrSection ingores the current status, returning -section instead. Both of these options can simplify your CSS when you only have 2 different cases to consider. +`$LinkOrCurrent` ignores the section status, returning link instead. `$LinkOrSection` ignores the current status, returning section instead. Both of these options can simplify your CSS when you only have 2 different cases to consider. #### <% if LinkOrCurrent = current %> @@ -181,13 +180,13 @@ file #### $ClassName -Returns the ClassName of the PHP object. Eg if you have a custom HomePage page type with $ClassName in the template, it +Returns the ClassName of the PHP object. Eg if you have a custom HomePage page type with `$ClassName` in the template, it will return "HomePage" #### $BaseHref Returns the base URL for the current site. This is used to populate the `` tag by default, so if you want to -override `<% base_tag %>` with a specific piece of HTML, you can do something like ```` +override `<% base_tag %>` with a specific piece of HTML, you can do something like `` ### Controlling Members and Visitors Data @@ -209,29 +208,30 @@ If the user is logged in this will print out Welcome Back, Admin -#### <% if PastMember %>, <% if PastVisitor %> +#### <% if PastMember %> -These controls detect the visitor's previous experience with the site: +Detect the visitor's previous experience with the site. `$PastMember` will return true if the visitor has signed up or +logged in on the site before. -* $PastVisitor will return true if the visitor has been to the site before -* $PastMember will return true if the visitor has signed up or logged in on the site before +Note that as of version 2.4 `$PastVisitor` is deprecated. If you wish to check if a visitor has been to the site before, +set a cookie with `Cookie::set()` and test for it with `Cookie::get()`. ### Date and Time #### $Now.Nice, $Now.Year -$Now returns the current date. You can call any of the methods from the `[api:Date]` class on +`$Now` returns the current date. You can call any of the methods from the [api:Date] class on it. #### $Created.Nice, $Created.Ago -$Created returns the time the page was created, $Created.Ago returns how long ago the page was created. You can also -call any of methods of the `[api:Date]` class on it. +`$Created` returns the time the page was created, `$Created.Ago` returns how long ago the page was created. You can also +call any of methods of the [api:Date] class on it. #### $LastEdited.Nice, $LastEdited.Ago -$LastEdited returns the time the page was modified, $LastEdited.Ago returns how long ago the page was modified.You can also -call any of methods of the `[api:Date]` class on it. +`$LastEdited `returns the time the page was modified, `$LastEdited.Ago` returns how long ago the page was modified. You +can also call any of methods of the [api:Date] class on it. ### DataObjectSet Options @@ -239,21 +239,21 @@ If you are using a DataObjectSet you have a wide range of methods you can call o #### <% if Even %>, <% if Odd %>, $EvenOdd -These controls can be used to do zebra-striping. $EvenOdd will return 'even' or 'odd' as appropriate. +These controls can be used to do zebra-striping. `$EvenOdd` will return 'even' or 'odd' as appropriate. #### <% if First %>, <% if Last %>, <% if Middle %>, $FirstLast These controls can be used to set up special behaviour for the first and last records of a datafeed. `<% if Middle %>` is -set when neither first not last are set. $FirstLast will be 'first', 'last', or '' +set when neither first not last are set. `$FirstLast` will be 'first', 'last', or ''. #### $Pos, $TotalItems -$TotalItems will return the number of items on this page of the datafeed, and Pos will return a counter starting at 1. +`$TotalItems` will return the number of items on this page of the datafeed, and `$Pos` will return a counter starting at 1. #### $Top When you're inside a control loop in your template, and want to reference methods on the current controller you're on, -breaking out of the loop to get it, you can use $Top to do so. For example: +breaking out of the loop to get it, you can use `$Top` to do so. For example: :::ss $URLSegment @@ -265,7 +265,7 @@ breaking out of the loop to get it, you can use $Top to do so. For example: ## Properties of a datafeed itself, rather than one of its items -If we have a control such as `<% control SearchResults %>`, there are some properties, such as $SearchResults.NextLink, +If we have a control such as `<% control SearchResults %>`, there are some properties, such as `$SearchResults.NextLink`, that aren't accessible within `<% control SearchResults %>`. These can be used on any datafeed. ### Search Results @@ -277,8 +277,8 @@ Returns true when we have a multi-page datafeed, restricted with a limit. #### $SearchResults.NextLink, $SearchResults.PrevLink This returns links to the next and previous page in a multi-page datafeed. They will return blank if there's no -appropriate page to go to, so $PrevLink will return blank when you're on the first page. You can therefore use <% if -PrevLink %> to keep your template tidy. +appropriate page to go to, so `$PrevLink` will return blank when you're on the first page. You can therefore use +`<% if PrevLink %>` to keep your template tidy. #### $SearchResults.CurrentPage, $SearchResults.TotalPages @@ -333,7 +333,7 @@ $LinkToID, $VersionID, $CopyContentFromID, $RecordClassName $Link, $LinkOrCurrent, $LinkOrSection, $LinkingMode, $ElementName, $InSection, $Comments, $Breadcrumbs, $NestedTitle, $MetaTags, $ContentSource, $MultipleParents, $TreeTitle, $CMSTreeClasses, $Now, $LinkTo, $AbsoluteLink, $CurrentMember, -$PastVisitor, $PastMember, $XML_val, $RAW_val, $SQL_val, $JS_val, $ATT_val, $First, $Last, $FirstLast, $MiddleString, +$PastMember, $XML_val, $RAW_val, $SQL_val, $JS_val, $ATT_val, $First, $Last, $FirstLast, $MiddleString, $Middle, $Even, $Odd, $EvenOdd, $Pos, $TotalItems, $BaseHref, $CurrentPage, $Top ### All fields available in Page