自定义侧边栏 Jquery 和 Laravel 但一旦添加甚至在应用程序重新启动后它应该保留在侧边栏中
Customize Sidbar Juery and Laravel but once added even After application restart it should remain in sidebar
我是 laravel 和 Web 开发的新手,我正在制作我的课程项目。谢谢你的帮助
它就像一个系统,具有与库存和 POS 相关的不同模块,用户可以通过自定义设置选项卡从侧边栏添加和删除项目
以下功能正在运行
此选项卡自定义包含所有模块,并且每个项目都有一个复选框,当用户单击该项目复选框时,它应该被添加到侧边栏,当未选中时,它会从侧边栏中删除
必需
当用户点击更新和刷新页面,甚至从系统注销并登录时,我在做什么 The Tab 应该显示在侧边栏中
我怎样才能达到那部分?它与数据库有关吗?如果是,请给我一个方法,以便我可以工作
自定义标签代码
<div class="col-md-3 sidebar-customize">
<ul>
<li>
<a>
<input type="checkbox" id="customer" name="customer">
<i class="fa fa-print"></i>
<span>customer</span>
</a>
</li>
</ul>
</div>
Code of Jquery
$('input[type="checkbox"]').click(function () {
if(this.checked)
$('#customer').fadeIn(1000,function(){
$('#customer').css('overflow', 'none');
});
else
$('#customer').fadeOut();
});
我在一个可以最小化边栏的项目中做了类似的事情,我们希望它在会话和页面等中保持不变。
我们最后做的是添加一个 table 来跟踪他们的 'preferences'。这样我们就可以将他们的选择保存到数据库中,然后在加载页面时使用它来决定侧边栏是否应该最小化。
对于您的情况,使用这种模块方法 - 您可以实现相同的系统。
我会创建一个新的 table 来将每个模块的首选项存储在一列中,如下所示:
+----+---------+----------+-----------+----------+------------+------------+
| id | user_id | accounts | inventory | customer | created_at | updated_at |
+----+---------+----------+-----------+----------+------------+------------+
| 1 | 1 | 1 | 1 | 1 | today | today |
| 2 | 2 | 1 | 1 | 0 | today | today |
| 3 | 3 | 0 | 0 | 1 | today | today |
+----+---------+----------+-----------+----------+------------+------------+
通过这种方式,您可以 link 将模块首选项作为 User
模型上的关系,并在您的视图中直接引用它。
例如
@if (Auth::user()->modules->accounts)
//User is currently user ID 1
show accounts menu
@endif
@if (Auth::user()->modules->accounts)
//User is currently user ID 3
do not show accounts menu
@endif
因为每个值都作为整数存储在数据库中,并且引用为 1 表示是,0 表示否,您可以直接在 if
语句中使用它来决定是否应该显示或没有。
最后,您只需更新 jQuery 以在单击复选框以更新 setting/preference 时触发 ajax 调用。
我是 laravel 和 Web 开发的新手,我正在制作我的课程项目。谢谢你的帮助
它就像一个系统,具有与库存和 POS 相关的不同模块,用户可以通过自定义设置选项卡从侧边栏添加和删除项目
以下功能正在运行
此选项卡自定义包含所有模块,并且每个项目都有一个复选框,当用户单击该项目复选框时,它应该被添加到侧边栏,当未选中时,它会从侧边栏中删除
必需
当用户点击更新和刷新页面,甚至从系统注销并登录时,我在做什么 The Tab 应该显示在侧边栏中
我怎样才能达到那部分?它与数据库有关吗?如果是,请给我一个方法,以便我可以工作
自定义标签代码
<div class="col-md-3 sidebar-customize">
<ul>
<li>
<a>
<input type="checkbox" id="customer" name="customer">
<i class="fa fa-print"></i>
<span>customer</span>
</a>
</li>
</ul>
</div>
Code of Jquery
$('input[type="checkbox"]').click(function () {
if(this.checked)
$('#customer').fadeIn(1000,function(){
$('#customer').css('overflow', 'none');
});
else
$('#customer').fadeOut();
});
我在一个可以最小化边栏的项目中做了类似的事情,我们希望它在会话和页面等中保持不变。
我们最后做的是添加一个 table 来跟踪他们的 'preferences'。这样我们就可以将他们的选择保存到数据库中,然后在加载页面时使用它来决定侧边栏是否应该最小化。
对于您的情况,使用这种模块方法 - 您可以实现相同的系统。
我会创建一个新的 table 来将每个模块的首选项存储在一列中,如下所示:
+----+---------+----------+-----------+----------+------------+------------+
| id | user_id | accounts | inventory | customer | created_at | updated_at |
+----+---------+----------+-----------+----------+------------+------------+
| 1 | 1 | 1 | 1 | 1 | today | today |
| 2 | 2 | 1 | 1 | 0 | today | today |
| 3 | 3 | 0 | 0 | 1 | today | today |
+----+---------+----------+-----------+----------+------------+------------+
通过这种方式,您可以 link 将模块首选项作为 User
模型上的关系,并在您的视图中直接引用它。
例如
@if (Auth::user()->modules->accounts)
//User is currently user ID 1
show accounts menu
@endif
@if (Auth::user()->modules->accounts)
//User is currently user ID 3
do not show accounts menu
@endif
因为每个值都作为整数存储在数据库中,并且引用为 1 表示是,0 表示否,您可以直接在 if
语句中使用它来决定是否应该显示或没有。
最后,您只需更新 jQuery 以在单击复选框以更新 setting/preference 时触发 ajax 调用。