Задать вопрос
@Origihor

Какова концепция хлебных крошек для подсущностей?

Даны абстрактные сущности: «директория/файл» (можно заменить на «музыкальный альбом/композиция», либо «сериал/эпизод»).

Структура url
«/files» список всех файлов
«/file/file_id» файл
«/folders» список всех директорий
«/folder/folder_id» директория
«/folder/folder_id/files» список файлов в директории

Адрес: «/file/file_id», крошки: «Files > file_id»
Адрес: «/folder/folder_id», крошки: «Folder > folder_id»
________

Проблема:
Находясь в директории, пользователь видит список файлов, кликнув, к примеру, по файлу с id 64, он попадет по адресу «/file/64» (со страницы «/folder/folder_id/files»). Нарушилась структура - нет возможности вернуться в предыдущую директорию по крошкам (до клика «Folder > folder_id > Files» и после «Files > 64»). Логичнее был бы вариант «Folder > folder_id > Files > 64»

Вариант 1:
Оставить как есть.
Минусы: описал выше

Вариант 2:
Перейдя на страницу «/file/file_id» (не важно откуда), проверяем, находится ли файл в какой либо директории (да, он может и не быть в директории, не забываем про абстракцию), если да, рисуем крошки «Folder > folder_id > Files > file_id», если же нет, то «Files > file_id».
Минусы: если файл находится в какой либо из директорий, а переход совершен со страницы «/files», вновь нарушается иерархия, так как крошки примут вид «Folder > folder_id > Files > file_id», перейдя же на уровень выше, пользователь увидит список файлов в директории, хотя ранее он просматривал список всех файлов.

Вариант 3:
Добавить страницу «/folder/folder_id/files/file_id»
Плюсы: сохранена иерархия
Минусы:
# дублирование страниц («/file/file_id» и «/folder/folder_id/files/file_id» одна и та же страница)
# длинный юрл
# не ясно, какой из адресов для пс сделать основным: «/file/file_id или «/folder/folder_id/files/file_id». Перейдя из поисковой системы к определенному файлу, если пользователь и воспользуется крошками, то для него будет полезнее перейти к списку файлов в директории т.е. логичнее сделать «/folder/folder_id/files/file_id» основным для пс, но если же файл не находится ни в одной из директорий, то основным адресом будет «/file/file_id». И вновь какая-то архитектурная ошибка, если сегодня пятница, то основной юрл один, если суббота, то другой... Как бы поступили вы?

Если кто-то запутался, попробуйте подставить альтернативные сущности предложенные выше.
  • Вопрос задан
  • 218 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Есть список объектов - это объекты структуры.
2. Есть объекты со свойством "объект-родитель" - это структура (связи).
3. Есть фильтры (допустим, тэги) по свойствам объектов.
Вы должны определиться: где у Вас и что.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы