codiiv / laravel-taxonomies
Laravel 的分类(类似于 WordPress)
Requires
- codiiv/extrameta: >=1.1
- laravel/framework: ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- codiiv/extrameta: >=1.1
- laravel/laravel: ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
This package is auto-updated.
Last update: 2024-09-20 15:01:40 UTC
README
I =================== 安装 =======================
背景:这个包起源于我为客户创建的各种项目中创建分类的必要性。它可以用于任何其他项目。它带有最少的 CSS,以便可以根据需要调整。
-
将包包含到您的项目中
composer require "codiiv/laravel-taxonomies"
-
将服务提供者添加到您的
config/app.php
提供者数组中如果您正在安装 Laravel 5.5+,请跳过此步骤
Codiiv\Taxonomies\TaxonomiesServiceProvider::class,
-
现在我们已经将一些新文件发布到我们的应用程序中,我们需要使用以下命令重新加载它们
composer dump-autoload
-
通过运行以下命令发布供应商资产文件
php artisan vendor:publish --provider="Codiiv\Taxonomies\TaxonomiesServiceProvider"
这将在公共资产中创建一个分类文件夹。它还会在 config/taxonomies.php 中创建一个配置文件。
要设置分类路径,请相应地编辑文件。
-
运行您的迁移
php artisan migrate
小贴士:请确保您已创建数据库并在您的
.env
文件中添加了数据库凭证。 -
最后,配置超级管理员账户。
运行以下命令
php artisan taxonomies:superadmin someemail@somedomain.tld
将 someemail@somedomain.tld 替换为您想设置为超级管理员的用户的电子邮件。 注意,您只能有一个超级管理员。 -
配置分类路径
运行 vendor:publish --force
命令后
现在,访问您的 site.com/dashboard/taxonomies
,登录后您应该能看到您的新论坛管理员!
II ======================= 升级 =======================
即将推出
III ======================= 使用方法 =======================
1.$paginatedTerms global
是特定分类的分页术语列表。如果您想以分页的方式创建项目列表,则非常有用。它在服务提供者中设置,并从 URL 中的 ?taxonomy=XYZ 或从默认值 category
(例如)获取分类。
<ul class="the-items">
@foreach($paginatedTerms as $key => $term )
<li data-value="{{ $term->id }}" class="level-{{ $term->level }}">
<a href="{{ url(Config::get('taxonomies.taxonomy_path')).'?taxonomy='.$taxonomy.'&term_id='.$term->id }}">
{{ $term->pointer.' '.$term->name }}
</a>
</li>
@endforeach
</ul>
<div class="pagination-container">
{{ $paginatedTerms->links() }}
</div>
$Taxonomy
和 $taxonomy
通过服务提供者全局设置。 $Taxonomy
是数据库对象,而 $taxonomy
是由 分类 查询字符串参数设置的,如果没有设置,则选择默认分类。
<?php $terms = $Taxonomy::sortedTerms($taxonomy, null, 0, []); ?>
<select class="parent" name="parent">
<option value=""> — — — — {{ __("Choose One") }} — — — — </option>
@foreach($terms as $key => $term)
<option value="{{ $term->id }}" class="level-{{ $term->level }}">{{ $term->pointer.' '.$term->name }}</option>
@endforeach
</select>
-
配置默认值
一旦您运行了
php artisan vendor:publish --provider="Codiiv\Taxonomies\TaxonomiesServiceProvider"
命令,该命令将把 taxonomies.php 复制到config/taxonomies.php
。您可以根据需要更改变量。