Мастерская iPloGic
+7 (926) 961-66-26

 — База знаний — Как вставить код Sape в Webasyst

Как вставить код Sape в Webasyst

Для того, чтобы подключить сайт к системе sape.ru необходимо добавить специальный php код в код вашего сайта. Вроде ничего сложного, но вставить код непосредственно в шаблон сайта не получается. И вот тут неискушенный в разработке под webasyst пользователь встает в тупик. Как не странно в интернете эту пустяковую, но распространенную проблему в интернете все обходят стороной, на форумах просто закидывают ссылками и умными речами, которые понятны только программистам.

Попробуем доходчиво объяснить как это сделать.

Для решения подобных задач в webasyst есть такая вещь как "хэлпер". Что это такое. Коротко, это программный файл содержащий один класс, который и выполнит нужный нам код при вызове из шаблона. Если ничего не поняли, не беда. Итак создаем файл с названием siteSape.class.php. В него кладем следующий код:

<?php
class siteSape
{
    public static function getSape()
    {
        if (!defined('_SAPE_USER')){
            define('_SAPE_USER', '62d91ba5c***************dfacea8dffe');
        }
        require_once(realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));
        return $sape = new SAPE_client();
    }
}


Здесь 62d91ba5c***************dfacea8dffe код сайта на sape (он же название скаченой папки).

Теперь сохраняем и кладем его на сервер в папку wa-apps/site/lib/classes/. Обратите внимание на ключ, который находится в коде. Убедитесь, что он совпадает с тем, что вам выдает sape.ru.

Где-нибудь в начале шаблона вставляем

{if $wa->site}{$sape=siteSape::getSape()}{/if}


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

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

<?{iconv("windows-1251", "UTF-8", $sape->return_links(2))}

Здесь цифра 2 обозначает количество ссылок в блоке, решать вам. А iconv добавлен для перевода полученного кода в utf-8. Если же по какой-то причине у вас все-же вылезет что-то нечетаемое попробуйте написать просто:

<?{$sape->return_links(2)}


Ну вот и все. Можно отправлять на модерацию. И не забудьте почистить кэш.

05.07.2016