Разделы

  
 

Alias в REVO

Здравствуйте, первый раз делаю сайт на modx revo и столкнулся с разработкой блока новостей.
Хочется сделать ЧПУ типа
hxxp://sity.ru/news/[[*id]]

но почему то в 2.1.5-pl CMS отказывается открывать ресурс по ID. Только по alias.

Придумывать для каждой новости ЧПУ совсем не хочется. Как все же открывать новости по ID?
  • 0
  • 21 февраля 2012, 20:16
  • Lexx
  • 9

Сохранение псевдонимов (alias)

Переношу сайт на modx и столкнулся с такой проблемой: мне нужно сохранить все псевдонимы как на стартовом сайте, дело в том что есть страница /article.php и все страницы в ней /article.php?id=1… если так и скопировать в поле «Псевдонимы» то получается: /article.phpid1.
Подскажите пожалуйста как сохранить этот "?".
  • 0
  • 30 ноября 2011, 12:44
  • Actek
  • 4

Убрать псевдонимы

Люди добрые, нужен ваш F1.
Revo 2.1.3
У меня настроено ЧПУ. Использовать вложенные УРЛ — нет. Автоматическая генерация псевдонимов с помощью translate.
Составляю список магазинов, чтобы выводить их с помощью wayfinder. Так вот в списке магазинов alias совсем не нужен, т.к. попадаются названия одинаковые и рево не дает возможности создать одинаковые псевдонимы. Изменить руками псевдоним не вариант, т.к. для клиента я отключу это поле. Как убрать проверку на повтор псевдонимов или отключить их в данном шаблоне совсем?
Спасибо!
  • 0
  • 25 октября 2011, 12:26
  • swap
  • 3

Modx обрезает алиасы

Интересный глюк обнаружил.
При включенном Friendly URL (без вложенности), если в алиасе документа содержится алиас контейнера, то он делает урл вложенным.
Т.е. директория test.ru/metalloprokat (алиас metalloprokat)
Документ test.ru/metalloprokat-trubi (алиас metalloprokat-trubi)

На выходе получаем test.ru/metalloprokat/-trubi (такого документа естесственно нет. Переношу сайт, потому пути нужно сохранить). Подскажите, кто сталкивался.
  • 0
  • 19 сентября 2011, 22:30
  • autogen
  • 11

Автоматическая простановка псевдонимов у тех документов, которым они не присвоены

Добрый день!
Насоздавал пару тысяч страниц, совсем забыл что не включил автоматическую подстановку псевдонимов. опомнился когда было уже поздно)))) Подскажите, как автоматически проставить псевдонимы там где их нет? Может есть скриптик у кого...? выручайте!

Сниппет для вывода массива id

Помогите плиз написать.
задача такая.
Из контейнера `3`получаем список всех документов с шаблоном `6` и псевдонимом равным [*alias*], определяем их родителей и прародителей и выдаём их id в виде обычного массива через запятую.

отключение ЧПУ без отключения автогенерации алиаса

Иногда возникает необходимость собирать сайт при этом что б параллельно работал старый сайт :) для этого нужно в 99% случаях нужно просто отключить ЧПУ
но когда это делаешь то перестает автоматом ренегироваться alias что не есть гуд :(
что проправить в плагине что б он не отключался?
  • 0
  • 4 февраля 2011, 17:28
  • Dmi3y
  • 3

Автоматический перевод ALIAS'a в MODx Revo 2.0.4

Привет всем. Не могу найти плагин для MODx Revo 2 который автоматически будет переводить alias с Русского на Английский язык при добавлении ресурса. Помогите пожалуйста.
  • 0
  • 16 декабря 2010, 05:56
  • NNP
  • 4

Альтернатива TransAlias с переводом строки

В очередном проекте наконец то дошли руки до, того, о чем долго думал. Вся идея реализовалась десяткой строчек кода)
Решение представляет из себя генерацию алиаса страницы путем перевода русского заголовка в его английский аналог с допиливанием мелких деталей. Возможно позже со временем дополню функционал, пока того, что уже есть мне хвататет с головой.


function translate($s_text, $s_lang, $d_lang){
$post_data['q']=$s_text;
$post_data['langpair']=$s_lang.'|'.$d_lang;
$query=http_build_query($post_data);
$url = 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0';
$b=file_get_contents($url.'&'.$query);
$json = json_decode($b, true);
if ($json['responseStatus'] != 200)return false;
return $json['responseData']['translatedText'];
}
global $alias;
if($alias==''){
$alias = translate($_POST['pagetitle'],  'ru', 'en');
$alias = html_entity_decode($alias);
$alias = strtolower($alias);
$patterns = array(' ', ',', '.', '!', '?', '"', '& #39;',  '%');
$replacements = array ('_', '', '', '', '', '', '',  'percent');
$alias = str_replace($patterns, $replacements, $alias);
}

из строчки $patterns = убрать пробел после '&'
Событие OnBeforeDocFormSave. На здоровье)

UPD
По просьбе сообщества, примеры алиасов:
Главная страница — home
Каталог товаров — catalog
топ товары — top_favorites
Вопрос-ответ — faq
Контакты — contact

в общем все, что нужно для средних размеров сайта получается очень даже не плохо.

UPD2
если для исходной строки не будет найден перевод она будет заменена на транслит, таким образом полностью заменяя весь функционал родного TransAlias
Будут предложения по улучшению?