在 mediawiki 1.3 中单击按钮将标志保存到数据库
我在Mediawiki中是个新鲜事。我试图实现手册:tag扩展/示例( htttps> htttps:htttps://www.mediawiki。 org/wiki/手册:tag_extensions/示例)。但是示例基于Mediawiki版本< 1.3。我有一个提交按钮。如果单击“提交”按钮,我想将当前用户名和标志(例如1)保存到数据库表。但是我得到了 uck offact的语法:意外的标识符(在load.php?lang = en& amp; ext.ext.example.example.welcome%7cjquery& skin = vector&版本= h3cy2:1:1:383)。
我可以建议如何解决这个问题吗 我的钩
class PollHooks implements
\MediaWiki\Hook\ParserFirstCallInitHook
{
Public function onParserFirstCallInit( $parser ) {
$parser->setHook( 'btn', [ self::class, 'pollRender' ] );
//$parser->setHook( 'poll', [self::class, 'pollRender' ] );
}
public static function pollRender( $data, $attribs, $parser, $frame ) {
$ret = '<table class="wtable">';
$ret .= '<tr>';
$ret .= '<td align="center" colspan=2><input id="btn002" type="button" value="Submit"></td>';
$ret .= '</tr>';
$ret .= '</table>';
return $ret;
}
我的index.js
( function () {
$("#btn001").click
(
function() {
alert("Button clicked " + mw.user.getName() + ".");
console.log("Button clicked.");
$var user = mw.user.getName();
$flag = 1;
$.get(
mw.util.wikiScript(),
{
action: 'ajax',
rsargs: [user, flag],
rs: 'MediaWiki\\Extension\\Example\\SubmitApi'
}
);
}
);
}());
submapi.php
use ApiBase;
使用wikimedia \ paramvalidator \ paramvalidator;
类Sumperapi扩展了APIBASE {
public function execute() {
/* … */
global $wgUser;
$dbw = wfGetDB( DB_REPLICA );
// Insert vote
$insertQuery = $dbw->insert(
'polldb',
array(
'poll_user' => $user,
'poll_flag' => $flag
)
);
$dbw->commit();
}
public function getAllowedParams() {
return [
'level' => [
ParamValidator::PARAM_TYPE => 'integer',
ParamValidator::PARAM_REQUIRED => true,
]
];
}
} ?&gt;
I am a fresher in mediawiki. I was trying to implement Manual:Tag extensions/Example (https://www.mediawiki.org/wiki/Manual:Tag_extensions/Example). But the example is based on mediawiki version < 1.3. I have a submit button. I want to save the current user name and a flag (say 1) to a database table if the submit button is clicked. but I am getting
Uncaught SyntaxError: Unexpected identifier (at load.php?lang=en&modules=ext.Example.welcome%7Cjquery&skin=vector&version=h3cy2:1:383).
Can I anyone suggest how to resolve the issue
My hook
class PollHooks implements
\MediaWiki\Hook\ParserFirstCallInitHook
{
Public function onParserFirstCallInit( $parser ) {
$parser->setHook( 'btn', [ self::class, 'pollRender' ] );
//$parser->setHook( 'poll', [self::class, 'pollRender' ] );
}
public static function pollRender( $data, $attribs, $parser, $frame ) {
$ret = '<table class="wtable">';
$ret .= '<tr>';
$ret .= '<td align="center" colspan=2><input id="btn002" type="button" value="Submit"></td>';
$ret .= '</tr>';
$ret .= '</table>';
return $ret;
}
My index.js
( function () {
$("#btn001").click
(
function() {
alert("Button clicked " + mw.user.getName() + ".");
console.log("Button clicked.");
$var user = mw.user.getName();
$flag = 1;
$.get(
mw.util.wikiScript(),
{
action: 'ajax',
rsargs: [user, flag],
rs: 'MediaWiki\\Extension\\Example\\SubmitApi'
}
);
}
);
}() );
SubmitApi.php
use ApiBase;
use Wikimedia\ParamValidator\ParamValidator;
class SubmitApi extends ApiBase {
public function execute() {
/* … */
global $wgUser;
$dbw = wfGetDB( DB_REPLICA );
// Insert vote
$insertQuery = $dbw->insert(
'polldb',
array(
'poll_user' => $user,
'poll_flag' => $flag
)
);
$dbw->commit();
}
public function getAllowedParams() {
return [
'level' => [
ParamValidator::PARAM_TYPE => 'integer',
ParamValidator::PARAM_REQUIRED => true,
]
];
}
}
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
index.js
:从
$ var
中删除$
。index.js
:Remove the
$
from$var
.