本文整理汇总了PHP中JDocument::addScript方法的典型用法代码示例。如果您正苦于以下问题:PHP JDocument::addScript方法的具体用法?PHP JDocument::addScript怎么用?PHP JDocument::addScript使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JDocument
的用法示例。
在下文中一共展示了JDocument::addScript方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mapJS
/**
* Adds the map javascript to the document
*/
protected function mapJS(JDocument $document)
{
// Add map interface Javascript
JHtml::_('behavior.framework', true);
$document->addScript('/libraries/openlayers/OpenLayers.debug.js');
$document->addScript('/swg/js/maps.js');
$document->addScript('/swg/js/events.js');
}
示例2: populate
public function populate()
{
if (!empty($this->script_files)) {
ksort($this->script_files);
foreach ($this->script_files as $order => $order_entries) {
foreach ($order_entries as $entry_key => $entry) {
$this->document->addScript($entry);
}
}
}
if (!empty($this->inline_scripts)) {
ksort($this->inline_scripts);
foreach ($this->inline_scripts as $order => $order_entries) {
foreach ($order_entries as $entry_key => $entry) {
$this->document->addScriptDeclaration($entry);
}
}
}
if (!empty($this->style_files)) {
ksort($this->style_files);
foreach ($this->style_files as $order => $order_entries) {
foreach ($order_entries as $entry_key => $entry) {
$this->document->addStyleSheet($entry);
}
}
}
if (!empty($this->inline_styles)) {
ksort($this->inline_styles);
foreach ($this->inline_styles as $order => $order_entries) {
foreach ($order_entries as $entry_key => $entry) {
$this->document->addStyleDeclaration($entry);
}
}
}
// Generate domready script
if (!empty($this->domready_scripts)) {
ksort($this->domready_scripts);
$strHtml = 'window.addEvent(\'domready\', function() {';
foreach ($this->domready_scripts as $order => $order_entries) {
foreach ($order_entries as $entry_key => $entry) {
$strHtml .= chr(13) . $entry;
}
}
$strHtml .= chr(13) . '});' . chr(13);
$this->document->addScriptDeclaration($strHtml);
}
if (!empty($this->loadevent_scripts)) {
ksort($this->loadevent_scripts);
$strHtml = 'window.addEvent(\'load\', function() {';
foreach ($this->loadevent_scripts as $order => $order_entries) {
foreach ($order_entries as $entry_key => $entry) {
$strHtml .= chr(13) . $entry;
}
}
$strHtml .= chr(13) . '});' . chr(13);
$this->document->addScriptDeclaration($strHtml);
}
$this->populated = true;
$this->reset();
}
示例3: addScript
/**
* Call a JS file. Manage fork files.
*
* @access protected static
* @param JDocument $doc Document.
* @param string $base Component base from site root.
* @param string $file Component file.
* @param boolean $replace Replace the file or override. (Default : Replace)
* @return void
*
* @since Cook 2.0
*/
protected static function addScript($doc, $base, $file, $replace = true)
{
$url = JURI::root(true) . '/' . $base . '/' . $file;
$url = str_replace(DS, '/', $url);
$urlFork = null;
if (file_exists(JPATH_SITE . DS . $base . DS . 'fork' . DS . $file)) {
$urlFork = JURI::root(true) . '/' . $base . '/fork/' . $file;
$urlFork = str_replace(DS, '/', $urlFork);
}
if ($replace && $urlFork) {
$url = $urlFork;
}
$doc->addScript($url);
if (!$replace && $urlFork) {
$doc->addScript($urlFork);
}
}
示例4: testAddScript
/**
* Test...
*
* @return void
*/
public function testAddScript()
{
$this->object->addScript('http://www.joomla.org');
$this->assertThat($this->object->_scripts['http://www.joomla.org']['mime'], $this->equalTo('text/javascript'), 'JDocument->addScript failed');
$this->assertThat($this->object->_scripts['http://www.joomla.org']['defer'], $this->equalTo(false), 'JDocument->addScript failed');
$this->assertThat($this->object->_scripts['http://www.joomla.org']['async'], $this->equalTo(false), 'JDocument->addScript failed');
$this->object->addScript('http://test.joomla.org', 'My Type', true, true);
$this->assertThat($this->object->_scripts['http://test.joomla.org']['mime'], $this->equalTo('My Type'), 'JDocument->addScript failed');
$this->assertThat($this->object->_scripts['http://test.joomla.org']['defer'], $this->equalTo(true), 'JDocument->addScript failed');
$this->assertThat($this->object->_scripts['http://test.joomla.org']['async'], $this->equalTo(true), 'JDocument->addScript failed');
}
示例5: attachThemeCustomiser
/**
* Initialising Theme Customiser if necessary
* @param (bool) If true, additional LESS variables will be added to Theme Customiser
*/
protected function attachThemeCustomiser($useVars = true)
{
if (self::$less_js_included == false) {
//JHTML::_('behavior.framework', true);
JHtml::_('jquery.ui', array('core', 'sortable'));
// For standard color picker
JHtml::_('script', 'system/html5fallback.js', false, true);
JHtml::_('behavior.colorpicker');
if (!defined('JMF_TPL_ASSETS')) {
define('JMF_TPL_ASSETS', JURI::root(false) . 'plugins/system/ef4_jmframework/includes/assets/admin/');
}
$app = JFactory::getApplication();
$jconf = JFactory::getConfig();
$cookie_path = $jconf->get('cookie_path') == '' ? JUri::base(true) : $jconf->get('cookie_path');
$cookie_domain = $jconf->get('cookie_domain') == '' ? $_SERVER['HTTP_HOST'] : $jconf->get('cookie_domain');
$global_vars = array();
// taking LESS initial variables generated by the template (based on parameters)
if ($useVars) {
$params = $this->document->params->toArray();
$variables = $this->params->get('jm_bootstrap_variables', array());
$variables = array_merge($params, $variables);
if (!empty($variables)) {
foreach ($variables as $k => $v) {
$global_vars['@' . $k] = $v;
}
}
}
// Making sure that variables don't start with @.
// Less.js doesn't want @ before variable name, whicle LessC PHP compiler requires it.
$form_vars = array();
foreach ($global_vars as $k => $v) {
$form_vars[str_replace('@', '', $k)] = $v;
}
// Including and merging variables stored in a Cookie by Theme Customiser, which override default params.
$ts_cookie = JFactory::getApplication()->input->cookie->get('JMTH_TIMESTAMP_' . $this->template, 0);
if ((int) $ts_cookie != -1) {
//$form_cookie_vars = JFactory::getApplication()->input->cookie->get('JM_form_vars_'.$this->template, false, 'raw');
$form_cookie_vars = JFactory::getApplication()->getUserState($this->template . '.themer.state', false);
if ($form_cookie_vars) {
$cashed_vars = json_decode($form_cookie_vars, true);
foreach ($cashed_vars as $k => $v) {
if (preg_replace('#[^0-9a-z]#i', '', $v) != '') {
$form_vars[$k] = $v;
}
}
}
}
JFactory::getApplication()->input->cookie->set('JMTH_TIMESTAMP_' . $this->template, time(), 0, $cookie_path);
// Saving all set of variables into Cookie. Just to be sure they won't get lost somewhere.
//JFactory::getApplication()->input->cookie->set('JM_form_vars_'.$this->template, json_encode($form_vars), 0, $cookie_path);
JFactory::getApplication()->setUserState($this->template . '.themer.state', json_encode($form_vars));
// All LESS vars that go directly in LESS object start with 'JM'. We don't need to pass any other variables.
$less_vars = array();
foreach ($form_vars as $k => $v) {
if (substr($k, 0, 2) == 'JM') {
$less_vars[$k] = $v;
}
}
$developer_mode = $this->params->get('devmode', false) == '1' ? true : false;
$less_mode = $developer_mode ? 'development' : 'production';
$less_log = $developer_mode ? '2' : '0';
$less_dump = $developer_mode ? 'comments' : '';
$script_init = '
less = {
env: "' . $less_mode . '",
mode: "browser",
async: false,
logLevel: ' . $less_log . ',
fileAsync: false,
poll: 1000,
functions: {},
dumpLineNumbers: "' . $less_dump . '",
relativeUrls: false,
rootpath: "' . JMF_TPL_URL . '/less/",
globalVars: ' . json_encode($less_vars) . '
};';
// Must use addCustomTag() instead of addScript(), because LESS's init script has to go before LESS library.
$this->document->addCustomTag('<script type="text/javascript">' . $script_init . '</script>');
$this->document->addCustomTag('<script type="text/javascript" src="' . JMF_FRAMEWORK_URL . '/includes/assets/template/themecustomiser/less-1.7.0.js' . '"></script>');
$this->document->addCustomTag('<script type="text/javascript" src="' . JMF_FRAMEWORK_URL . '/includes/assets/template/themecustomiser/jmthemecustomiser.jquery.js' . '"></script>');
$language = array('LANG_PLEASE_WAIT' => JText::_('PLG_SYSTEM_JMFRAMEWORK_THEMER_WAIT'), 'LANG_PLEASE_WAIT_APPLYING' => JText::_('PLG_SYSTEM_JMFRAMEWORK_THEMER_WAIT_APPLYING'), 'LANG_PLEASE_WAIT_SAVING' => JText::_('PLG_SYSTEM_JMFRAMEWORK_THEMER_WAIT_SAVING'), 'LANG_PLEASE_WAIT_RELOADING' => JText::_('PLG_SYSTEM_JMFRAMEWORK_THEMER_WAIT_RELOADING'), 'LANG_ERROR_FORBIDDEN' => JText::_('PLG_SYSTEM_JMFRAMEWORK_THEME_LOGIN_ERROR'), 'LANG_ERROR_UNAUTHORISED' => JText::_('PLG_SYSTEM_JMFRAMEWORK_THEME_ACCESS_ERROR'), 'LANG_ERROR_BAD_REQUEST' => JText::_('PLG_SYSTEM_JMFRAMEWORK_THEME_BAD_REQUEST_ERROR'));
// extending JMThemeCustomiser with some variables and initialising Theme Customiser
$script_interface = "\n jQuery.extend(JMThemeCustomiser, {\n url: '" . JFactory::getURI()->toString() . "',\n lang: " . json_encode($language) . ",\n lessVars: " . json_encode($form_vars) . ",\n cookie: {path: '" . $cookie_path . "', domain: '" . $cookie_domain . "'},\n styleId : " . (int) $app->getTemplate('template')->id . ",\n login_form : " . (int) $this->document->params->get('themerlogin', 0) . "\n });\n\n JMThemeCustomiser.init(\"" . $this->template . "\");\n \n jQuery(document).ready(function(){\n JMThemeCustomiser.render();\n jQuery(document).trigger('JMFrameworkInit');\n });\n ";
$this->document->addCustomTag('<script type="text/javascript">' . $script_interface . '</script>');
// Adding all scripts manually
$this->document->addStyleSheet(JMF_FRAMEWORK_URL . '/includes/assets/template/themecustomiser/jmthemecustomiser.css');
//$this->document->addStyleSheet(JURI::root(false).'plugins/system/ef4_jmframework/includes/assets/admin/formfields/jmiriscolor/iris.min.css');
$this->document->addScript(JURI::root(false) . 'plugins/system/ef4_jmframework/includes/assets/admin/js/jquery/jquery.ui.draggable.js');
$this->document->addScript(JURI::root(false) . 'plugins/system/ef4_jmframework/includes/assets/admin/js/jquery/jquery.ui.slider.js');
$this->document->addScript(JURI::root(false) . 'plugins/system/ef4_jmframework/includes/assets/admin/js/jquery/jquery.ui.accordion.js');
//$this->document->addScript(JURI::root(false).'plugins/system/ef4_jmframework/includes/assets/admin/formfields/jmiriscolor/iris.js');
$this->document->addScript(JURI::root(false) . 'plugins/system/ef4_jmframework/includes/assets/admin/js/jmoptiongroups.js');
$this->document->addScript(JURI::root(false) . 'plugins/system/ef4_jmframework/includes/assets/admin/js/jmgooglefont.js');
$this->document->addScriptDeclaration("\n jQuery(document).on('JMFrameworkInit', function(){\n jQuery('.jmirispicker').each(function() {\n jQuery(this).iris({\n hide: true,\n palettes: true\n });\n });\n \n jQuery('.minicolors').each(function() {\n jQuery(this).minicolors({\n control: jQuery(this).attr('data-control') || 'hue',\n position: jQuery(this).attr('data-position') || 'right',\n theme: 'bootstrap'\n });\n });\n \n jQuery(document).on('click',function(event){\n jQuery('.jmirispicker').each(function() {\n if (event.target != this && typeof jQuery(this).iris != 'undefined') {\n jQuery(this).iris('hide');\n }\n });\n });\n \n var JMThemerGoogleFonts = new JMGoogleFontHelper('.google-font-url').initialise();\n \n });\n ");
self::$less_js_included = true;
}
//.........这里部分代码省略.........
示例6: addScript
public function addScript($file, $order = self::DEFAULT_ORDER)
{
if (!empty($file)) {
$this->document->addScript($file);
}
}
示例7: addScript
public function addScript($url, $type = "text/javascript", $defer = false, $async = false)
{
return $this->document->addScript($url, $type, $defer, $async);
}
示例8: testEnsureAddScriptReturnsThisObject
/**
* @testdox Test that addScript returns an instance of $this
*/
public function testEnsureAddScriptReturnsThisObject()
{
$this->assertSame($this->object, $this->object->addScript('http://www.joomla.org/media/system/js/core.js'));
}
示例9: addScript
/**
* @param $file
*
* @internal param int $priority
* @internal param array $browserspecific
*/
public function addScript($file)
{
$path_parts = pathinfo($file);
$this->document->addScript($file);
}
示例10: getMapCode
/**
* @param JDocument $doc
* @param object $location
*
* @return string
*/
private function getMapCode($doc, $location)
{
// Set Google map API key and load the script
$apiKey = "";
if ($this->params->get("google_maps_key")) {
$apiKey = "&key=" . $apiKey;
}
$doc->addScript("//maps.googleapis.com/maps/api/js?sensor=false" . $apiKey);
// Put the JS code that initializes the map.
$js = '
function initialize() {
var cfLatlng = new google.maps.LatLng(' . $location->latitude . ', ' . $location->longitude . ');
var map_canvas = document.getElementById("crowdf_map_canvas");
var map_options = {
center: cfLatlng,
disableDefaultUI: true,
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(map_canvas, map_options)
var marker = new google.maps.Marker({
position: cfLatlng,
map: map
});
}
google.maps.event.addDomListener(window, "load", initialize);
';
$doc->addScriptDeclaration($js);
// Put the map element style
$style = '#crowdf_map_canvas {
width: ' . $this->params->get("google_maps_width", 300) . 'px;
height: ' . $this->params->get("google_maps_height", 300) . 'px;
}';
$doc->addStyleDeclaration($style);
// Prepare the HTML code
$code = '
<div class="col-md-5">
<div id="crowdf_map_canvas"></div>
</div>';
return $code;
}