Returns a list of component definitions declared on the page.
public static listPageComponents ( string $pageName, Cms\Classes\Theme $theme, $markup ) : array | ||
$pageName | string | Specifies the static page file name (the name of the corresponding content block file). |
$theme | Cms\Classes\Theme | Specifies a parent theme. |
Результат | array | Returns an array of component definitions |
/** * Initializes CMS components associated with the page. */ public function initCmsComponents($cmsController) { $snippetComponents = Snippet::listPageComponents($this->getFileName(), $this->theme, $this->markup . $this->code); $componentManager = ComponentManager::instance(); foreach ($snippetComponents as $componentInfo) { // Register components for snippet-based components // if they're not defined yet. This is required because // not all snippet components are registered as components, // but it's safe to register them in render-time. if (!$componentManager->hasComponent($componentInfo['class'])) { $componentManager->registerComponent($componentInfo['class'], $componentInfo['alias']); } $cmsController->addComponent($componentInfo['class'], $componentInfo['alias'], $componentInfo['properties']); } }