Я создаю веб-сайт и хочу, чтобы меню создавались динамически. Факторами, которые могут влиять на меню, являются положение страницы в иерархии сайта, уровень доступа пользователя, просматривающего страницу, и тип страницы (публикация новостей, сведения о событии, страница продукта и т. Д.).
Изначально я думал о создании базы данных mysql, содержащей элементы меню с внешними ключами и дополнительную информацию для каждого элемента (целевой URL-адрес элемента меню, родительский элемент меню, заголовок элемента и т. Д.). Но я начал сталкиваться с проблемами упорядочения элементов, многослойных меню и нескольких меню.
Тогда я подумал, зачем использовать плоскую реляционную базу данных, если у меня может быть xml-файл, у которого явно указаны структура и порядок. Это редко изменится, страницам придется запрашивать базу данных MySQL, чтобы получить их содержимое, в нее могут входить некоторые идентификаторы меню.
Можете ли вы увидеть какие-либо подводные камни этого метода? У меня нет большого опыта работы с XML, кроме как использовать его в качестве шаблона, который я использую для создания других структур. Насколько легко манипулировать в php и javascript?