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

+17
2.88K
Тем на сайте куча, но как то все ссылаются друг на друга. Решил написать как бы рабочее решение для версий 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 9 лет назад #
Спасибо. В скором времени пригодится.
+3
Anonim Anonim 9 лет назад #
Зачем такие сложности? Даже читать тяжело )

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

Код 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 9 лет назад #
Надо бы автору поста читать FAQ по теме сапы внимательней. Сколько же времени ты убил на изобретение описанного метода?
+2
DeeMon DeeMon 9 лет назад #
Надо бы автору поста читать FAQ по теме сапы внимательней.
Правда? Чтоб я без Вас делал то? Читал, стоит заметить оно там устарело уже как года 3.
Сколько же времени ты убил на изобретение описанного
Минут 7.
-2
RIf RIf 9 лет назад #
ну, ну. А код в сапе 30 секунд поменять.
+2
DeeMon DeeMon 9 лет назад #
Я не вижу смысла пока в ваших комментариях...
По делу пишите!
0
DeeMon DeeMon 9 лет назад #
У меня этот метод после миграции не работал. От этого и нашёл другое решение.
+1
DeeMon DeeMon 9 лет назад #
Минона:
Зачем такие сложности? Даже читать тяжело )
Сложность поменять всего одну строчку? При этом не трогая основной код файлов SAPE...
0
Boffka Boffka 9 лет назад #
а у меня что то не находит сапа код на сайте... Не могу добавить площадку
-1
DeeMon DeeMon 9 лет назад #
Где то значит что то не так делаете.
-1
necromanc necromanc 9 лет назад #
спасибо кэп
0
necromanc necromanc 9 лет назад #
по непонятным причинам когда жму "добавить скрипт" ничего не добавляется. версия 1,9
0
necromanc necromanc 9 лет назад #
""
0
SEOrigin SEOrigin 8 лет назад #
В файле 1212sdfhjs123hsdf.php, который лежит вне папки из архива подключаются Sape.Articles. На это надо акцентировать внимание в инструкции.
0
Ганс Ганс 8 лет назад #
банят все чащще(((((....
0
leko leko 7 лет назад #
DeeMon, у Вас сейчас новая версия 1.13 стоит? С выводом контекстных ссылок не получилось?
0
max_nordvegan max_nordvegan 11 месяцев назад #
Здравствуйте!
Установил виджет добавления php (отсюда: https://addons.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); ?>.

Еще от автора

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