Multilingual url's / slug's pre-filled by title field
0
It's a nice when URL is speaking about its content and is localized. Also for marketing puposes. But that doesn't work out of the box with the language selector templates out there.
In your Model.php add this
<?php namespace Yourname\Yourplugin\Models;
.
.
.
class Yourmodel extends Model
{
use \Winter\Rain\Database\Traits\Sluggable;
public $implement = ['RainLab.Translate.Behaviors.TranslatableModel'];
public $translatable = [
['slug', 'index' => true],
['title', 'index' => true],
];
protected $slugs = ['slug' => 'title'];
public $rules = [
'slug' => 'required',
'title' => 'required'
];
/* needed for url translation */
public static function translateParams($params, $oldLocale, $newLocale) {
$newParams = $params;
foreach ($params as $paramName => $paramValue) {
$records = self::transWhere($paramName, $paramValue, $oldLocale)->first();
if ($records) {
$records->translateContext($newLocale);
$newParams[$paramName] = $records->$paramName;
}
}
return $newParams;
}
There are no comments yet
Be the first one to comment