sukohi / maven
一个用于管理常见问题解答(FAQ)的 Laravel 包。
4.0.0
2017-01-31 08:26 UTC
Requires
- laravel/framework: ~5.2
- laravelcollective/html: ~5.2
- sukohi/cahen: 2.*
- sukohi/neatness: ~4.0.2
- sukohi/smoothness: 4.*
README
一个用于管理常见问题解答(FAQ)的 Laravel 包。
(此包适用于 Laravel 5.3 及以上版本)
要求
安装
执行以下命令。
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.json
、storage/app/maven/maven_tags.json
和storage/app/maven/maven_unique_keys.json
。
[导入]
php artisan maven:import
贡献者
许可
此包受 MIT 许可证的许可。
版权 2016 Sukohi Kuhoh