Как создать новую статью MediaWiki с предварительно загруженным текстом на основе ввода HTML-формы?

Я создаю частную вики с помощью MediaWiki и добавляю специальную страницу с HTML, чтобы создать своего рода страницу входа в шаблон. Когда пользователь отправляет ввод, я хотел бы создать новую страницу WikiPage, заполненную вводимым текстом в формате, аналогичном моему шаблону. Я экспериментировал с семантическими формами, и они отлично справляются с разрешением действий шаблонов / форм, но все еще не совсем идеально. Для вики требуется только два шаблона главных страниц, поэтому я хочу просто создать их сам и сделать из него невероятно простой пользовательский интерфейс для других. Могу ли я сделать это только с помощью HTML и PHP или мне нужен вспомогательный JavaScript? Как сохранить данные из форм и программно сгенерировать с их помощью новую страницу WikiPage на PHP? Я выполнил new WikiPage(...) и попробовал new Article(...), но полагаю, что мне все еще нужно взаимодействовать с базой данных.


person Tim Cron    schedule 25.06.2015    source источник


Ответы (3)


Вам нужно будет сделать new WikiPage (), а затем doEditContent, вы можете попробовать посмотреть на этот простой код в расширении https://github.com/mkroetzsch/AutoCreatePage/blob/master/AutoCreatePage.php#L123, который автоматически создает страницы, если они не созданы. Документировано здесь https://www.mediawiki.org/wiki/Extension:AutoCreatePage

person Sumit    schedule 07.07.2015

edit.php может создать для вас статью, а исходный код короткий и легкий для понимания. .

person Tgr    schedule 28.06.2015

Минимальный код:

$title = Title::newFromText( 'Desired page title goes here' );
if ( !is_null( $title ) && !$title->isKnown() && $title->canExist() ){
    $page = new WikiPage( $title );
    $content = ContentHandler::makeContent( 'Page content goes here', $title );
    $page->doEditContent( $content, 'Edit summary goes here' );
}
person Sophivorus    schedule 21.04.2018