diff options
Diffstat (limited to 'framework')
-rw-r--r-- | framework/Exceptions/messages.txt | 1 | ||||
-rw-r--r-- | framework/Web/UI/TClientScriptManager.php | 10 | ||||
-rw-r--r-- | framework/Web/UI/TPage.php | 3 |
3 files changed, 14 insertions, 0 deletions
diff --git a/framework/Exceptions/messages.txt b/framework/Exceptions/messages.txt index baddb754..c9607f00 100644 --- a/framework/Exceptions/messages.txt +++ b/framework/Exceptions/messages.txt @@ -193,6 +193,7 @@ page_isvalid_unknown = TPage.IsValid has not been evaluated yet. page_postbackcontrol_invalid = Unable to determine postback control '{0}'.
page_control_outofform = {0} '{1}' must be enclosed within TForm.
page_head_duplicated = A page can contain at most one THead.
+page_head_required = A THead control is needed in page template in order to render CSS and js in the HTML head section.
page_statepersister_invalid = Page state persister must implement IPageStatePersister interface.
csmanager_pradoscript_invalid = Unknown Prado script library name '{0}'.
diff --git a/framework/Web/UI/TClientScriptManager.php b/framework/Web/UI/TClientScriptManager.php index efb8ec17..5f924397 100644 --- a/framework/Web/UI/TClientScriptManager.php +++ b/framework/Web/UI/TClientScriptManager.php @@ -87,6 +87,16 @@ class TClientScriptManager extends TApplicationComponent } /** + * @return boolean whether THead is required in order to render CSS and js within head + * @since 3.1.1 + */ + public function getRequiresHead() + { + return count($this->_styleSheetFiles) || count($this->_styleSheets) + || count($this->_headScriptFiles) || count($this->_headScripts); + } + + /** * Registers Prado javascript by library name. See "Web/Javascripts/source/packages.php" * for library names. * @param string script library name. diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php index 1a9f45c6..f368bc60 100644 --- a/framework/Web/UI/TPage.php +++ b/framework/Web/UI/TPage.php @@ -659,6 +659,9 @@ class TPage extends TTemplateControl foreach($this->_styleSheet->getJavaScriptFiles() as $url)
$cs->registerHeadScriptFile($url,$url);
}
+
+ if($cs->getRequiresHead() && $this->getHead()===null)
+ throw new TConfigurationException('page_head_required');
}
/**
|