Страница 1 из 1

Id объявления в урле

СообщениеДобавлено: 11 авг 2015, 16:18
franko
Добрый день, подскажите как поправить вывод id обьявления в Урле.
Например, если у двух обьявлений одинаковые названия, то в конце автоматически добавится id
site.ru/property/kvartira-na-lenina
site.ru/property/kvartira-na-lenina45

Хочется сделать так, чтобы у дублей было: site.ru/property/kvartira-na-lenina-id45

Re: Id объявления в урле

СообщениеДобавлено: 12 авг 2015, 09:47
Koduc
Файл /protected/modules/seo/models/SeoFriendlyUrl.php
Там есть строка:
$translitTitle = translit($model->$fieldTitle) . (param('genUrlWithID', 0) ? '-' . $model->id : '') . $postfix;
замените на
$translitTitle = translit($model->$fieldTitle) . (param('genUrlWithID', 0) ? '-' . $model->id : '') . '-id'.$postfix;
Должно заработать.

Re: Id объявления в урле

СообщениеДобавлено: 12 авг 2015, 11:28
franko
Почти получилось)
у первого дубля в урле просто буквы -id
а начиная со второго и дальше - как я и хотел -id44
собственно можно ли у первого дубля после id число выводить?

Re: Id объявления в урле

СообщениеДобавлено: 12 авг 2015, 17:31
Koduc
Если вы хотите чтобы все урлы были с id - то просто в файле /protected/config/main.php замените
'genUrlWithID' => 0,
на
'genUrlWithID' => 1,
и оригинальную строку
$translitTitle = translit($model->$fieldTitle) . (param('genUrlWithID', 0) ? '-' . $model->id : '') . $postfix;
на
$translitTitle = translit($model->$fieldTitle) . (param('genUrlWithID', 0) ? '-id' . $model->id : '') . $postfix;

Если же хотите чтобы первая была без id, то тогда верните оригинальную строку
$translitTitle = translit($model->$fieldTitle) . (param('genUrlWithID', 0) ? '-' . $model->id : '') . $postfix;
и перед ней добавьте
if($postfix) { $postfix = '-id'.$postfix }