Is it in usercontrols / xslt renderings possible to check wheter an item has it’s publishing restricted or is not publishable in the Sitecore CMS?
We get some situations where we explain users of the CMS how to set publishing restrictions and get back questions about items showing standard values on the website. For example:
- I have an item and it contains fields with information.
- I publish this item and everthing is fine. Content is being shown on the website.
- I change publishing restrictions and say it can only be published from 23-02-2010 to 25-02-2010.
- What happens now is that when i publish the website again, the item that was shown correctly before now shows Standard Values.
EDIT:
- The item i am talking about has only
one version. (Dutch – version 1) The
item is just made through insert from
template and filled with information.
After it is filled with the info,
Publishing restrictions are set up.
When this is done and the item is not
falling within the date of that
restriction i see standard values @
front.
Publishing restrictions can be used to make sure information is only shown in some period of time right?
Is this something we can fix in our code? Can we check wheter an item is not in the range of the public resctrictions / unpublished?
So again to give other users the option to check for an answer to this question i’ll answer my own question.
If a user in the CMS of Sitecore specifies a range where an item can be published in and you see a standard value appearing on the front:
If there is only one version available like in my case , and there are no other versions while the date of today falls outside the range specified doing a simple Item.Empty check will be enough.
Whenever you have a Sitecore item that you need to handle:
item has versions in context language?? ->
item.Versions.Countitem may be published?? ->
!item.Publishing.IsValid(DateTime.Today, false)item has layout?? ->
item.Visualization.GetLayout(Sitecore.Context.Device)I hope this information will once be usefull to somebody!