Официальный клиент Perl - установка кода на сайт с поддержкой Perl
Скачать клиент можно отсюда или со страницы добавления новой площадки в систему.
Изменения в новой версии 1. добавлена поддержка блочных ссылок 2. улучшена поддержка контекстных ссылок 3. добавлена возможность вывода счётчика Sape (для подсчёта SapeRank) Внимание! Если ваш сайт имеет большое количество страниц и/или ссылок, то для эффективной работы клиентского кода и избежания замедления работы сайта нужно установить CPAN-модуль JSON::XS на сервере. В противном случае страницы могут формироваться долго и сайт может выпасть в ERROR. Внимание, описанные ниже способы вывода ссылок доступны начиная с версии клиенткого кода 1.2.3 Подключение модуля (обязательный шаг) Для подключения модуля SAPE необходимо разместить в исходном коде вашего сайта следующий Perl-код: Код:
"$ENV{DOCUMENT_ROOT}/ХЕШ_ПОЛЬЗОВАТЕЛЯ/SAPE.pm" =~ /^(.+)$/; Сразу после этого становятся доступны классы SAPE::Client и SAPE::Context, отвечающие за вывод, соответственно, гипертекстовых ссылок (в том числе в блочном формате) и контекстных ссылок. Вывод гипертекстовых ссылок Для работы с гипертекстовыми ссылками используется класс SAPE::Client:1 Код:
my $sape = new SAPE::Client; Список допустимых аргументов конструктора класса (все аргументы необязательные): Код:
my $sape = new SAPE::Client ( Для получения простого (не блочного) списка ссылок следует вызывать метод return_links(): Код:
my $links = $sape->return_links; # сохранить HTML-код ссылок в переменную $links Код:
print $sape->return_links; # вывести HTML-код ссылок Код:
$sape->return_links( Код:
$sape->return_links(undef); # то же, что и $sape->return_links, - вывести все ссылки Код:
$sape->return_links(1); # вернуть только 1 ссылку Код:
$sape->return_links(undef, as_block => 1); # аналог вызова метода return_block_links Внимание! Если вы уже используете вывод ссылок с помощью старого формата вызова, то изменять код вызова необязательно – достаточно лишь обновить модуль SAPE.pm и изменить настройки сайта, включив блочный формат вывода. Для вывода ссылок в блочном виде используется метод return_block_links() (вызывается автоматически из return_links(), если в настройках сайта установлено блочное отображение или передан параметр as_block => 1). Список допустимых аргументов метода return_block_links() (все аргументы необязательные): Код:
$sape->return_block_links( Код:
$sape->return_block_links; # все ссылки в виде одного блока Код:
$sape->return_block_links(1); # вернуть только 1 ссылку в первом блоке Пример 6: вывод блока ссылок с изменёнными параметрами Код:
$sape->return_block_links(2, block_orientation => 0, block_width => '120px'); Для работы с контекстными ссылками используется класс SAPE::Context: Код:
my $sape_ctx = new SAPE::Context; Ссылки в конкретном фрагменте текста Для вывода контекстных ссылок в определённом фрагменте текста следует вызывать метод replace_in_text_segment(), передавая в качестве параметра либо ссылку (ref) на переменную с текстом (оптимально для экономии памяти, замена будет произведена прямо внутри переменной), либо просто переменную с текстом (в этом случае текст с заменой будет возвращён в качестве результата вызова функции): Код:
$sape_ctx->replace_in_text_segment(\$text); # все изменения - внутри переменной Код:
$new = $sape_ctx->replace_in_text_segment($text); # изменения - в новую переменную Ссылки в коде страницы Для вывода контекстных ссылок в пределах всей страницы, в том числе в нескольких местах на странице, следует вручную расставить в исходном коде страницы теги <sape_index> ... </sape_index>, заключив в них фрагменты страницы для вывода ссылок, либо ссылки будут выводиться внутри тега <body> ... </body>. Существует два режима работы метода replace_in_page(), используемого для вывода ссылок. 1. Рекомендуется! Вызов метода с параметром аналогично вызову replace_in_text_segment() (ссылка на переменную для экономии памяти или просто переменная). Поиск тегов <sape_index> или <body> и вывод ссылок происходит в тексте, переданном в качестве параметра. Код:
$sape_ctx->replace_in_page(\$html); # все изменения - внутри переменной Код:
$new = $sape_ctx->replace_in_page($html); # изменения - в новую переменную 2. Только для сайтов с CGI. Вызов метода без параметров. Переопределяется системная Perl-функция print, весь выводимый в ходе работы кода вашего сайта контент накапливается в буфере, происходит размещение ссылок внутри буфера и их вывод системными средствами. Код:
$sape_ctx->replace_in_page; # переопределить print
Вывод обязательного JavaScript-контента Оба класса – SAPE::Client и SAPE::Context – поддерживают автоматический или принудительный вывод JavaScript-контента, поставляемого Sape (cчётчик Sape для подсчёта SapeRank, пользовательские счётчики). По умолчанию код JS выводится вместе со ссылками в методах класса SAPE::Client и только в методе replace_in_page() класса SAPE::Context. Однако если передан параметр show_counter_separately => 1 в конструктор класса, то счётчик необходимо выводить явным вызовом функции return_counter(): Код:
$counter_html = $sape->return_counter; # код счётчика - в переменной $counter_html Код:
$counter_html = $sape_ctx->return_counter; # аналогично |
Готов ответить на вопросы в этой теме.
|
Цитата:
А на Joomla! 2.5.14 работать будет? И как его устанавливать для блочных ссылок? |
Цитата:
|
Цитата:
|
Добавился небольшой багфикс, версия модуля 1.2.4 будет по ссылке в первом посте с 12:00 сегодняшнего дня :)
|
Новый код не работает. Никаких ошибок не выдаёт, просто не показывает ссылки. Ссылки, разумеется все вылетают в Error. Где искать проблему, что проверять? Со старым кодом никаких проблем нет.
|
assedo, постучитесь ко мне в скайп mnmldr
|
А можно какой-то более доступный вариант, без установки дополнительных приложений? Ну или телефон дайте в личку, я наберу.
|
Скайп - оперативнее всего. Телефон не поможет - наверняка нужно будет куски кода смотреть. Напишите в почту, давайте через неё попробуем. meneldor@metallibrary.ru
|
Часовой пояс GMT +3, время: 22:33. |
Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.