Инструменты пользователя

Инструменты сайта


матрешка

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

матрешка [2021/10/17 19:37] (текущий)
keremet создано
Строка 1: Строка 1:
 +Разработать на HTML, JS и PHP движок сайта для создания баз знаний,​ имеющих иерархическую упорядоченность.
 +
 +База данных - MySQL. Взаимодействие PHP и MySQL должно быть реализовано через PDO (https://​www.php.net/​manual/​ru/​pdo.connections.php)
 +Изменение содержимого страницы должно происходить через AJAX, то есть без полной перезагрузки после каждого действия
 +
 +
 +== Этап 1 - Реализовать добавление блоков и их первичное отображение == 
 +Каждый блок хранит только содержимое в текстовом виде и ссылку на вышестоящий блок. Таблица блоков:​
 +  CREATE TABLE `block` (
 +    `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 +    `content` text COLLATE utf8_unicode_ci,​
 +    `id_hi` int(11),
 +    CONSTRAINT `block_id_hi` FOREIGN KEY (`id_hi`) REFERENCES `block` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
 +  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;​
 +
 +
 +В исходном состоянии существует единственный блок с id_hi = NULL и content = NULL. Этот блок отображается на всю страницу.
 +Каждый блок имеет контекстное меню, вызываемое по щелчку правой кнопкой мыши. В этом меню должен быть пункт "​Добавить дочерний блок"​. При выборе этого пункта открывается окно для текста с кнопками "​Ок"​ и "​Отмена"​. При нажатии "​Ок"​ происходит добавление дочернего блока с введенным текстом.
 +Так как на этом этапе база знаний небольшая,​ то можно извлекать и отображать все блоки сразу
 +
 +== Этап 2 - Реализовать удаление и редактирование блоков == 
 +Добавить в контекстное меню пункты "​Удалить"​ и "​Редактировать"​
 +
 +
 +== Этап 3 - Реализовать перемещение блоков мышью == 
 +Аналогично http://​mhrj.orv.org.ru/​FILES/​ddUI/​
 +
 +== Этап 4 - Разработать алгоритм отображения блоков == 
 +Извлекать не все блоки, а только те, которые будут отображаться
 +
 +
 +
 +----
 +
 +Потом:
 +  * Ссылки на блоки
 +  * Хранении истории изменений
 +  * Возможность отмены изменений
 +  * Разные цвета блоков
 +  * Хранение в блоках изображений и файлов
 +  * Поддержка смартфонов
  
матрешка.txt · Последние изменения: 2021/10/17 19:37 — keremet