Установка кода SAPE, решение проблем с UTF-8(миграция)

+17
3.4K
Тем на сайте куча, но как то все ссылаются друг на друга. Решил написать как бы рабочее решение для версий 1.9 и 1.10, ну и решение возможных проблем после миграции с версии 1.9 на версию 1.10 и возникающие проблемы сопутствующие смене кодировки.

И так установка кода(версии 1.9-1.10):
-конечно для начала нужно зарегистрироваться в SAPE(этот момент я описывать не буду), переходим сразу к установке кода...
После регистрации сайта на бирже, нам предлагают скачать архив. В нём увидите:
файл вида 1212sdfhjs123hsdf.php(у Вас будет другое имя) и папку аналогичного имени 1212sdfhjs123hsdf(у Вас будет другое имя), в папке ещё файл sape.php.
Папку заливаем в корень сайта. Не забываем на неё выставить права 777!
Теперь файл 1212sdfhjs123hsdf.php из архива заливаем в папку /includes/myphp/.
Далее идём в админку- Модули- Создать модуль. Заполняем поля: Заголовок модуля— отображается на сайте(допустим "Спонсоры сайта", поле Название модуля — отображается в админке("Реклама SAPE"), позицию и шаблон выставляете в зависимости от Вашего шаблона( у меня это foo_module и module.tpl соответственно), содержание модуля "Вставить: внешний скрипт", ниже появится выборка типа Файл:/includes/myphp/myscript.php, myscript.php заменяете на 1212sdfhjs123hsdf.php. Далее в окне редактора прописываете {ФАЙЛ=1212sdfhjs123hsdf.php}, настраиваете пункты в боковом меню создания модуля(кеш не включать). Жмёте- сохранить.

Теперь о проблеме миграции: меняется кодировка сайта с кириллицы на UTF-8, соответственно ссылки SAPE буду "изувечены".
Решение проблемы:
открыть файл sape.php(который в папке), в нём ищем строку:
  1. $this->_charset = 'windows-1251';
Заменить её на:
  1. $this->_charset = 'utf-8';
После удаляем файл links.db в папке, ссылки обновятся и придут в нормальный вид.
Всё! Вроде не чего не упустил...
Пример работы тут, в фоттере(внизу).
+1
Soc1um Soc1um 11 лет назад #
Спасибо. В скором времени пригодится.
+3
Anonim Anonim 11 лет назад #
Зачем такие сложности? Даже читать тяжело )

Проще делать так:

Код PHP:
  1. <?php
  2. if (!defined('_SAPE_USER')){
  3. define('_SAPE_USER', 'тут_длинный_код_сапы_папки');
  4. }
  5. require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
  6. $o['charset'] = 'UTF-8';
  7. $o['host'] = 'www.site.ru';
  8. $o['multi_site'] = true;
  9. $sape = new SAPE_client($o);
  10. echo $sape->return_links();
  11. ?>
Обратите внимание на $o['charset'] = 'UTF-8'; - ее пишете и все работает
0
RIf RIf 11 лет назад #
Надо бы автору поста читать FAQ по теме сапы внимательней. Сколько же времени ты убил на изобретение описанного метода?
+2
DeeMon DeeMon 11 лет назад #
Надо бы автору поста читать FAQ по теме сапы внимательней.
Правда? Чтоб я без Вас делал то? Читал, стоит заметить оно там устарело уже как года 3.
Сколько же времени ты убил на изобретение описанного
Минут 7.
-2
RIf RIf 11 лет назад #
ну, ну. А код в сапе 30 секунд поменять.
+2
DeeMon DeeMon 11 лет назад #
Я не вижу смысла пока в ваших комментариях...
По делу пишите!
0
DeeMon DeeMon 11 лет назад #
У меня этот метод после миграции не работал. От этого и нашёл другое решение.
+1
DeeMon DeeMon 11 лет назад #
Минона:
Зачем такие сложности? Даже читать тяжело )
Сложность поменять всего одну строчку? При этом не трогая основной код файлов SAPE...
0
Boffka Boffka 11 лет назад #
а у меня что то не находит сапа код на сайте... Не могу добавить площадку
-1
DeeMon DeeMon 11 лет назад #
Где то значит что то не так делаете.
-1
necromanc necromanc 11 лет назад #
спасибо кэп
0
necromanc necromanc 11 лет назад #
по непонятным причинам когда жму "добавить скрипт" ничего не добавляется. версия 1,9
0
necromanc necromanc 11 лет назад #
""
0
SEOrigin SEOrigin 11 лет назад #
В файле 1212sdfhjs123hsdf.php, который лежит вне папки из архива подключаются Sape.Articles. На это надо акцентировать внимание в инструкции.
0
Ганс Ганс 10 лет назад #
банят все чащще(((((....
0
leko leko 10 лет назад #
DeeMon, у Вас сейчас новая версия 1.13 стоит? С выводом контекстных ссылок не получилось?
0
max_nordvegan max_nordvegan 3 года назад #
Здравствуйте!
Установил виджет добавления php (отсюда: https://instantcms.ru/addons/php.html).
Вставил на сайт php код от Sape.

if (!defined('_SAPE_USER')){
define('_SAPE_USER', '63142195c1146b......................................f17dc16c9f949');
}
require_once(realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));
$sape = new SAPE_client();

Но на сайте Sape, мой сайт не добавляется. Выдаётся, что на сайте нет кода Sape. По F12 и search sape, ничего о sape не выводится на главной странице. На других вроде выводится. Код установлен в шаблоне главной страницы и для остальных страниц.
Ещё выдаётся return_links($2); ?>.

Еще от автора

Обновление для шаблона Ultimate 2.16.2 u2
Небольшое некритичное обновление для шаблона Ultimate.
Обновление для шаблона Ultimate
Небольшое обновление для шаблона Ultimate для корректной работы на версии InstantCMS 2.16.2.
Патч для компонента "Проблемы и решения: Версия 1.3"
Речь идёт о компоненте "Проблемы и решения: Версия 1.3", автор SJen. Ссылка на релиз в блогах.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.