Сейчас обработка GET/POST параметров делается абсолютно хаотично, что приводит к разного рода визуальным артефактам, вроде - Изменили выработку сырья, нажали Посчитать, а значение энергии показывается старое (минуса). Такой глюк кстати был и в оригинале, надо просто несколько раз прокликать Посчитать.
И на других страницах могут быть подобные приколы. Оно конечно не критичное, но не красиво.
Заодно продвинемся немного в сторону MVC.
Как сейчас:
- Вначале рисуется PageHeader и левое меню
- Затем вызывается код страницы в
pages. Там же находятся и хаотичные обработчики GET/POST
- Завершается всё это футером
Как надо сделать:
- Сделать базовый класс
Page
- Метод controller, для обработки GET/POST. Причём сделать так, что в некоторых случаях НЕ надо делать view страницы, если в процессе контроллера надо вывести что-то особенное и остановить работу
- Метод view. Просто отрисовка как в старом варианте (вначале PageHeader, потом контент, потом подвал). Учесть что некоторые страницы являются bare - то есть используют полностью кастомный HTML - например доклады. Там нет стандартного хедера, левого меню и всего такого. В router.json такие страницы помечаются как bare = true.
Сейчас обработка GET/POST параметров делается абсолютно хаотично, что приводит к разного рода визуальным артефактам, вроде - Изменили выработку сырья, нажали Посчитать, а значение энергии показывается старое (минуса). Такой глюк кстати был и в оригинале, надо просто несколько раз прокликать Посчитать.
И на других страницах могут быть подобные приколы. Оно конечно не критичное, но не красиво.
Заодно продвинемся немного в сторону MVC.
Как сейчас:
pages. Там же находятся и хаотичные обработчики GET/POSTКак надо сделать:
Page