2015-07-21 4 views
0

Почему текст редактирования в тексте таблицы MySQL не отображается на странице статьи? Вы можете видеть это только в том случае, если вы редактируете статью, а затем видите текст, отредактированный в mySQL.Редактировать страницу Mediawiki в MySQL

Существует ли вторая таблица со статьей?

ответ

0

Я решил это, данные в таблице сохранены в памяти объекта, вам нужно удалить контент, и он работает.

1

Вы никогда не должны редактировать текст ревизии непосредственно в базе данных, чтобы избежать повреждения данных и пересмотра каждой версии страницы/редактирования. Сам text table содержит только wikitext конкретной версии/страницы, а не разобранный текст. Если вы запрашиваете страницу, MediaWiki анализирует wikitext на html и сохраняет результат в кеше парсера (синтаксический анализ является дорогостоящей задачей, поэтому было бы очень плохо, если бы производительность анализировала каждую страницу на каждом просмотре страницы). Если вы запрашиваете страницу во второй раз, контент будет запрашиваться из кеша парсера, вместо того, чтобы перерисовывать wikitext из текстовой таблицы.

Вот почему вам нужно очистить кеш-парсер, если вы измените wikitext по-другому в качестве интерфейса MediaWiki (если вы редактируете страницу в интерфейсе, MediaWiki сама вызывает повторную проверку страницы;)). Вы можете сделать это с параметром URL «action = purge» в следующий раз :)

+1

Даже очистка (или удаление кэша HTML) не будет обновлять таблицы ссылок (например, список шаблонов, используемых на странице). Изменение текста в БД приведет к несоответствию текста и хеша, и кто знает, что еще. Это плохая идея. – Tgr

+0

«Это очень плохая идея». Что я сказал :) – Florian

Смежные вопросы