Ich bin ein Neuling in Mediawiki. Ich habe versucht, Manual:Tag extensions/Example ( https://www.mediawiki.org/wiki/Manual:Tag_extensions/Example ) zu implementieren. Das Beispiel basiert jedoch auf der Mediawiki-Version < 1.3. Ich habe einen Submit-Button. Ich möchte den aktuellen Benutzernamen und ein Flag (z. B. 1) in einer Datenbanktabelle speichern, wenn auf die Schaltfläche "Senden" geklickt wird. aber ich bekomme Uncaught SyntaxError: Unexpected identifier (at load.php?lang=en&modules=ext.Example.welcome%7Cjquery&skin=vector&version=h3cy2:1:383).
Kann mir jemand vorschlagen, wie man das Problem 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;
}
Meine 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;
Verwenden Sie Wikimedia\ParamValidator\ParamValidator;
Klasse SubmitApi erweitert 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,
]
];
}
}?>
Lösung des Problems
index.js
:
$var user = mw.user.getName();
Entfernen Sie die $
aus $var
.
Keine Kommentare:
Kommentar veröffentlichen