PageData
Last updated
Was this helpful?
Last updated
Was this helpful?
Stancy uses to validate the passed in data and allow static analysis.
Your page data class should extend \Astrotomic\Stancy\Models\PageData
and define all possible attributes via public properties including a doc-tag with all possible types (FQCN for objects).
The package comes with some ready to use traits with the most common attributes.
\Astrotomic\Stancy\Traits\PageHasContent
adds the contents
attribute (used by markdown content parsers)
\Astrotomic\Stancy\Traits\PageHasDate
adds the date
attribute (used by \Spatie\Sheets\PathParsers\SlugWithDateParser
)
\Astrotomic\Stancy\Traits\PageHasOrder
adds the order
attribute (used by \Spatie\Sheets\PathParsers\SlugWithOrderParser
)
\Astrotomic\Stancy\Traits\PageHasSlug
adds the slug
attribute (used by path parsers)
The package comes with a \Astrotomic\Stancy\Contracts\Routable
interface which defines a getUrl()
method. You can combine it with the \Astrotomic\Stancy\Traits\PageHasUrl
trait which defines the toSitemapItem()
method by using the getUrl()
return value. It's also great to get the page url in a view or for the feed item transformation.