Golink — Cotonti плагин обработки исходящих ссылок

    Golink — Cotonti плагин CMF с помощью которого можно контролировать исходящие ссылки.  Все ссылки в контентной части обрабатываются php парсером определенным образом в зависимости от содержимого.

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

    Golink - Cotonti плагин обработки исходящих ссылок

    1. Вариант обработки внешних ссылок

    По умолчанию все внешние ссылки будут открываться одним из вариантов. В зависимости от выбранного режима будет происходить соответствующая обработка ссылок. Доступно три режима:

    • Отдельная страница + таймер, переход после отсчета ( Modal_timer )
    • Отдельная страница, переход по клику ( Modal )
    • Редирект, переход сразу ( Redirect )

    2. Варианты обработки внешних сылок в статьях модуля page

    Ссылки в каждой статье можно обработать одним из вариантов. В зависимости от выбранного режима будет происходить соответствующая обработка ссылок.

    • modal_timer
    • modal ( по умолчанию )
    • redirect
    • nofollow
    • open

    Отдельная страница + таймер ( Modal_timer ) — все диалоги будут открываться по клику на отдельной странице. В окне выводится соответствующее предупреждение о переходе, таймер обратного отсчета. Если пользователь все-таки решил переходить, не передумал, то после окончания отсчета будет автоматический переход по ссылке.

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

    Отдельная страница ( Modal ) — этот пункт включен по умолчанию, вызовет отдельную страницу, в окне выводится соответствующее предупреждение о переходе. Редирект на указанный адрес происходит только по клику на ссылку.

    Редирект ( Redirect ) — этот пункт пригодится в том случае, когда вам нужно опубликовать  ссылку, но в закодированном виде, например партнерскую, без ожидания обратного отсчета таймера и модальных окон.

    Nofollow — этот пункт пригодится в том случае, когда вам нужно опубликовать обычную ссылку, но при этом не открытую, а с атрибутом nofollow.

    Open — тут все и так понятно. Ссылка отмеченная этим пунктом, будет открыта для индексации и не закодирована. Одним словом это будет обычная внешняя ссылка не закрытая ничем.

    Все ссылки кодируются в первых трёх вариантах настроек ( modal_timer, modal, redirect ) , поэтому при наведении на ссылку будет абракадабра, и увидеть реальную ссылку не получится иначе как кликнуть по ней и перейти. Это удобно для скрытия реферальных ссылок.

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

    Название класса ссылки можно изменить в настройках администрирования плагина, по умолчанию все внешние ссылки имеют класс одноименный с плагином, class=»golink».

    Из-за некоторых технических особенностей Cotonti и визуального редактора CKEditor, их совместная работа с обработкой якорей не совсем корректна. Редактор по умолчанию рассчитан на работу с якорем без пути , например (#test), а в Cotonti этот адрес будет не #test  а http://адрес сайта.ком#test, что в итоге выливается в некорректный якорь. Не хватает базового адреса. Если id вырезается, то нужно настроить плагин htmlpurifier, включив параметр:

    1 ‘Attr.EnableID’ => true

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

    3. Функция вызова обработки ссылок в шаблоне (теме)

    Функция вызова обработки ссылки из шаблона или других плагинов/модулей, принимает такие параметры:

    • $url — внешняя ссылка
    • $anchor — анкор ссылки
    • $prfx — вариант обработки, принимает такие параметры: rdr(редирект), mod (отдельная страница), tmr (отдельная страница с таймером).

    По умолчанию функция настроена на работу в режиме редиректа, поэтому передавать третий параметр нужно в том случае, если нужно обработать ссылку в режиме отдельной вкладки или вкладки с таймером.

    1

    2

    3

    /*php*/

     

    function golink($url, $anchor, $prfx = «rdr»)

    4. Для вывода в шаблоне

    1

    2

    <!— переход по клику —>

    {PHP|golink(‘https://vseweb.com/services’,’Веб инструменты’)}

    Если нужно передать третий параметр:

    1

    2

    3

    4

    5

    <!— открытие в отдельной вкладке с переходом по клику на ссылке —>

    {PHP|golink(‘https://vseweb.com/services’,’Веб инструменты’,’mod’)}

     

    <!— открытие в отдельной вкладке с автоматическим переходом после таймера отсчета —>

    {PHP|golink(‘https://vseweb.com/services’,’Веб инструменты’,’tmr’)}

    5. Инструкция по установке

    1. Скачать и распаковать архив, самплагин находится в папке golink.
    2. Залить на сервер папку golink в каталог plugins.
    3. Установить через панель: (Управление сайтом / Расширения / Golink).
    4. Добавить соответствующие теги в файлы page.add.tpl и page.edit.tpl.

    Важно! Скачивание плагина golink происходит из мастер ветки репозитория Github, поэтому скачивается архив golink-master.zip. Внутри него служебные файлы самого гитхаба и папка golink с плагином, вот её и нужно заливать.

    После установки в панели управления плагином golink будут доступны следующие настройки:

    nastroyki-plagina

    Таймер задержки в секундахвремя ожидания в секундах до начала редиректа
    Название класса для ссылоквсем внешним ссылкам в контенте присвоится этот класс для взаимодействия
    Преобразовывать внешние ссылки во внутренниепреобразует внешние ссылки на текущий сайт во внутренние ( вырезает http://сайт/ ) из url
    Обрабатывать атрибут href с помощью jQueryизменяет href атрибут на #, а клик обрабатывается функцией jQuery:
    Вариант открытия ссылок по умолчаниюотдельная страница + таймер, отдельная страница, редирект

    Дополнительное экстраполе создается во время установки для модуля pages. С помощью этого поля происходит переключение режима обработки ссылок в каждой статье. По умолчанию действует режим redirect. Его можно переключать в любой момент.

    6. После установки

    После установки нужно добавить соответствующие теги в шаблоны:

    page.add.tpl:

    1

    2

    3

    <!— IF {PHP.cot_plugins_active.golink} AND {PHP.usr.isadmin} —>

    {PAGEADD_FORM_OPENLINKSONPAGE}

    <!— ENDIF —>

    page.edit.tpl:

    1

    2

    3

    <!— IF {PHP.cot_plugins_active.golink} AND {PHP.usr.isadmin} —>

    {PAGEEDIT_FORM_OPENLINKSONPAGE}

    <!— ENDIF —>

    Второе условие ( {PHP.usr.isadmin} )можно менять в зависимости от ваших целей, например сделать только для определенной группы, или для конкретного пользователя.

    В процессе установки плагина golink создаётся экстраполе OPENLINKSONPAGE , с помощью которого можно настраивать в каждой статье вариант обработки и открытия внешней ссылки. Если хотите изменить вариант по умолчанию, то сделать это можно в самом экстраполе, заменив вариант по умолчанию на один из перечисленных через запятую. Экстраполе находится в админпанели:

    Управление сайтом / Прочее / Экстраполя / Таблица cot_pages — Модуль Pages

    Ekstrapole

    Атрибут name для ссылок с появлением html 5 стал невалидным, а при создании анкора редактор выдает код вида:

    1<a id=»instruction» name=»instruction»></a>

    этот код считается невалидным в новом стандарте html, поэтому плагин подменяет с помощью парсинга (налету) значение name на data, получая в итоге валидный код:

    1<a id=»instruction» data-name=»instruction»></a>

    Близкие по теме «Golink — плагин Cotonti обработки исходящих ссылок»

    Создание сайта

    Поделиться:
    Нет комментариев

      Добавить комментарий

      Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

      ×
      Рекомендуем посмотреть
      Cогласие на обработку своих персональных данных Политика конфиденциальности Договор публичной оферты