Page 2 of 3
Re: Проблема с Alias
Posted: Fri Jul 04, 2008 8:26 pm
by ZYV
Я недавно думал о таком варианте, его БОЛЬШОЙ плюс в том, что везде работает (т.е. и в новостях, и в других местах).
Минус в том, что надо патчить misc.functions.php. Если честно, намучился уже кошмарным образом с обновлением сайтов на CMSMS, где кустарщики правили ядро. Нет бы за 5 секунд всё сделать и получить деньги... Надо скачивать дистрибутив и модули нужной версии, делать diff, потом пробежать глазами пачсет, применить его к новому дистрибутиву, потом проверять, что всё так же работает... бее...
Чем тебе тот класс понравился не знаю, те же яйца, только в профиль. Мне PixelApes больше понравился, т.к. там вроде бы по стандарту, то ли Дворак, то ли ГОСТ, а то самопальщиков этих боюсь я. Но на самом деле разницы никакой
P.S. Я тут подумал, вариант Сони-то можно ведь целиком в тег запихнуть. Так что я бы всё-таки пошел этим путем, наверное. Особливо если новости, например, не нужны, визитка, скажем, обычная квазистатическая.
Re: Проблема с Alias
Posted: Sat Jul 05, 2008 2:56 pm
by Il_Burbero
Чем тебе тот класс понравился не знаю, те же яйца, только в профиль
Исключительно размером

. Как то читал книжку (давно) про хакеров и вот с тех пор в голове накрепко засела тамошняя мысль "программа должна быть маленькой и быстрой" и с тех пор у меня фобия больших скриптов

И еще представленный мной класс (забыл сказать) поддерживает украинские кракозяблики, глядишь кому то и надо...
И я полностью согласен что менять ядро без крайней необходимости не следует, лучше обходится встроенными возможностями, тем паче что в этой КМС они просто огромные.
Re: Проблема с Alias
Posted: Wed Jul 09, 2008 9:06 pm
by koljan
скачал translit-1-2.zip, но архив не распаковывается, кто поможет?
Re: Проблема с Alias
Posted: Thu Jul 10, 2008 5:52 am
by ZYV
Перевыложил. Попробуй ещё раз.
Re: Проблема с Alias
Posted: Thu Jul 10, 2008 6:39 am
by koljan
Я тут подумал, вариант Сони-то можно ведь целиком в тег запихнуть. Так что я бы всё-таки пошел этим путем, наверное. Особливо если новости, например, не нужны
а если нужны? у меня проблема с новостями, если заголовок в кирилице, то не могу показать новость полностью при нажатии на заголовок в резюме, т.к. нет названия новости. Если вставляю цифры или латиницу в заголовок всё работает.
Re: Проблема с Alias
Posted: Thu Jul 10, 2008 8:55 am
by Il_Burbero
koljan wrote:
а если нужны? у меня проблема с новостями, если заголовок в кирилице, то не могу показать новость полностью при нажатии на заголовок в резюме, т.к. нет названия новости. Если вставляю цифры или латиницу в заголовок всё работает.
А если нужны то используй мой метод
Il_Burbero wrote:
Только апострофы из класса убери, а то получится из "предьявил" "pred-yavil". У меня работает этот метод с новостями очень хорошо.
Re: Проблема с Alias
Posted: Thu Jul 10, 2008 9:04 am
by koljan
нет, наверное не буду этот метод пименять, боюсь...
если что-то потом не будет работать, ищи крайнего...
Re: Проблема с Alias
Posted: Sat Jul 12, 2008 4:42 pm
by ZYV
Для новостей, я пропатчил файлы модуля News:
380:News.module.php
90:action.rss.php
343:action.default.php
примерно так...
// ZYV
// $prettyurl = 'news/' . $articleid.'/'.$returnid."/$aliased_title";
$prettyurl = 'news/' . $articleid.'/'.$returnid."/text";
Ищи $aliased_title и заменяй в таком духе.
Re: Проблема с Alias
Posted: Wed Jul 16, 2008 6:55 am
by koljan
ZYV wrote:
Для новостей, я пропатчил файлы модуля News:
380:News.module.php
90:action.rss.php
343:action.default.php
примерно так...
// ZYV
// $prettyurl = 'news/' . $articleid.'/'.$returnid."/$aliased_title";
$prettyurl = 'news/' . $articleid.'/'.$returnid."/text";
Ищи $aliased_title и заменяй в таком духе.
помогло, спасибо! После следующего update надо эту процедуру повторить?
Re: Проблема с Alias
Posted: Wed Jul 16, 2008 7:04 pm
by ZYV
Да, я обычно делаю diff всех моих изменений против текущей версии, а потом пытаюсь его автоматически накатать на новую. Если возникает конфликт, правлю ручками.
Надо бы как-то с разработчиками интерфейс этой mungle-функции обсудить, чтобы не надо было в ядро лазать, да всё времени нет

Re: Проблема с Alias
Posted: Sun Sep 07, 2008 8:54 pm
by jjoss
Объясните, пожалуйста, как именно надо сделать, что делаю не так? У меня при добавлении страницы, если 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 использовать?
Re: Проблема с Alias
Posted: Mon Sep 08, 2008 8:00 am
by Sonya
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 значение вручную, то именно оно сохраняется.
Re: Проблема с Alias
Posted: Mon Sep 08, 2008 11:23 am
by jjoss
Хочется совсем не переключаться на страницу Options даже при заведении новой страницы.
Попробовал сделать
Code: Select all
if (empty($params['content']->mOldAlias) # new page
|| empty($params['content']->mAlias))
То есть, если хочешь задать руками - задай. Не хочешь - оставь пустым.
Странное дело, срабатывает только если menu text содержит цифры! С цифрами нормально конвертит "проверка1" в "proverka1". А вот на "проверка" ругается, что нету алиаса.
Re: Проблема с Alias
Posted: Mon Sep 08, 2008 11:27 am
by Sonya
jjoss wrote:
Хочется совсем не переключаться на страницу Options даже при заведении новой страницы.
И не надо, я использую этот тег и при создании новой страницы транслит делается автоматически из меню текста.
jjoss wrote:
Попробовал сделать
Code: Select all
if (empty($params['content']->mOldAlias) # new page
|| empty($params['content']->mAlias))
То есть, если хочешь задать руками - задай. Не хочешь - оставь пустым.
Это не работает, потому что $params['content']->mAlias проверяется еще до отправки события и если он пустой, то системой автоматически подставляется $params['content']->mOldAlias, поэтому я подставляю проверку на "translit" в этом поле.
jjoss wrote:
Странное дело, срабатывает только если menu text содержит цифры! С цифрами нормально конвертит "проверка1" в "proverka1". А вот на "проверка" ругается, что нету алиаса.
Вообще необъяснимо для меня

Re: Проблема с Alias
Posted: Mon Sep 08, 2008 11:57 am
by jjoss
Sonya wrote:
И не надо, я использую этот тег и при создании новой страницы транслит делается автоматически из меню текста.
jjoss wrote:
Попробовал сделать
Code: Select all
if (empty($params['content']->mOldAlias) # new page
|| empty($params['content']->mAlias))
То есть, если хочешь задать руками - задай. Не хочешь - оставь пустым.
Это не работает, потому что $params['content']->mAlias проверяется еще до отправки события и если он пустой, то системой автоматически подставляется $params['content']->mOldAlias, поэтому я подставляю проверку на "translit" в этом поле.
Стоп. Я чего-то не понимаю? mAlias проверяется еще до отправки события. То есть, если поле Alias пустое, если я не заполню его вручную хоть чем-нибудь, ругаться будет по-любому. Значит при создании новой страницы в любом случае придется переходить руками на закладку Options?