codiiv/laravel-taxonomies

Laravel 的分类(类似于 WordPress)

v1.2.5 2024-04-20 14:10 UTC

README

I =================== 安装 =======================

背景:这个包起源于我为客户创建的各种项目中创建分类的必要性。它可以用于任何其他项目。它带有最少的 CSS,以便可以根据需要调整。

  1. 将包包含到您的项目中

    composer require "codiiv/laravel-taxonomies"
    
    
  2. 将服务提供者添加到您的 config/app.php 提供者数组中

    如果您正在安装 Laravel 5.5+,请跳过此步骤

    Codiiv\Taxonomies\TaxonomiesServiceProvider::class,
    
  3. 现在我们已经将一些新文件发布到我们的应用程序中,我们需要使用以下命令重新加载它们

    composer dump-autoload
    
  4. 通过运行以下命令发布供应商资产文件

    php artisan vendor:publish --provider="Codiiv\Taxonomies\TaxonomiesServiceProvider"
    
    

    这将在公共资产中创建一个分类文件夹。它还会在 config/taxonomies.php 中创建一个配置文件。

    要设置分类路径,请相应地编辑文件。

  5. 运行您的迁移

    php artisan migrate
    
    

    小贴士:请确保您已创建数据库并在您的 .env 文件中添加了数据库凭证。

  6. 最后,配置超级管理员账户。

    运行以下命令 php artisan taxonomies:superadmin someemail@somedomain.tld someemail@somedomain.tld 替换为您想设置为超级管理员的用户的电子邮件。 注意,您只能有一个超级管理员。

  7. 配置分类路径

运行 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>

  1. 配置默认值

    一旦您运行了 php artisan vendor:publish --provider="Codiiv\Taxonomies\TaxonomiesServiceProvider" 命令,该命令将把 taxonomies.php 复制到 config/taxonomies.php。您可以根据需要更改变量。

IV ======================= 截图 =======================