Проблема с Alias

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Sonya

Re: Проблема с Alias

Post by Sonya »

jjoss wrote: Стоп. Я чего-то не понимаю? mAlias проверяется еще до отправки события. То есть, если поле Alias пустое, если я не заполню его вручную хоть чем-нибудь, ругаться будет по-любому. Значит при создании новой страницы в любом случае придется переходить руками на закладку Options?
Нет, при создании новой страницы срабатывает условие empty($params['content']->mOldAlias). При новых страницах это значение пустое.
D1mka

Re: Проблема с Alias

Post by D1mka »

Sonya wrote:
jjoss wrote: Объясните, пожалуйста, как именно надо сделать, что делаю не так? У меня при добавлении страницы, если Title написан русскими буквами и Alias не заполнен руками, выдается Alias must be all letters and numbers.

1. Скачал translit.php в папку /lib
2. В админке Extensions > User Defined Tags > Add User Defined Tag
3. Name: Alias, Code: из последнего поста многоуважаемой Сони
4. Extensions > Events > ContentEditPre
5. Выбрал Alias, нажал Add, он появился в списке

При добавлении страницы алиас сам не заполняется. Но потом в строке адреса отображаются слова переведенные в транслит, а не те, что я писал в поле алиаса, когда добавлял материал. Может быть надо какой-то другой event использовать?
Я поправила код немного, скопируйте из моего поста http://forum.cmsmadesimple.org/index.ph ... #msg109141 .
Код делает транслит автоматически при создании новых страниц, если страница уже существует и нужно поменять alias на транслит тайтла, то в поле alias нужно задать translit. Если Вы задаете в поле alias значение вручную, то именно оно сохраняется.
Что-то у меня на CMS Made Simple 1.4.1 "Spring Garden" не работает Сонин способ, пишет: "Алиас должен состоять из букв и цифр". Все переделал уже 3 раза.
Sonya

Re: Проблема с Alias

Post by Sonya »

D1mka wrote: Что-то у меня на CMS Made Simple 1.4.1 "Spring Garden" не работает Сонин способ, пишет: "Алиас должен состоять из букв и цифр". Все переделал уже 3 раза.
Да, при тестировании я обнаружила, что способ работает только при установке
$config['locale'] = ''; и при этом стандартная локаль не должна быть 'ru_RU.UTF-8'. То есть, если сервер в России, то скорей всего такая локаль стоять будет, а у меня стандартная немецкая  :-\, поэтому работает без проблем...
D1mka

Re: Проблема с Alias

Post by D1mka »

Sonya wrote: Да, при тестировании я обнаружила, что способ работает только при установке
$config['locale'] = ''; и при этом стандартная локаль не должна быть 'ru_RU.UTF-8'. То есть, если сервер в России, то скорей всего такая локаль стоять будет, а у меня стандартная немецкая  :-\, поэтому работает без проблем...
Это получается, надо перестанавливать CMS на не русском языке? или вообще без локали, чето я запутался, столько раз написано слово локаль, что я смысл потерял :) Можно немного поподробнее про то когда скрипт работает?  Сервак который юзаю не в России, но utf-8 на нем по дефолту.
Sonya

Re: Проблема с Alias

Post by Sonya »

D1mka wrote: столько раз написано слово локаль, что я смысл потерял :)
умею качественно запутать, что есть, то есть  ;D

По теме: проверяю стандартную локаль PHP:

Code: Select all

echo "Default locale: " . setlocale(LC_ALL, 0) . "<br />";
Выводится:

Code: Select all

Default locale: C
alias работает. Если изменяю локаль через $config['locale'] = 'ru_RU.UTF-8'; то alias перестает работать. Если при выводе первого кода выводится не C, а русская локаль по умолчанию, то подозреваю, что работать тоже не будет. Можно использовать хомячковый вариант http://forum.cmsmadesimple.org/index.ph ... #msg127279 вот здесь, если "бессовестно патчить основной код" (ZYV)
D1mka

Re: Проблема с Alias

Post by D1mka »

Да, бессовестно патчить оказалось намого проще, чем курить теги :)
Хомячка вариант оказался самым простым :)
Post Reply

Return to “Russian - русский”