Files
ares/views/admin/pages/category_form.html
Beyhan Oğur 4d92991817 first commit
2026-04-26 21:30:42 +03:00

76 lines
3.5 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div class="container-fluid">
<h2>{{ if .IsEdit }}Kategori Düzenle{{ else }}Yeni Kategori{{ end }}</h2>
<div class="card border-0 shadow-sm">
<div class="card-body">
{{ if .IsEdit }}
<form action="/admin/categories/{{ .Category.ID }}/update" method="POST">
{{ else }}
<form action="/admin/categories/create" method="POST">
{{ end }}
<div class="mb-3">
<label class="form-label">Başlık</label>
<input id="category-title" type="text" name="title" class="form-control" value="{{ if .IsEdit }}{{ .Category.Title }}{{ end }}" required>
</div>
<div class="mb-3">
<label class="form-label">Slug</label>
<div class="input-group">
<input id="category-slug" type="text" name="slug" class="form-control" value="{{ if .IsEdit }}{{ .Category.Slug }}{{ end }}" required>
<button id="reset-slug" type="button" class="btn btn-outline-secondary">Oluştur</button>
</div>
<div class="form-text">Slug otomatik oluşturulur; düzenleyebilirsiniz.</div>
</div>
<div class="mb-3">
<label class="form-label">ıklama</label>
<textarea name="description" class="form-control">{{ if .IsEdit }}{{ .Category.Description }}{{ end }}</textarea>
</div>
<div class="mb-3">
<label class="form-label">Parent</label>
<select name="parent_id" class="form-select">
<option value="">-- Yok --</option>
{{ range .Parents }}
<option value="{{ .ID }}" {{ if $.IsEdit }}{{ if eq $.ParentID .ID }}selected{{ end }}{{ end }}>{{ .Title }}</option>
{{ end }}
</select>
</div>
<div class="d-flex gap-2">
<a href="/admin/content/categories" class="btn btn-secondary">Geri</a>
<button class="btn btn-primary" type="submit">Kaydet</button>
</div>
</form>
</div>
</div>
</div>
<script>
(function(){
function slugify(s){
if(!s) return '';
s = s.trim();
// Turkish char replacements
s = s.replace(/ç/g,'c').replace(/Ç/g,'c')
.replace(/ğ/g,'g').replace(/Ğ/g,'g')
.replace(/ı/g,'i').replace(/İ/g,'i')
.replace(/ö/g,'o').replace(/Ö/g,'o')
.replace(/ş/g,'s').replace(/Ş/g,'s')
.replace(/ü/g,'u').replace(/Ü/g,'u');
// remove diacritics
s = s.normalize('NFKD').replace(/\p{M}/gu, '');
s = s.toLowerCase();
s = s.replace(/[^a-z0-9]+/g,'-');
s = s.replace(/^-+|-+$/g,'');
return s;
}
const titleEl = document.getElementById('category-title');
const slugEl = document.getElementById('category-slug');
const resetBtn = document.getElementById('reset-slug');
if(!titleEl || !slugEl) return;
let manual = false;
slugEl.addEventListener('input', ()=> { manual = true; });
titleEl.addEventListener('input', ()=> {
if(!manual){ slugEl.value = slugify(titleEl.value); }
});
resetBtn.addEventListener('click', ()=> { slugEl.value = slugify(titleEl.value); manual = false; });
})();
</script>