Совет 6.23: Используйте добавление для включения темы

Редактирование с добавлением комментария хорошо вписывается в соглашение «Поиск темы»,

где пользователь может захотеть добавить ссылку на страницу темы только внизу страницы.

Ввод и добавление выполняются значительно быстрее и менее сложны, чем редактирование

Существует несколько вариантов реализации добавления комментария.

возможности, а некоторые варианты аспектов проиллюстрированы хаками для обоих

модульная модель вики и модель разбора запросов.

Модульная версия QuickiWiki

В QuickiWiki* функцию редактирования можно легко изменить несколькими способами.

в зависимости от вашего предпочтительного действия кнопки по умолчанию. Один пример показан в

Рисунок 6-7, где действие кнопки было изменено, чтобы добавить комментарий. Редактировать

полная страница пользователю необходимо дополнительно установить флажок под кнопкой.

Другой вариант показан на рис. 6-8, где кнопка по-прежнему вызывает

полное редактирование, но флажок предварительно установлен, чтобы сделать действие по умолчанию вместо «добавить

комментарий".


ВЗЛОМ ВАШЕГО ИСТОЧНИКА WIKI

183

Ο Редактировать страницу

РИСУНОК 6-7.

Изменить страницу, измененную для добавления

комментарий по умолчанию с

выбор флажка для редактирования

вся страница

PДобавить комментарий

РИСУНОК 6-8.

Вариант редактирования или

добавить, где чек

поле по умолчанию для добавления

Установите флажок в обратном порядке в любом случае, чтобы сделать «редактировать эту страницу»

действие по умолчанию, что, однако, делает добавление менее удобным и скорее

противоречит цели изменения.

Изменение кода в модуле просмотра (wiki .cgi) достаточно простое, здесь показано

реализация второго варианта кнопки и флажка:

<form method=post action="edit.cgi?$page">

<input type=submit value=" Редактировать эту страницу">

<input type="checkbox" name="mode"

value="append" отмечен>Добавить комментарий

</форма>

Это работает совместно с модулями редактирования и сохранения. Модификация модуля редактирования

включает в себя чтение состояния флажка и использование его для изменения того, что показано на

форма редактирования; другими словами, сделать его пустым. Вставьте эти строки сразу после той части, которая

читает $ENV{QUERY_STRING}:

читать (НС, $_,

$ENV{CONTENT_LENGTH} );

мой $mode = (/append/) ;