Download the PHP package alexeymezenin/laravel-russian-slugs without Composer
On this page you can find all versions of the php package alexeymezenin/laravel-russian-slugs. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-russian-slugs
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
- Using slugs
- Manual slug creation
- Configuration
- Commands
Installation
Start with editing your Laravel project's composer.json file, add this line to the require section:
After that run this command to install package:
Now, insert these two lines into provider and aliases arrays in config/app.php
:
Finally, you need to register config file and slugs-related commands by running:
Using slugs
To use package, you need to update your models with thisuse
clause:
Then you need to create slug
column in a migration:
To use auto slug creation feature add slugFrom
property to your model:
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:
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:
You can update existing record and add a slug:
If slug already exists, but you need to recreate it, use forced reslug:
Alternatively, you can use Slug
facade to manually work with slugs:
findBySlug()
method allows you to find a model by it's slug:
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.