开源软件名称(OpenSource Name): SUKOHI/Maven开源软件地址(OpenSource Url): https://github.com/SUKOHI/Maven开源编程语言(OpenSource Language):
PHP
70.0%
开源软件介绍(OpenSource Introduction): Maven
A Laravel package to manage FAQ.
(This package is for Laravel 5.3+)
Demo
Requirements
Installation
Execute the next command.
composer require sukohi/maven:4.*
Set the service providers in app.php
'providers' => [
...Others...,
Collective\Html\HtmlServiceProvider::class,
Sukohi\Cahen\CahenServiceProvider::class,
Sukohi\Maven\MavenServiceProvider::class,
]
Also alias
'aliases' => [
...Others...,
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
'Cahen' => Sukohi\Cahen\Facades\Cahen::class,
'Maven' => Sukohi\Maven\Facades\Maven::class,
]
Then execute the next commands.
php artisan vendor:publish
php artisan migrate
Usage (Management page)
Set Maven::route()
in your routes.php
.
\Sukohi\Maven\Maven::route();
// or with default locale
\Sukohi\Maven\Maven::route('en');
Now you can access to http(s)://YOUR-DOMAIN/admin/maven.
Note: I believe that you need to authenticate in routes.php before calling Maven::route()
using middleware or something.
[Config]
After publishing, you should have maven.php
in your config folder.
you can set some values in the file like the followings.
locales
First of all, you have only en
locale.
You can add more locales if you want like so.
'locales' => [
'en' => 'English',
'ja' => 'Japanese',
'es' => 'Spanish'
],
// or
'locales' => [
'ja' => '日本語',
'en' => '英語',
'es' => 'スペイン語'
],
// The keys and values refer locale symbols and language names.
URI
The default value is admin/maven
.
So http(s)://YOUR-DOMAIN/admin/maven
is the URL for managing FAQs.
Per Page
You can change maximum records per page.
Usage (Retrieve data)
[Basic Way]
$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;
}
}
[Filtering]
Tag(s)
$faqs = \Maven::tag([
'en' => 'YOUR-TAG'
])->get();
// or
$faqs = \Maven::tag([
'en' => ['YOUR-TAG', 'YOUR-TAG'],
'ja' => 'タグ'
])->get();
(Raminsadeghi indecated an error here for me. Thank you for kind of you!)
Unique Key
$faq = \Maven::uniqueKey('952557a09ef19aae1d9e2a276db18a66')->first();
// or
$faqs = \Maven::uniqueKey([
'952557a09ef19aae1d9e2a276db18a66',
'fashrtrhstgrfaeargthukfyhdredeff',
])->get();
Pagination
All Tag(s)
$tags = \Maven::getAllTags();
// or with $draft_filter_flag
$tags = \Maven::getAllTags($draft_filter_flag = true);
In this case, if you'd like to get en
tag(s), you should call like so.
$english_tags = $tags['en'];
Model Instance
In order to get model instance of this package, you can use getModel()
.
\Maven::getModel('unique_key');
\Maven::getModel('faq');
\Maven::getModel('tag');
Export/Import
You can two commands for export/import.
[Export]
Exported file is located at storage/app/maven/maven_faqs.json
, storage/app/maven/maven_tags.json
and storage/app/maven/maven_unique_keys.json
.
[Import]
Contributor
PapaDragonov
License
This package is licensed under the MIT License.
Copyright 2016 Sukohi Kuhoh
请发表评论