sukohi/maven

一个用于管理常见问题解答(FAQ)的 Laravel 包。

4.0.0 2017-01-31 08:26 UTC

README

一个用于管理常见问题解答(FAQ)的 Laravel 包。
(此包适用于 Laravel 5.3 及以上版本)

演示

'Example'

要求

安装

执行以下命令。

composer require sukohi/maven:4.*

在 app.php 中设置服务提供者

'providers' => [
    ...Others...,
    Collective\Html\HtmlServiceProvider::class,
    Sukohi\Cahen\CahenServiceProvider::class,
    Sukohi\Maven\MavenServiceProvider::class,
]

也可以别名

'aliases' => [
    ...Others...,
    'Form' => Collective\Html\FormFacade::class,
    'Html' => Collective\Html\HtmlFacade::class,
    'Cahen'   => Sukohi\Cahen\Facades\Cahen::class,
    'Maven'   => Sukohi\Maven\Facades\Maven::class,
]

然后执行以下命令。

php artisan vendor:publish
php artisan migrate

使用方法(管理页面)

在您的 routes.php 中设置 Maven::route()

\Sukohi\Maven\Maven::route();

// or with default locale

\Sukohi\Maven\Maven::route('en');

现在您可以通过 http(s)://YOUR-DOMAIN/admin/maven 访问。
注意:我相信您需要在调用 Maven::route() 之前在 routes.php 中进行身份验证,使用中间件或其他方式。

[配置]
发布后,您应该在配置文件夹中拥有 maven.php
您可以在文件中设置一些值,如下所示。

地区

首先,您只有 en 地区。
如果您想添加更多地区,可以这样做。

'locales' => [
    'en' => 'English',
    'ja' => 'Japanese',
    'es' => 'Spanish'
],

// or

'locales' => [
    'ja' => '日本語',
    'en' => '英語',
    'es' => 'スペイン語'
],

// The keys and values refer locale symbols and language names.

URI

默认值为 admin/maven
因此,http(s)://YOUR-DOMAIN/admin/maven 是管理 FAQs 的 URL。

每页

您可以更改每页的最大记录数。

使用方法(检索数据)

[基本方式]

$faqs = \Maven::get();

foreach ($faqs as $faq) {

    if($faq->hasLocale('en')) {

        // FAQ
        echo $faq->getQuestion('en');
        echo $faq->getRawQuestion('en');
        echo $faq->getAnswer('en');
        echo $faq->getRawAnswer('en');
        
        // Tag(s)
        $tags = $faq->getTags('en');    // Collection
        
        // Others
        echo $faq->sort_id;
        echo $faq->unique_key;
        echo $faq->created_at;
        echo $faq->updated_at;
        
    }

}

[过滤]

标签

$faqs = \Maven::tag([
    'en' => 'YOUR-TAG'
])->get();

// or

$faqs = \Maven::tag([
    'en' => ['YOUR-TAG', 'YOUR-TAG'],
    'ja' => 'タグ'
])->get();

(Raminsadeghi 为我指出了这里的错误。感谢您的帮助!)

唯一键

$faq = \Maven::uniqueKey('952557a09ef19aae1d9e2a276db18a66')->first();

// or 

$faqs = \Maven::uniqueKey([
    '952557a09ef19aae1d9e2a276db18a66', 
    'fashrtrhstgrfaeargthukfyhdredeff', 
])->get();

分页

{!! $faqs->links() !!}

所有标签

$tags = \Maven::getAllTags();

// or with $draft_filter_flag

$tags = \Maven::getAllTags($draft_filter_flag = true);

在这种情况下,如果您想获取 en 标签,应该这样调用。

$english_tags = $tags['en'];

模型实例

为了获取此包的模型实例,您可以使用 getModel()

\Maven::getModel('unique_key');
\Maven::getModel('faq');
\Maven::getModel('tag');

导出/导入

您可以使用两个命令进行导出/导入。

[导出]

php artisan maven:export
  • 导出的文件位于 storage/app/maven/maven_faqs.jsonstorage/app/maven/maven_tags.jsonstorage/app/maven/maven_unique_keys.json

[导入]

php artisan maven:import

贡献者

PapaDragonov

许可

此包受 MIT 许可证的许可。
版权 2016 Sukohi Kuhoh