This commit is contained in:
2025-11-28 16:27:10 +07:00
parent af6f1eff2e
commit 91941d7c14
11 changed files with 501 additions and 61659 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -16582,45 +16582,3 @@ html:not([data-theme="material"], [data-theme="material-dark"]) #layout-topbar {
background-position: 0;
}
}
.bg-menu {
background: #004e99;
}
.line-clamp-1 {
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
}
.line-clamp-2 {
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
}
.line-clamp-3 {
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
}
.line-clamp-4 {
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
display: -webkit-box;
overflow: hidden;
}
.btn-dash {
border-style: dashed;
border-color: gray;
}
.btn-dash:hover {
border-color: var(--color-primary);
color: #fff;
background: var(--color-primary);
}
.todo-list td {
padding: 5px;
}

File diff suppressed because one or more lines are too long

View File

@@ -28,8 +28,8 @@ function get_category_list($parentId=0, $currentCat="",$level=1, $prefix="", $ca
$stt ++;
$imgUrl = (strlen($cat_info["thumbnail"]) > 2) ? " <img src=\"".$cat_info["thumbnail"]."\" style=\"max-width:30px; max-height:30px;\" />" : "";
if($cat_info["status"]) $status = "<a href=\"javascript:update_status(".$cat_id.",'off')\" class='w-[30px] h-[30px] border-[1px] border-[#9E9E9E] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px]'><i class='fa-regular fa-eye-slash text-[#9E9E9E]'></i></a>";
else $status = "<a href=\"javascript:update_status(".$cat_id.",'on')\" class='w-[30px] h-[30px] border-[1px] border-[#0041E8] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px]'><i class='fa-regular fa-eye text-[#0041E8]'></i></a>";
if($cat_info["status"]) $status = "<a href=\"javascript:update_status(".$cat_id.",'off')\" class='btn btn-soft btn-xs btn-outline btn-square'><i class='iconify lucide--eye-off'></i></a>";
else $status = "<a href=\"javascript:update_status(".$cat_id.",'on')\" class='btn btn-soft btn-xs btn-outline btn-square'><i class='iconify lucide--eye'></i></a>";
$edit_link ="/admin/product/category-form?id=".$cat_id;
@@ -42,7 +42,7 @@ function get_category_list($parentId=0, $currentCat="",$level=1, $prefix="", $ca
}
if($cat_info['is_parent']) {
$show_category_name = "<a href=\"javascript:;\" onclick=\"RowExpand.open_child('parent_".$cat_id."')\">".$show_category_name."</a>";
$show_category_name = "<a href=\"javascript:;\" class='link-primary' onclick=\"RowExpand.open_child('parent_".$cat_id."')\">".$show_category_name."</a>";
}
$categoryTree .= "
@@ -50,19 +50,19 @@ function get_category_list($parentId=0, $currentCat="",$level=1, $prefix="", $ca
onmouseover=\"this.className='row-hover parent_".$parentId."'\" onmouseout=\"this.className='parent_".$parentId."'\">
<td>
<a name='cat_".$cat_id."'></a>
<a class='link-primary' name='cat_".$cat_id."'></a>
". $extra_space . $prefix . $stt.". ". $show_category_name . $imgUrl."
</td>
<td>
<a href='".$cat_info['request_path']."' title='Mở tại website' target='_blank'>Xem trang</a>
<a href='".$cat_info['request_path']."' class='link-primary' title='Mở tại website' target='_blank'>Xem trang</a>
</td>
<td>".$cat_id."</td>
<td class='whitespace-nowrap'>413787</td>
<td><a href='/admin/product?category=".$cat_id."'>1292</a></td>
<td><a class='link-primary' href='/admin/product?category=".$cat_id."'>1292</a></td>
<td>
<input type=text id=order_".$cat_id." value='".$cat_info["ordering"]."' size=2 onchange=\"update_order(".$cat_id.",this.value)\" />
<input class='input' type=text id=order_".$cat_id." value='".$cat_info["ordering"]."' size=2 onchange=\"update_order(".$cat_id.",this.value)\" />
<span class='status-ordering-".$cat_id."'></span>
</td>
<td class='whitespace-nowrap'>
@@ -77,11 +77,11 @@ function get_category_list($parentId=0, $currentCat="",$level=1, $prefix="", $ca
<a href='/admin/product/category-attribute?id=".$cat_id."&popup=1' class='pop-up'>Tổng</a> (".$cat_info['attribute_count'].")
</td>
<td>
<div class='list-btn flex items-center'>
<a href=\"".$edit_link."\" class='w-[32px] h-[32px] border-[1px] border-[#0041E8] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px]'><i class='icons icon-edit'></i></a>
<a class='w-[32px] h-[32px] border-[1px] border-[#0041E8] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px]' href='javascript:set_category_feature(.$cat_id.,'off')'><i class='icons icon-feature'></i></a>
<div class='list-btn flex items-center gap-3'>
<a href=\"".$edit_link."\" class='btn btn-soft btn-xs btn-square btn-outline btn-view'><i class='iconify lucide--pencil'></i></a>
<a class='btn btn-soft btn-xs btn-square btn-outline btn-view' href='javascript:set_category_feature(.$cat_id.,'off')'><i class='iconify lucide--crown'></i></a>
<span id=status-".$cat_id.">".$status."</span>
<span class='status-delete-".$cat_id."'><a href=\"javascript:deleteThis(".$cat_id.")\" class='w-[32px] h-[32px] border-[1px] border-[#9E9E9E] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px]'><i class='icons icon-delete'></i></a></span>
<span class='status-delete-".$cat_id."'><a href=\"javascript:deleteThis(".$cat_id.")\" class='btn btn-soft btn-xs btn-square btn-error btn-outline '><i class='iconify lucide--trash-2'></i></a></span>
</div>
</td>
";
@@ -89,7 +89,7 @@ function get_category_list($parentId=0, $currentCat="",$level=1, $prefix="", $ca
}else{
$categoryTree .= "
<td>
<a href=\"".$edit_link."\"><i class='icons icon-edit'></i></a>
<a href=\"".$edit_link."\"><i class='iconify lucide--pencil'></i></a>
</td>
";
}

View File

@@ -4,7 +4,9 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/simplebar/6.2.7/simplebar.css" />
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="{{'jquery.js' | asset_url }}"></script>
<script src="{{'global.js' | asset_url }}"></script>
{% if global.module == 'home' %}

View File

@@ -1,7 +1,5 @@
<div class="w-[100%]">
<div
class="m-[15px] px-[15px] py-[20px] rounded-[15px] bg-white shadow-[0_1px_1px_0_rgba(0,0,0,0.1)] overflow-x-auto">
<h1 class="text-[24px] font-[700] mb-3">Danh sách thương hiệu</h1>
<div class="bg-white shadow p-3 rounded-sm">
<h1 class="text-2xl font-bold mb-3">Danh sách thương hiệu</h1>
<div class="flex items-center justify-between">
<div>
@@ -107,4 +105,3 @@
</table>
</div>
</div>
</div>

View File

@@ -1,39 +1,36 @@
<div class="w-[100%]">
<div
class="m-[15px] px-[15px] py-[20px] rounded-[15px] bg-white shadow-[0_1px_1px_0_rgba(0,0,0,0.1)] overflow-x-auto">
<h1 class="text-[24px] font-[700] mb-3">Danh sách sản phẩm</h1>
<div class="bg-white shadow p-3 rounded-sm">
<h1 class="text-2xl font-bold mb-3">Danh sách sản phẩm</h1>
<div id="action-links" class="mb-[15px]">
<div id="action-links" class="mt-3">
<div class="flex item-center justify-between">
<div
class="p-[5px_10px] border-[1px] border-[#79B0E2] rounded-[4px] text-[14px] text-[#79B0E2] hover:bg-[#79B0E2] hover:text-[#fff]">
<div class="btn btn-outline btn-view">
<a href='javascript:;' onclick="RowExpand.open_all();"><span id='js-row-expand-all'></span> Xem hết
danh mục</a>
</div>
<a href="/admin/product/category-form" id="add-prod"
class="p-[5px_10px] border-[1px] border-[#0041E8] rounded-[4px] text-[14px] text-[#0041E8] flex items-center hover:bg-[#0041E8] hover:text-white"><span
class="border-[1px] border-[#0041E8] h-[14px] w-[14px] leading-[12px] text-center rounded-[50%] mr-1">+</span>
<a href="/admin/product/category-form" id="add-prod" class="btn btn-outline btn-view">
<i class="iconify lucide--plus"></i>
<span class="font-[500]">Thêm
danh mục mới</span></a>
</div>
</div>
<div class="overflow-x-auto border border-base-200 rounded-sm mt-5 w-full mt-3">
<table id='tb_padding' cellpadding=2 cellspacing=0 width='100%' border=1 bordercolor='#CCCCCC' class="table">
<tr style="background-color:#EEE; font-weight:bold;">
<tr class="bg-base-200 font-bold">
<td>Danh mục</td>
<td width=100px>Link web</td>
<td width=60px class="whitespace-nowrap">ID</td>
<td>Link web</td>
<td class=" whitespace-nowrap">ID</td>
<td>Xem</td>
<td width=100px>SP</td>
<td width=100px>STT</td>
<td>SP</td>
<td>STT</td>
<td>Hiển thị nội dung</td>
<td width=100px>Thuộc tính</td>
<td width=200px>Cập nhật</td>
<td>Thuộc tính</td>
<td>Cập nhật</td>
</tr>
{{page.category_list}}
</table>
</div>
<p style="margin-top: 10px">
<strong style="color: red">Lưu ý</strong>: Tổng sản phẩm ở danh mục mẹ được tính là tổng sản phẩm sản phẩm
@@ -41,12 +38,10 @@
thuộc cả 2 danh mục con thì sẽ được đếm 2 lần)
</p>
<input type="hidden" id="save_open_row" value="," />
<input type="hidden" id="track_open_row" value="0" />
</div>
</div>
<script>

View File

@@ -1,48 +1,39 @@
<div class="w-[100%]">
<div class="m-[15px] px-[15px] py-[20px] rounded-[15px] bg-white shadow-[0_1px_1px_0_rgba(0,0,0,0.1)]">
<h1 class="text-2xl font-[700] mb-3">Danh sách sản phẩm ({{ page.total | format_number }})</h1>
<div class="flex flex-wrap justify-between items-center mt-[20px]">
<div class="btn-left flex items-center mb-[15px]">
<a href="javascript:void(0)" onclick="js_list_category.showModal()"
class="px-[10px] py-[8px] border-[#79B0E2] border-[1px] rounded-[4px] text-[#79B0E2] hover:bg-[#0061ff] hover:text-white mr-[15px]">
<div class="bg-white shadow p-3 rounded-sm">
<h1 class="text-2xl font-bold mb-3">Danh sách sản phẩm ({{ page.total | format_number }})</h1>
<div class="flex flex-wrap justify-between items-center">
<div class="btn-left flex items-center mb-3 gap-3">
<a href="javascript:void(0)" onclick="js_list_category.showModal()" class="btn btn-outline btn-view">
Chọn danh mục để xem
</a>
<a href="javascript:void(0)" onclick="js_list_brand.showModal()"
class="px-[10px] py-[8px] border-[#79B0E2] border-[1px] rounded-[4px] text-[#79B0E2] hover:bg-[#0061ff] hover:text-white mr-[15px]">
<a href="javascript:void(0)" onclick="js_list_brand.showModal()" class="btn btn-outline btn-view">
Chọn thương hiệu để xem
</a>
</div>
<div class="btn-right flex items-center mb-[15px]">
<a href="/admin/product/form"
class="flex items-center px-[10px] py-[8px] border-[#0041E8] border-[1px] rounded-[4px] text-[#0041E8] hover:bg-[#0041E8] hover:text-white font-[500]">
<span
class="border-[1px] border-[#0041E8] h-[15px] w-[15px] leading-[11px] text-center rounded-[50%] mr-1">+</span>
<div class="btn-right flex items-center mb-3 gap-3">
<a href="/admin/product/form" class="btn btn-outline btn-view">
<i class="iconify lucide--plus"></i>
<span>Thêm sản phẩm mới</span>
</a>
<a href=""
class="flex items-center px-[10px] py-[8px] border-[#0041E8] border-[1px] rounded-[4px] text-[#0041E8] hover:bg-[#0041E8] hover:text-white ml-[15px] hover:stroke-white font-[500]">
<i class="fa-regular fa-file-pdf"></i>
<a href="" class="btn btn-outline btn-view">
<i class="iconify lucide--file-pdf"></i>
<span class="ml-1">Danh sách cập nhật</span>
</a>
<a href=""
class="flex items-center px-[10px] py-[8px] border-[#0041E8] border-[1px] rounded-[4px] text-[#0041E8] hover:bg-[#0041E8] hover:text-white ml-[15px] hover:stroke-white font-[500]">
<i class="fa-regular fa-file-excel"></i>
<a href="" class="btn btn-outline btn-view">
<i class="iconify lucide--file-x"></i>
<span class="ml-1">Cập nhật Excel</span>
</a>
</div>
</div>
<div class="overflow-x-auto">
<table class="w-[100%] mt-[20px] table">
<thead class="bg-[#f6f6f6] text-[#000] text-[14px]">
<tr>
<th class="whitespace-nowrap">STT</th>
<div class="overflow-x-auto mt-5 border border-base-200 rounded-sm">
<table class="table">
<thead>
<tr class="bg-base-200 text-black">
<th>STT</th>
<th>Ảnh</th>
<th class="text-left">Sản phẩm (Tổng số: {{page.total}})</th>
<th class="whitespace-nowrap text-left w-[350px]">Thông tin bán hàng</th>
<th class="w-[200px]">
<select id=""
class="block w-[230px] h-[32px] px-[5px] bg-white border-[1px] border-[#D8D8D8] font-[400] h-[30px] mt-[5px] rounded-[4px] shadow-[0_2px_4px_0_#0000001F]"
onchange="location.href=this.value">
<th>Sản phẩm (Tổng số: {{page.total}})</th>
<th>Thông tin bán hàng</th>
<th>
<select id="" class="select" onchange="location.href=this.value">
<option value="/admin/product?">Lọc sản phẩm</option>
<option value="/admin/product?hotType=new">Mới</option>
<option value="/admin/product?hotType=hot">HOT (hỏi nhiều)</option>
@@ -51,7 +42,7 @@
<option value="/admin/product?hotType=online-only">Chỉ bán online</option>
</select>
</th>
<th class="text-left ">Công cụ</th>
<th>Công cụ</th>
</tr>
</thead>
<tbody>
@@ -62,128 +53,123 @@
<td>{{ counter }}</td>
<td>
<img class="block mx-auto my-0 w-[70px] h-[50px]" src="{{item.image.thumb}}" alt="">
<span class="text-center block">{{item.image_count}} ảnh</span>
<span class="text-center block whitespace-nowrap">{{item.image_count}} ảnh</span>
</td>
<td>
<a href="/admin/product/form?id={{item.id}}">[#{{item.id}}]
<span class="text-[#0041E8]">-
<span class="link-primary">-
{{item.title}}</span>
</a>
{% if item.config_count > 0 %}<p class="text-[#FFC700] text-[12px]">[Có cấu hình]</p>{%
endif %}
<div class="flex items-center my-[5px]">
{% if item.config_count > 0 %}<p class="text-sm text-orange">[Có cấu hình]</p>{% endif %}
<div class="flex items-center my-1 gap-2">
<span>Danh mục:</span>
<b class="mx-[10px]">Màn hình Máy tính</b>
<b class="">Màn hình Máy tính</b>
</div>
<div class="flex items-center my-[5px]">
<div class="flex items-center my-1 gap-2">
<span>Mã kho</span>
<b class="px-[5px]">{{item.sku}}</b>
<span class="text-[#000] font-[500]">|</span>
<span class="px-[5px]">Hãng</span>
<p class="text-[#0041E8]">{{item.model}}</p>
<b class="px-2">{{item.sku}}</b>
<span class="text-black font-[500]">|</span>
<span class="px-2">Hãng</span>
<p class="link-primary">{{item.model}}</p>
</div>
{% assign date_now = "now" | date: format %}
{% assign date_last = item.last_update %}
{% assign time_conlai = date_now | minus: date_last %}
<p class="mb-[7px]">Cập nhật: {{item.last_update | date: "Y-m-d h:i" }} <span
class="text-[#E00000]">(
<p class="mb-2">Cập nhật: {{item.last_update | date: "Y-m-d h:i" }} <span class="text-red">(
{{ time_conlai | divided_by: 86400 | round}}
ngày)</span></p>
<p>Người cập nhật : {{item.last_update_by}}</p>
</td>
<td>
<div class="flex flex-wrap items-center mb-[1px]">
<div class="flex flex-wrap items-center mb-1">
<span class="">Giá bán:</span>
<b class="text-[#E00000] ml-[3px] whitespace-nowrap">
{% if item.price > 0 %}
{{item.price | format_price }} vnd
{% else %}
{% else %}`
{{item.price }} vnd
{% endif %}
</b>
</div>
<div class="flex items-center mb-[1px]">
<div class="flex items-center mb-1">
<span class="whitespace-nowrap">Giá thị trường:</span>
<b class="text-[#E00000] ml-[3px] whitespace-nowrap">
<b class="text-[#E00000] ml-2 whitespace-nowrap">
{% if item.market_price > 0 %} {{item.market_price | format_price }} vnd {% else %}
0 vnd {% endif %}
</b>
</div>
<p>Bảo hành: {{item.warranty}}</p>
<p>Khuyến mại: {{item.special_offer}}</p>
<div class="flex items-center">
<div class="flex items-center mb-1 gap-2">
<span>SL tổng:</span>
<b class="ml-[3px]">{{item.quantity}}</b>
<b class="ml-2">{{item.quantity}}</b>
</div>
</td>
<td class="align-text-top">
<label class="cursor-pointer flex items-center mb-[7px]"
onclick="AdminFunction.update_product_hot({{item.id}})">
<input type="checkbox" name="new" {% if item.hot_type=="new" %}checked="checked" {%
endif %} class="checkbox checkbox-success" />
<span class="label-text ml-[5px] whitespace-nowrap">Mới Hot (Hỏi nhiều)</span>
<label class="cursor-pointer flex items-center mb-2 gap-2"
onclick="AdminFunction.update_product_hot('{{item.id}}')">
<input type="checkbox" name="new" {% if item.hot_type=="new" %}checked="checked" {% endif %}
class="checkbox checkbox-success" />
<span class="label-text whitespace-nowrap">Mới Hot (Hỏi nhiều)</span>
</label>
<label class="cursor-pointer flex items-center mb-[7px]"
onclick="AdminFunction.update_product_hot({{item.id}})">
<input type="checkbox" name="hot" {% if item.hot_type=="hot" %}checked="checked" {%
endif %} class="checkbox checkbox-success" />
<span class="label-text ml-[5px] whitespace-nowrap">Hot (Hỏi nhiều)</span>
<label class="cursor-pointer flex items-center mb-2 gap-2"
onclick="AdminFunction.update_product_hot('{{item.id}}')">
<input type="checkbox" name="hot" {% if item.hot_type=="hot" %}checked="checked" {% endif %}
class="checkbox checkbox-success" />
<span class="label-text whitespace-nowrap">Hot (Hỏi nhiều)</span>
</label>
<label class="cursor-pointer flex items-center mb-[7px]"
onclick="AdminFunction.update_product_hot({{item.id}})">
<input type="checkbox" name="bestsale" {% if item.hot_type=="bestsale"
%}checked="checked" {% endif %} class="checkbox checkbox-success" />
<span class="label-text ml-[5px] whitespace-nowrap">Bán
<label class="cursor-pointer flex items-center mb-2 gap-2"
onclick="AdminFunction.update_product_hot('{{item.id}}')">
<input type="checkbox" name="bestsale" {% if item.hot_type=="bestsale" %}checked="checked"
{% endif %} class="checkbox checkbox-success" />
<span class="label-text whitespace-nowrap">Bán
chạy</span>
</label>
<label class="cursor-pointer flex items-center mb-[7px]"
onclick="AdminFunction.update_product_hot({{item.id}})">
<input type="checkbox" name="saleoff" {% if item.hot_type=="saleoff" %}checked="checked"
{% endif %} class="checkbox checkbox-success" />
<span class="label-text ml-[5px] whitespace-nowrap">Xả
<label class="cursor-pointer flex items-center mb-2 gap-2"
onclick="AdminFunction.update_product_hot('{{item.id}}')">
<input type="checkbox" name="saleoff" {% if item.hot_type=="saleoff" %}checked="checked" {%
endif %} class="checkbox checkbox-success" />
<span class="label-text whitespace-nowrap">Xả
hàng (sale-off)</span>
</label>
<label class="cursor-pointer flex items-center mb-[7px]"
onclick="AdminFunction.update_product_hot({{item.id}})">
<label class="cursor-pointer flex items-center mb-2 gap-2"
onclick="AdminFunction.update_product_hot('{{item.id}}')">
<input type="checkbox" name="online-only" {% if item.hot_type=="online-only"
%}checked="checked" {% endif %} class="checkbox checkbox-success" />
<span class="label-text ml-[5px] whitespace-nowrap">Chỉ bán online</span>
<span class="label-text whitespace-nowrap">Chỉ bán online</span>
</label>
<div id="js-status-hottype-{{item.id}}" class="flex items-center mt-[5px]"></div>
<div id="js-status-hottype-{{item.id}}" class="flex items-center mt-2"></div>
</td>
<td class="align-text-top">
<div class="list-btn flex items-center w-[150px]">
<div class="list-btn flex items-center gap-3">
<a href="/admin/product/form?id={{item.id}}" title="Form sản phẩm"
class="w-[32px] h-[32px] border-[1px] border-[#0041e8] rounded-[4px] text-center leading-[32px] flex items-center justify-center mr-[5px]">
<i class="icons icon-edit"></i>
class="btn btn-soft btn-xs btn-square btn-outline btn-view">
<i class="iconify lucide--pencil"></i>
</a>
<a href="{{item.request_path}}" title="Xem tại web" target="_blank"
class="w-[32px] h-[32px] border-[1px] border-[#0041E8] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px]">
<i class="icons icon-view"></i>
class="btn btn-soft btn-xs btn-square btn-outline btn-view">
<i class="iconify lucide--globe"></i>
</a>
{% if item.status == 0 %}
<a href=""
class="w-[32px] h-[32px] border-[1px] border-[#9E9E9E] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px]">
<i class="fa-regular fa-eye-slash text-[#9E9E9E]"></i>
<a href="" class="btn btn-soft btn-xs btn-square btn-outline btn-view">
<i class="iconify lucide--eye-off"></i>
</a>
{% else %}
<a href=""
class="w-[32px] h-[32px] border-[1px] border-[#0041E8] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px] bg-white">
<i class="fa-regular fa-eye text-[#0041E8]"></i>
<a href="" class="btn btn-soft btn-xs btn-square btn-outline btn-view">
<i class="iconify lucide--eye"></i>
</a>
{% endif %}
<a href=""
class="w-[32px] h-[32px] border-[1px] border-[#9E9E9E] rounded-[4px] text-center leading-[30px] flex items-center justify-center mr-[5px]">
<i class="icons icon-delete"></i>
<a href="" class="btn btn-soft btn-xs btn-error btn-square">
<i class="iconify lucide--trash"></i>
</a>
</div>
</td>
@@ -194,18 +180,22 @@
</table>
</div>
<div class="paging">
<div class="join mt-5 justify-center flex items-center">
{% for paging in page.pagination.collection %}
<a href="{{paging.url}}" class="{% if paging.is_active == 1 %} current {% endif %}">
{% if paging.name == 'next' %}
<i class="fas fa-chevron-right"></i>
{% elsif paging.name == 'prev' %}
<i class="fas fa-chevron-left"></i>
{% else %}
{{paging.name}}
{% endif %}
<a href="{{paging.url}}" class="btn btn-square btn-sm btn-outline border-base-300 join-item"
aria-label="Pagination controls">
<span class="iconify lucide--arrow-right"></span>
</a>
{% elsif paging.name == 'prev' %}
<a href="{{paging.url}}" class="btn btn-square btn-sm btn-outline border-base-300 join-item"
aria-label="Pagination controls">
<span class="iconify lucide--arrow-left"></span>
</a>
{% else %}
<a href="{{paging.url}}"
class="btn btn-square btn-sm btn-outline border-base-300 join-item {% if paging.is_active == 1 %}btn-active{% endif %}">{{paging.name}}</a>
{% endif %}
{% endfor %}
</div>
@@ -217,33 +207,33 @@
<form method="dialog">
<button class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></button>
</form>
<div class="flex items-center">
<b class="text-[16px]">Tổng sản phẩm:</b>
<p class="ml-[5px]">{{page.total}} sản phẩm</p>
<div class="flex items-center gap-2">
<b class="text-lg">Tổng sản phẩm:</b>
<p class="ml-2">{{page.total}} sản phẩm</p>
</div>
<div class="list-category mt-[5px] max-h-[400px] max-h-[400px] overflow-x-auto">
<div class="list-category mt-1 max-h-400 max-h-400p overflow-x-auto">
{% for cate in page.list_category %}
<a href="{{cate.url}}" class="item block mb-[5px] text-[#0041E8]">
<a href="{{cate.url}}" class="item block mb-2 text-primary">
{% if cate.children.size > 0 %}
<b class="text-[#0041E8]">+ (#{{cate.id}}){{cate.title}}</b>
<b class="text-primary">+ (#{{cate.id}}){{cate.title}}</b>
{% else %}
+ (#{{cate.id}}){{cate.title}}
{% endif %}
</a>
{% if cate.children.size > 0 %}
<div class="ml-[15px]">
<div class="ml-2">
{% for cate2 in cate.children %}
<a href="{{cate2.url}}" class="item block mb-[5px] text-[#0041E8]">
<a href="{{cate2.url}}" class="item block mb-2 text-primary">
{% if cate2.children.size > 0 %}
<b class="text-[#0041E8]">+ (#{{cate2.id}}){{cate2.title}}</b>
<b class="text-primary">+ (#{{cate2.id}}){{cate2.title}}</b>
{% else %}
+ (#{{cate2.id}}){{cate2.title}} ({{cate2.totalProduct}})
{% endif %}
</a>
{% if cate2.children.size > 0 %}
<div class="ml-[15px]">
<div class="ml-2">
{% for cate3 in cate2.children %}
<a href="{{cate3.url}}" class="item block mb-[5px] text-[#0041E8]">+
<a href="{{cate3.url}}" class="item block mb-2 text-primary">+
(#{{cate3.id}}){{cate3.title}}
({{cate3.totalProduct}})</a>
{% endfor %}
@@ -267,18 +257,18 @@
<button class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2"></button>
</form>
<div class="flex flex-wrap items-center">
<b class="inline-block w-[120px]">Tìm theo chữ cái</b>
<div class="list-key inline-block ml-[10px] w-[calc(100%-140px)]">
<b class="inline-block w-34">Tìm theo chữ cái</b>
<div class="list-key inline-block ml-2 max-w-3xl">
{% for key in page.brand_letters %}
<a href="{{key.url}}">
<span class="text-[#0041E8] underline">{{key.key}}</span> <span>({{key.total}})</span>
<span class="text-primary underline">{{key.key}}</span> <span>({{key.total}})</span>
</a>
{% endfor %}
</div>
<table class="mt-[15px] w-[100%] table-brand">
<div class="overflow-x-auto border border-base-200 rounded-sm mt-5 w-full mt-3">
<table class="w-full table table-sm table-brand">
<thead>
<tr>
<tr class="bg-base-200">
<th>STT</th>
<th>Thương hiệu</th>
<th class="whitespace-nowrap">Số lượng sản phẩm</th>
@@ -290,11 +280,11 @@
{% for item2 in item.1 %}
{% increment stt %}
<tr>
<td class="w-[10%]">{{stt}}</td>
<td>{{stt}}</td>
<td>{{item2.name}}</td>
<td class="w-[18%]">
<td>
<span>{{item2.product}}</span>
<a href="{{item2.url}}" class="text-[#0041E8]">(Xem sp)</a>
<a href="{{item2.url}}" class="text-primary">(Xem sp)</a>
</td>
</tr>
{% endfor %}
@@ -303,9 +293,8 @@
</table>
</div>
</div>
</div>
<form method="dialog" class="modal-backdrop">
<button>close</button>
</form>
</dialog>
</div>

View File

@@ -20,8 +20,9 @@
console.log(err)
}
</script>
<link rel="stylesheet" href="{{'style.css' | asset_url}}?{{ 'now' | date : '%Y-%m-%d.%H.%M.%S' }}">
<link rel="stylesheet" href="{{'style.css' | asset_url}}">
<link rel="stylesheet" href="{{'style_hura.css' | asset_url}}?{{ 'now' | date : '%Y-%m-%d.%H.%M.%S' }}">
</head>
<body>
@@ -45,13 +46,8 @@
</div>
{% include javascript/index %}
</body>
</html>