Проблема с Alias

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

Moderators: iturbay, wdwp

ZYV
Language Partners
Language Partners
Posts: 868
Joined: Tue Nov 15, 2005 9:08 pm

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

Post by ZYV »

Я недавно думал о таком варианте, его БОЛЬШОЙ плюс в том, что везде работает (т.е. и в новостях, и в других местах).

Минус в том, что надо патчить misc.functions.php. Если честно, намучился уже кошмарным образом с обновлением сайтов на CMSMS, где кустарщики правили ядро. Нет бы за 5 секунд всё сделать и получить деньги... Надо скачивать дистрибутив и модули нужной версии, делать diff, потом пробежать глазами пачсет, применить его к новому дистрибутиву, потом проверять, что всё так же работает... бее...

Чем тебе тот класс понравился не знаю, те же яйца, только в профиль. Мне PixelApes больше понравился, т.к. там вроде бы по стандарту, то ли Дворак, то ли ГОСТ, а то самопальщиков этих боюсь я. Но на самом деле разницы никакой :)

P.S. Я тут подумал, вариант Сони-то можно ведь целиком в тег запихнуть. Так что я бы всё-таки пошел этим путем, наверное. Особливо если новости, например, не нужны, визитка, скажем, обычная квазистатическая.
unsigned double ZYV;
User avatar
Il_Burbero
Forum Members
Forum Members
Posts: 128
Joined: Tue Apr 15, 2008 10:36 am

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

Post by Il_Burbero »

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

И я полностью согласен что менять ядро без крайней необходимости не следует, лучше обходится встроенными возможностями, тем паче что в этой КМС они просто огромные.
koljan
Forum Members
Forum Members
Posts: 68
Joined: Wed Feb 20, 2008 3:15 pm

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

Post by koljan »

ZYV wrote: Хорошее сегодня настроение - http://zaytsev.net/misc/translit/ - хотя мог бы сам найти.
скачал translit-1-2.zip, но архив не распаковывается, кто поможет?
ZYV
Language Partners
Language Partners
Posts: 868
Joined: Tue Nov 15, 2005 9:08 pm

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

Post by ZYV »

Перевыложил. Попробуй ещё раз.
unsigned double ZYV;
koljan
Forum Members
Forum Members
Posts: 68
Joined: Wed Feb 20, 2008 3:15 pm

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

Post by koljan »

Я тут подумал, вариант Сони-то можно ведь целиком в тег запихнуть. Так что я бы всё-таки пошел этим путем, наверное. Особливо если новости, например, не нужны
а если нужны?  у меня проблема с новостями, если заголовок в кирилице, то не могу показать новость полностью при нажатии на заголовок в резюме, т.к. нет названия новости. Если вставляю цифры или латиницу в заголовок всё работает.
User avatar
Il_Burbero
Forum Members
Forum Members
Posts: 128
Joined: Tue Apr 15, 2008 10:36 am

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

Post by Il_Burbero »

koljan wrote: а если нужны?  у меня проблема с новостями, если заголовок в кирилице, то не могу показать новость полностью при нажатии на заголовок в резюме, т.к. нет названия новости. Если вставляю цифры или латиницу в заголовок всё работает.
А если нужны то используй мой метод
Il_Burbero wrote:
Только апострофы из класса убери, а то получится из "предьявил" "pred-yavil". У меня работает этот метод с новостями очень хорошо.
koljan
Forum Members
Forum Members
Posts: 68
Joined: Wed Feb 20, 2008 3:15 pm

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

Post by koljan »

нет, наверное не буду этот метод пименять, боюсь...  :P

если что-то потом не будет работать, ищи крайнего...
ZYV
Language Partners
Language Partners
Posts: 868
Joined: Tue Nov 15, 2005 9:08 pm

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

Post 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 и заменяй в таком духе.
unsigned double ZYV;
koljan
Forum Members
Forum Members
Posts: 68
Joined: Wed Feb 20, 2008 3:15 pm

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

Post 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 надо эту процедуру повторить?
Last edited by koljan on Wed Jul 16, 2008 7:00 am, edited 1 time in total.
ZYV
Language Partners
Language Partners
Posts: 868
Joined: Tue Nov 15, 2005 9:08 pm

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

Post by ZYV »

Да, я обычно делаю diff всех моих изменений против текущей версии, а потом пытаюсь его автоматически накатать на новую. Если возникает конфликт, правлю ручками.

Надо бы как-то с разработчиками интерфейс этой mungle-функции обсудить, чтобы не надо было в ядро лазать, да всё времени нет :(
unsigned double ZYV;
jjoss
New Member
New Member
Posts: 7
Joined: Mon Sep 01, 2008 5:18 pm

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

Post 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 использовать?
Last edited by jjoss on Sun Sep 07, 2008 9:45 pm, edited 1 time in total.
Sonya

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

Post 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 значение вручную, то именно оно сохраняется.
Last edited by Sonya on Mon Sep 08, 2008 8:02 am, edited 1 time in total.
jjoss
New Member
New Member
Posts: 7
Joined: Mon Sep 01, 2008 5:18 pm

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

Post by jjoss »

Хочется совсем не переключаться на страницу Options даже при заведении новой страницы.

Попробовал сделать

Code: Select all

if (empty($params['content']->mOldAlias) # new page
	|| empty($params['content']->mAlias))
То есть, если хочешь задать руками - задай. Не хочешь - оставь пустым.

Странное дело, срабатывает только если menu text содержит цифры! С цифрами нормально конвертит "проверка1" в "proverka1". А вот на "проверка" ругается, что нету алиаса.
Sonya

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

Post 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". А вот на "проверка" ругается, что нету алиаса.
Вообще необъяснимо для меня  ;D
jjoss
New Member
New Member
Posts: 7
Joined: Mon Sep 01, 2008 5:18 pm

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

Post 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?
Post Reply

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