【发布时间】:2015-04-05 02:57:52
【问题描述】:
尝试为 Mediawiki 制作新皮肤。 CSS 文件正在加载,但不是 JavaScript 文件。在 script.js 文件中,我只有一个简单的 alert 语句,但是页面加载后什么都没有发生。
NewSkin.php 文件:
<?php
if( !defined( 'MEDIAWIKI' ) ) {
die( 'This is a skin to the MediaWiki package and cannot be run standalone.' );
}
$wgExtensionCredits['skin'][] = array(
'path' => __FILE__,
'name' => 'newskin',
'url' => 'http://exmaple.com/',
'version' => '1.2-alpha',
'author' => array(
'Author Name',
),
'descriptionmsg' => 'newskin-desc'
);
$wgValidSkinNames['newskin'] = 'NewSkin';
$wgAutoloadClasses['SkinNewSkin'] = __DIR__ . '/NewSkin.skin.php';
$wgMessagesDirs['SkinNewSkin'] = __DIR__ . '/i18n';
$wgResourceModules['skins.newskin'] = array(
'styles' => array(
'newskin/resources/bootstrap.css',
'newskin/resources/styles.css',
),
'scripts' => array(
'newskin/resources/jquery.js',
'newskin/resources/script.js',
),
'remoteBasePath' => &$GLOBALS['wgStylePath'],
'localBasePath' => &$GLOBALS['wgStyleDirectory']
);
?>
NewSkin.skin.php 文件:
<?php
class SkinNewSkin extends SkinTemplate {
var $skinname = 'newskin', $stylename = 'newskin',
$template = 'NewSkinTemplate', $useHeadElement = true;
public function initPage( OutputPage $out ) {
parent::initPage( $out );
/* Assures mobile devices that the site doesn't assume traditional
* desktop dimensions, so they won't downscale and will instead respect
* things like CSS's @media rules */
$out->addHeadItem( 'viewport',
'<meta name="viewport" content="width=device-width, initial-scale=1" />'
);
$out->addModuleScripts('skins.newskin');
}
/**
* @param $out OutputPage object
*/
function setupSkinUserCss( OutputPage $out ) {
parent::setupSkinUserCss( $out );
$out->addModuleStyles( 'skins.newskin' );
}
}
class NewSkinTemplate extends BaseTemplate {
public function execute() {
$this->html( 'headelement' );
$this->html( 'bodytext' );
}
}
?>
【问题讨论】:
-
jquery.js只是 jQuery 吗?如果是这样,请将其删除(mediawiki 内置了 jQuery)。 -
是的,但是,除此之外,我还需要导入 bootstrap.js 和另一个 custom.js。不确定我在这里缺少什么。
-
嗯,我看不出 PHP 代码有什么问题。您的 JavaScript 控制台中是否有任何错误?
-
我尝试从矢量皮肤中复制代码并进行翻译。这似乎对我有用。
-
您也可以发布您的 JavaScript 代码吗?
标签: javascript php mediawiki skin