PageTheme
class PageTheme extends Theme (View source)
Traits
This is a trait you can add to your theme's PageTheme class if it is built with the Concrete bedrock. That means it includes the bedrock SCSS and JS files. If your theme's JS and CSS files include these starter assets, you'll automatically need to require jQuery and Bootstrap4, and you'll automatically support the bootstrap4 grid system.
Constants
E_THEME_INSTALLED |
|
THEME_EXTENSION |
|
FILENAME_TYPOGRAPHY_CSS |
|
Properties
$error | from ConcreteObject | ||
protected | $pThemeName | from Theme | |
protected | $pThemeID | from Theme | |
protected | $pThemeDescription | from Theme | |
protected | $pThemeDirectory | from Theme | |
protected | $pThemeThumbnail | from Theme | |
protected | $pThemeHandle | from Theme | |
protected | $pThemeURL | from Theme | |
protected | $pThemeIsPreview | from Theme | |
protected | $pkgID | from Theme | |
protected | $stylesheetCachePath | from Theme | |
protected | $stylesheetCacheRelativePath | from Theme | |
protected string|null|false | $pThemeGridFrameworkHandle | The handle of the grid framework supported by this theme. |
from Theme |
Methods
Mark an asset as provided by this theme.
Get the all the themes available in the /application/themes directory.
Get a theme from the file system.
Checks the filesystem and returns true if custom skins are available for the theme.
Returns a skin object when passed a string identifier
Get an installed theme given its handle.
Get the instance representing an installed theme.
Grab all files in theme that are PHP based (or html if we go that route) and then lists them out, by type, allowing people to install them as page type, etc.
Get the theme details by reading a directory containing the theme.
Export this theme by creating the XML nodes under the provided XML node.
Export all the installed themes by creating the XML nodes under the provided XML node.
Install a theme.
Checks to see whether the capability of theme documentation exists for this theme.
Returns an array of documentation pages for this theme
(Re)Scan the theme folder to check if it contains the page_theme.php file: if so, marks the theme as having a controller.
Get the localized name for this theme (escaped accordingly to $format).
Get the handle of the package providing this theme (if available).
Get the localized description for this theme (escaped accordingly to $format).
Set the absolute path of a directory where the CSS stylesheet files should be stored.
Set the path of a directory where the CSS stylesheet files should be stored, relative to the website root directory.
Get the absolute path of a directory where the CSS stylesheet files should be stored.
Get the path of a directory where the CSS stylesheet files should be stored, relative to the website root directory.
Get the grid framework supported by this theme.
Get the handles of the features supported by this theme.
Get the theme-specific style names to be used in the rich text editor.
Get the handles of the thumbnail types and related resolution breakpoint. Important: make sure to define these in proper ascending size order, otherwise you might get inconsistencies in certain aspects of the UI that refer to these image types.
Details
loadError($error)
No description
isError()
No description
getError()
No description
setPropertiesFromArray($arr)
No description
static
camelcase($file)
No description
static
uncamelcase($string)
No description
in
Theme at line 63
__construct()
No description
in
Theme at line 73
static Theme[]
getGlobalList()
Get the installed themes provided by packages.
in
Theme at line 83
static Theme[]
getLocalList()
Get the installed themes provided by the core.
in
Theme at line 95
static Theme[]
getListByPackage($pkg)
Get the installed themes provided by a package.
in
Theme at line 107
static Theme[]
getList(string|null $where = null)
Get the installed themes.
in
Theme at line 129
static string[]
getInstalledHandles()
Get the handles of all the installed themes.
in
Theme at line 142
providesAsset(string $assetType, string|false $assetHandle = null)
Mark an asset as provided by this theme.
in
Theme at line 154
requireAsset()
Mark an asset as reuired by this theme.
Accepts the same arguments as \Concrete\Core\Http\ResponseAssetGroup::requireAsset().
in
Theme at line 168
static Theme[]
getAvailableThemes(bool $filterInstalled = true)
Get the all the themes available in the /application/themes directory.
in
Theme at line 210
static Theme|null
getByFileHandle(string $handle, string $dir = DIR_FILES_THEMES, string $pkgHandle = '')
Get a theme from the file system.
in
Theme at line 239
bool
hasSkins()
Returns true if theme or user preset skins are available
in
Theme at line 250
bool
hasPresetSkins()
Checks the filesystem and returns true if custom skins are available for the theme.
in
Theme at line 256
Record
getSkinDirectoryRecord()
No description
in
Theme at line 269
array
getPresetSkins()
No description
in
Theme at line 283
array
getCustomSkins()
No description
in
Theme at line 294
array
getSkins()
No description
in
Theme at line 310
bool
isThemeCustomizable()
No description
in
Theme at line 318
Customizer|null
getThemeCustomizer()
No description
in
Theme at line 329
SkinInterface|null
getThemeDefaultSkin()
Gets the default skin for this theme
in
Theme at line 340
SkinInterface|null
getSkinByIdentifier(string $skinIdentifier)
Returns a skin object when passed a string identifier
in
Theme at line 356
mixed|void
jsonSerialize()
No description
in
Theme at line 380
enablePreviewRequest()
deprecated
deprecated
No description
in
Theme at line 393
Stylesheet[]
getThemeCustomizableStyleSheets()
deprecated
deprecated
Get all the customizable LESS stylesheets.
in
Theme at line 420
bool
isThemePreviewRequest()
deprecated
deprecated
No description
in
Theme at line 435
Stylesheet
getStylesheetObject(string $stylesheet)
deprecated
deprecated
No description
in
Theme at line 459
string
getStylesheet(string $stylesheet)
deprecated
deprecated
No description
in
Theme at line 497
CustomStyle|null
getThemeCustomStyleObject()
deprecated
deprecated
No description
in
Theme at line 519
static Theme|null
getByHandle(string $pThemeHandle)
Get an installed theme given its handle.
in
Theme at line 550
static Theme|null
getByID(int $pThemeID)
Get an installed theme given its ID.
in
Theme at line 582
static protected Theme|null
populateThemeQuery(string $where, array $args)
Get the instance representing an installed theme.
in
Theme at line 633
static Theme|null
add(string $pThemeHandle, Package|Package|null $pkg = null)
Install a theme given its handle.
in
Theme at line 662
File[]
getFilesInTheme()
Grab all files in theme that are PHP based (or html if we go that route) and then lists them out, by type, allowing people to install them as page type, etc.
..
in
Theme at line 715
static private stdClass
getThemeNameAndDescription(string $dir, string $pThemeHandle, string $pkgHandle = '')
Get the theme details by reading a directory containing the theme.
in
Theme at line 797
export(SimpleXMLElement $node)
Export this theme by creating the XML nodes under the provided XML node.
in
Theme at line 815
static
exportList(SimpleXMLElement $xml)
Export all the installed themes by creating the XML nodes under the provided XML node.
in
Theme at line 834
static protected Theme|null
install(string $dir, string $pThemeHandle, int|null $pkgID)
Install a theme.
in
Theme at line 883
DocumentationProviderInterface|null
getDocumentationProvider()
No description
ColorCollection|null
getColorCollection()
No description
in
Theme at line 893
hasColorCollection()
No description
in
Theme at line 903
bool
supportsThemeDocumentation()
Checks to see whether the capability of theme documentation exists for this theme.
in
Theme at line 912
Page|null
getThemeDocumentationParentPage()
No description
in
Theme at line 926
bool
hasThemeDocumentation()
Checks to see if theme documentation has been installed
in
Theme at line 937
array
getThemeDocumentationPages()
Returns an array of documentation pages for this theme
in
Theme at line 955
updateThemeCustomClass()
(Re)Scan the theme folder to check if it contains the page_theme.php file: if so, marks the theme as having a controller.
in
Theme at line 977
int|null
getThemeID()
Get the ID of the installed theme (if available).
in
Theme at line 987
string
getThemeName()
Get the (English) name of the theme.
in
Theme at line 999
string
getThemeDisplayName(string $format = 'html')
Get the localized name for this theme (escaped accordingly to $format).
int|null
getPackageID()
Get the ID of the package providing this theme (if available).
string|false|null
getPackageHandle()
Get the handle of the package providing this theme (if available).
hasCustomClass()
Returns whether a theme has a custom class.
string
getThemeHandle()
Get the handle of this theme.
string
getThemeDescription()
Get the (English) description of this theme.
string
getThemeDisplayDescription(string $format = 'html')
Get the localized description for this theme (escaped accordingly to $format).
string
getThemeDirectory()
Get the directory containing this theme.
string
getThemeURL()
Get the URL prefix of the assets provided by this theme.
string
getThemeEditorCSS()
Get the URL of the theme typography.css file.
setThemeURL(string $pThemeURL)
Set the URL prefix of the assets provided by this theme.
setThemeDirectory(string $pThemeDirectory)
Set the absolute path of the theme folder.
setThemeHandle(string $pThemeHandle)
Set the handle of this theme.
setStylesheetCachePath(string $path)
Set the absolute path of a directory where the CSS stylesheet files should be stored.
setStylesheetCacheRelativePath(string $path)
Set the path of a directory where the CSS stylesheet files should be stored, relative to the website root directory.
string
getStylesheetCachePath()
Get the absolute path of a directory where the CSS stylesheet files should be stored.
string
getStylesheetCacheRelativePath()
Get the path of a directory where the CSS stylesheet files should be stored, relative to the website root directory.
bool
isUninstallable()
Is this theme uninstallable?
Image
getThemeThumbnail()
Get the theme thumbnail image.
applyToSite(Site $site = null)
Apply this theme to all the pages of a site.
static Theme|null
getSiteTheme()
Get the theme for the current site.
uninstall()
Uninstall this theme.
registerAssets()
No description
bool
supportsGridFramework()
Does this theme support a grid framework?
supportsFeature(string $feature)
No description
GridFramework|null
getThemeGridFrameworkObject()
Get the grid framework supported by this theme.
string
getThemeGridFrameworkHandle()
No description
string[]
getThemeSupportedFeatures()
Get the handles of the features supported by this theme.
array
getThemeBlockClasses()
Get the theme-specific CSS classes for every block.
array
getThemeAreaClasses()
Get the theme-specific CSS classes for every area.
array
getThemeEditorClasses()
Get the theme-specific style names to be used in the rich text editor.
array
getThemeDefaultBlockTemplates()
Get the theme-specific templates for every block.
array
getThemeResponsiveImageMap()
Get the handles of the thumbnail types and related resolution breakpoint. Important: make sure to define these in proper ascending size order, otherwise you might get inconsistencies in certain aspects of the UI that refer to these image types.