Skip to content

Commit ba8234b

Browse files
author
mominur-helios
committed
add breadcrumbs
1 parent 84c8a63 commit ba8234b

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

home/views.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,18 @@ def get_files_from_directory(directory_path):
4040
return files
4141

4242

43+
def get_breadcrumbs(request):
44+
path_components = [component for component in request.path.split('/') if component]
45+
breadcrumbs = []
46+
url = ''
47+
48+
for component in path_components:
49+
url += f'/{component}'
50+
breadcrumbs.append({'name': component, 'url': url})
51+
52+
return breadcrumbs
53+
54+
4355
def file_manager(request, directory=''):
4456
media_path = os.path.join(settings.MEDIA_ROOT)
4557
directories = generate_nested_directory(media_path, media_path)
@@ -50,11 +62,14 @@ def file_manager(request, directory=''):
5062
if os.path.isdir(selected_directory_path):
5163
files = get_files_from_directory(selected_directory_path)
5264

65+
breadcrumbs = get_breadcrumbs(request)
66+
5367
context = {
5468
'directories': directories,
5569
'files': files,
5670
'selected_directory': selected_directory,
5771
'segment': 'file_manager',
72+
'breadcrumbs': breadcrumbs
5873
}
5974
return render(request, 'pages/file-manager.html', context)
6075

templates/pages/file-manager.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,17 @@
1313
<div class="container-fluid py-4 px-5">
1414
<div class="row">
1515
<div class="col-lg-3 border py-2">
16+
<nav aria-label="breadcrumb">
17+
<ol class="breadcrumb">
18+
{% for breadcrumb in breadcrumbs %}
19+
{% if forloop.last %}
20+
<li class="breadcrumb-item active" aria-current="page">{{ breadcrumb.name }}</li>
21+
{% else %}
22+
<li class="breadcrumb-item"><a href="{{ breadcrumb.url }}">{{ breadcrumb.name }}</a></li>
23+
{% endif %}
24+
{% endfor %}
25+
</ol>
26+
</nav>
1627
<ul class="">
1728
{% for directory in directories %}
1829
{% if directory.directories %}

0 commit comments

Comments
 (0)