Universal Sape Context Plugin

Universal Sape Context PluginИтак эта статья о плагине для показа контекстных ссылок в Sape.

Подобный плагин для Joomla 1.5 ранее уже существовал, но ссылки он у меня не показывал, поэтому пришлось разобраться с файлом sape.php и заодно сделать свой вариант, несколько проапгрейженный.

Конфликты кодировки

Суть проблемы выявленная с помощью debug-а и var_dump-ов и массива $GLOBALS заключалась в конфликте кодировок, т.е. в файле links.db была прописана UTF-8, а в words.db и с бубнами и c танцами и с техподдержкой прописывалась windows-1251, пришлось внести микропарвку в sape.php:

// Кодировка
if (isset($options['charset']) && strlen($options['charset'])) {
    $this->_charset = $options['charset'];
} else {
    //$this->_charset = 'windows-1251';
    $this->_charset = 'UTF-8';
}

В самом же плагине можно создавать объект SAPE_context с кодировкой (как рекомнедуется в факе sape) прописанной в настройках плагина:

$o['charset'] = $this->encode; 
$sape_context = new SAPE_context($o);
unset($o);

Sape-контекст должен работать в любом Joomla-компоненте

Исходя из этого плагин был сделан системным с возможностью обрадатывать только содержимое компонента com_content, так и всего html-кода страницы. Например, у меня теперь отображаются контекстные ссылки на компоненте форума для Joomla — Kunena.

Установка и использование

  1. Будем считать, что на сайте уже продаются обычные ссылки, т.е. папка '852cca_ваш_хеш_код_924da2' с файлом sape.ru уже залита в корень папки с вашим сайтом, и на нее выставлены права 777;
  2. Скачать, установить и включить плагин в админке сайта;
  3. В настройках плагина указать свой хэш (уникальный идентификатор вэбмастера в sape.ru);
  4. Теперь заходим на сайт, чтобы в папке '852cca_ваш_хеш_код_924da2' создался файл words.db — проверяем этот пункт;
  5. В коде вызова обычных ссылок в шаблоне меняем:
    define('_SAPE_USER', '852cca_ваш_хеш_код_924da2');
    // на
    if (!defined('_SAPE_USER')){
    define('_SAPE_USER', '852cca_ваш_хеш_код_924da2');
    }

Поддежка

  1. Можно заслать рубль Я.Д-у через форму вверху
  2. Можно просто порекомендовать друзям ссылкой

Скачать плагин Universal Sape Context

Комментариев: 30

  • 23.05.2012 Илья:

    Здравствуйте!

    У меня Джумла 1.6.2.

    Уже установлен модуль для отображения простых ссылок.

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

    В свойствах плагина нет никаких настроек (кроме стандартных джумловских). То есть мне некуда ввести хэш-идентификатор.

    А при попытке включить плагин без указания хэша сайт просто не работает.

    Не могли бы вы подсказать, почему нет настроек (поля куда вбить хэш)?

    Может дело в несоответствии плагина и версии Джумлы (хотя при установке не ругается)?

    • 23.05.2012 Кирилл:

      Да, похоже пришла пора потестировать его на J 1.6. :) если вспомню, то прямо сегодня вечером.

  • 03.06.2012 ODIN65:

    Такая же история! Нет настроек плагина, а когда его запускаешь — сайт виснет, пока не удалишь плагин! :(

  • 14.06.2012 YAK-40:

    Нигде не нашел такого же плагина на J1.7 =(

    Подскажите, планируется ли его апдейт?

  • 07.10.2012 Max:

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

    • 11.10.2012 Кирилл:

      Не понял на 100%, стоит и контекстный плагин и модуль для обычных ссылок? Что за модуль? В каком месте появляются ненужные ссылки? Стоит ли вдобавок простой/контекстный код в шаблонах?

  • 11.10.2012 Max:

    Да стоит mod_sape и ваш плагин, подобные ссылки появляются в том месте шаблона куда саповский код прописываю. на сайте посмотрите в самом низу.

    • 14.10.2012 Кирилл:

      Хм, теоретически mod_sape уже выполняет тот код который вы прописываете внизу сайта (так что руками этот код можно не прописывать), а проверить влияние моего плагина на эту ситуацию можно его простым отключением.

  • 04.05.2015 Иванушка:

    Здравствуйте!

    Есть несколько вопросов:

    1. На Джумлу 2.5, я так понимаю ваш плагин встает, но в инструкции не совсем ясно описан процесс правильной настройки. И так разбор полета:

    Первые два пункта понятны, и то нужно создать доп папку на сервере с уникальным номером сапы или же грузится все в одну ранее созданную, а вот 3-й не очень:

    «В настройках плагина указать свой хэш (уникальный идентификатор вэбмастера в sape.ru);» — а где эти настройки?(в админке нету),

    неужели в инструкции так сложно было прописать пути поиска:

    .../plugins/system/unisapecontext (там два файла)

    unisapecontext.php

    if (!defined('_SAPE_USER'))

    {

    define('_SAPE_USER', $this->hash(разве он не должен его сам взять или лучше ручками прописать(заменить) на 'уник номер сапы'));

    }

    unisapecontext.xml

    «param type=»text" name="hash(уник номер тут?)" default="12345(уник номер тут?)" label="hash(уник номер тут?)" description="sape user hash(уник номер или тут?)" cols="40" size="44" " непонятно где прописать?

    «В коде вызова обычных ссылок в шаблоне меняем:»

    это в этом же файле unisapecontext.php (произвести вставку 'уник номер сапы') или где то в другом месте?

    Возможно необходимо внести изменения в файлах уже работающего модуля или в основном файле sape.php?

    Почему я это все пишу, потому что у меня не появляется words.db в основной папке сапы, которая лежит в корне сайта с выставленными правами 777, где присутствуют несколько стандартных файлов: sape.php, links.db, а вот words.db никак не хочет появляться.

    Быть может нужно дождаться робота сапы или удалить links.db, чтобы он заново создался?

    Все это мысли в слух! Буду рад более развернутому ответу относительно инструкции, чего и где нужно подправить так как в сети миллионы ответов и все из них возможно правдивые, но времени проверять каждый просто нет.


Добавление комментария:

 css.php