定制 alexeymezenin/laravel-russian-slugs 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

alexeymezenin/laravel-russian-slugs

Composer 安装命令:

composer require alexeymezenin/laravel-russian-slugs

包简介

Russian SEO friendly slugs for Laravel 5

README 文档

README

The package is not supported anymore

Introduction

This package offers easy to use cyrillic slugs like 'Как_вырастить_дерево' and Yandex transliterated 'kak-vyrastis-derevo' slugs and their variations with lowercased letters and different separators.

Installation

Start with editing your Laravel project's composer.json file, add this line to the require section:

"require": {
    ....
    "alexeymezenin/laravel-russian-slugs": "0.9.*"

After that run this command to install package:

composer update

Now, insert these two lines into provider and aliases arrays in config/app.php:

'providers' => [
    ....
    AlexeyMezenin\LaravelRussianSlugs\SlugsServiceProvider::class,
    

'aliases' => [
    ....
    'Slug' => AlexeyMezenin\LaravelRussianSlugs\SlugsFacade::class,

Finally, you need to register config file and slugs-related commands by running:

php artisan vendor:publish

Using slugs

To use package, you need to update your models with thisuse clause:

class Articles extends Model
{
    use \AlexeyMezenin\LaravelRussianSlugs\SlugsTrait;

Then you need to create slug column in a migration:

$table->string('slug');

To use auto slug creation feature add slugFrom property to your model:

protected $slugFrom = 'article_name';

In this case, every time when you're saving data to a DB, package tries to create (but not recreate) a new slug and save it:

$article = Article::create(['article_name' => 'Как вырастить дерево?']);

Of course, that doesn't work with mass inserts and updates when you're updating multiple rows with one query.

Manual slug creation

To create new record with a slug use reslug() method. This will add slug, based on name column:

$article = new Article;
$article->name = 'How to grow a tree?';
$article->reslug('name');
$article->save();

You can update existing record and add a slug:

$article = Article::find(1);
$article->reslug('name');
$article->save();

If slug already exists, but you need to recreate it, use forced reslug:

$article->reslug('name', true);

Alternatively, you can use Slug facade to manually work with slugs:

$article = Article::find(1);
$article->update([
    'slug' => Slug::build($article->name)
    ]);

findBySlug() method allows you to find a model by it's slug:

$slug = 'how-to-grow-a-tree';
$article = Article::findBySlug($slug);
echo $article->name; // Will output "How to grow a tree?"

Configuration

To configure a package you should edit config/seoslugs.php file.

delimiter is a symbol which replaces all spaces in a string. By default it's '_', but also can be '-'.

urlType is a type of slug:

Default is 1. Used for URLs like /категория/книги_в_москве

2 is for traslitterated URLs like /kategoriya/knigi_v_moskve, Yandex rules used to transliterate URL.

keepCapitals is false by default. When true it keeps capital letters in a slug, for example: /книги_в_Москве

slugColumnName sets the name of a slug column. slug by default.

Commands

There are three console commands available in the package:

php artisan slug:auto {table} {column} command creates and executes migration, reslugs a table (creates slugs for all rows) using {column} as source.

php artisan slug:migration {table} command creates migration to add a slug column.

php artisan slug:reslug {table} {column} command creates or recreates slugs for a specified table.

Commands slug:auto and slug:reslug will recreate all slugs, even if they are already exist (forced reslug used).

Copyright

RussianSeoSlugs was written by Alexey Mezenin and released under the MIT License.

统计信息

  • 总下载量: 2.59k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 26
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 26
  • Watchers: 3
  • Forks: 8
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-04-17

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固