Справка

Делаем сокращатель ссылок

Шаг 1. Создаём новый модуль


При создании отмечаем галочку "Можно использовать как главный модуль для сайта".

Шаг 2. Создаём таблицу соответствия ссылок. Назовём её просто - ссылки


Добавляем две переменные в таблицу - "Ссылка" и "Сокращение". Переменную "Ссылка" делаем главной.


У переменной "Сокращение" ставим галочку "Предназначается для разбора URL", убираем галочку "Активное поле" и в "Дополнительные обработчики" указываем следующий код:


Как мы получаем этот код? Для этого воспользуемся редактором вставки значения .


Таким образом, при добавлении ссылки, в поле "Сокращение" будет попадать её md5 хеш. Для безопасности можно добавить в хеш соль, которую можно указать в настройках модуля (в этом случае аргументом метода set будет (cow.url++cex.param.solt).md5, где solt - название переменной модуля ).

Шаг 3. Добавляем часть "Сократить ссылку". Указываем её тип "виджет" и видимость "глобальный".


Переходим в переменные части и добавляем туда переменную "ссылка". Делаем её главной.


Переходим в содержимое части и помещаем туда код, ответственный за выдачу короткой ссылки

Как мы получаем этот код? Для этого воспользуемся редактором вставки значения .

Таким образом, виджет выдаст короткое имя для ссылки (если имя существует - оно будет выбрано из базы данных, иначе будет добавлено, за это отвечает функция "Найти или вставить", которую мы использовали). На выходе мы получим URL адрес, необходимый для того, чтобы добраться до нашей ссылки (адрес сайта, страница сайта или зона).

Шаг 4. Создаём часть "Открыть ссылку", связанную с таблицей "Ссылки".


В содержимое части помещаем следующий код:

Как мы получаем этот код? Для этого воспользуемся редактором вставки значения .

Шаг 5. Прикрепляем модуль к сайту

Прикрепить модуль к сайту можно двумя способами:

  1. Добавить зону, связанную с модулем
  2. Прикрепить его к уже имеющимся модулям, например, на одну из страниц сайта

В данном примере воспользуемся первым способом.

Перейдём в раздел "Сайты" и добавим новый.


Выберем наш модуль. Домен указывать не надо, а в качестве папки укажем желаемый URL-префикс, в данном случае link.

Можно также указать "Прятать с панели быстрого доступа" чтобы модуль не мозолил глаза

Шаг 6. Проверяем виджет

Для этого начнём редактировать одну из страниц сайта и в нужном месте вызовем редактор вставки значения.


Теперь осталось только выбрать наш виджет и ввести в него ссылку, которую мы хотим сократить.


В результате получится такой код:

А вот как наш виджет отработает на сайте:

Если перейти по этой ссылке, то пользователь получит редирект на нужную страницу.

А вот что появилось в таблице ссылок, после наших небольших экспериментов:

Можно не пользоваться виджетом и добавлять ссылки непосредственно в данную таблицу. Короткую ссылку можно получить нажав напротив нужной ссылки на значок якоря (такой есть у всех объектов, у которых есть поле URL и связанная с таблицей часть).

Модуль готов.



Читать далее про "Правила составления специального имени"