Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Установка кода Sape на Impera CMS

Следить
Главная
10:39
06 апр
#
?
kerpi написал:

Разобрался сам, если кому нужно будет, то ничего сложного:

вставляем код:

<?php
    if (!defined('_SAPE_USER')) {
        define('_SAPE_USER', '3be268983ba160f8421c42a87f0e9cf9');
    }
    require_once(realpath($_SERVER['DOCUMENT_ROOT'] . '/' . _SAPE_USER . '/sape.php'));
    $sape = new SAPE_client();
    echo $sape->return_links();
?>


сразу в шаб страниц на которых хотим продавать ссылки и все.

09:29
18 мая
#
?
Виктор написал:

Как можно в .tpl вывести php ? помогите пожалуйста с сапой.

13:58
18 мая
#
Разработчик написал:
  • ...
  • design
    • ...
    • Имя_Вашего_Шаблона
      • css
      • html
        • ...
        • emulator.php
        • sape.php
        • ...
      • images
      • js
    • ...
  • ...
  • ...

Скачайте из своего аккаунта на бирже ссылок Sape.ru их скрипт sape.php и скопируйте в ту папку вашего шаблона, где размещены tpl-файлы, то есть в папку http://ваш.сайт/design/папка_шаблона/html. Смотрите, как показано в листинге файлов справа. Интересующий файл помечен красным цветом. Еще один файл помечен зеленым цветом, об этом файле расскажем следом.

Стоит напомнить, Impera CMS поддерживает в шаблонах так называемый хелпер - это файл emulator.php, в котором мы можем разместить какие-нибудь произвольные функции-обработчики, расширяющие движок некими ранее непредусмотренными возможностями. А сами эти вспомогательные функции можем использовать в нужном месте нашего шаблона. Например, записав в хелпере некую функцию sapeLinks, теперь можем вызвать ее с каким-то набором параметров (какие мы неявно обозначили и обрабатываем в коде функции согласно своим представлениям) в некотором tpl-файле шаблона. Скажем, нам захотелось вызвать функцию внизу файла списка новостей:

{* файл news.tpl - центральная часть страницы списка новостей *}

<h1> Новости </h1>

{if empty($all_news)}
    <p> Нет новостей! </p>
{else}

    <ul id="news-list">
        {foreach $all_news as $item}
            <li>
                <a href="{$site}{$item->url_path}{$item->url}"> {$item->header} </a>
            </li>
        {/foreach}
    </ul>
    {$PagesNavigation}
{/if}

<div id="reklama"> {sapeLinks  hash='наш-хеш-код-в-sape'} </div>


Так вот чтобы использовать подобный механизм, проверьте наличие файла emulator.php в вашем шаблоне и дополните предложенной далее функцией вывода Sape-ссылок. Если же файла-хелпера нет в шаблоне, создайте файл с тем содержимым, как показано ниже:

<?php
/* ================================================================================
  Система: Impera CMS                                                             |
  Сайт системы: http://imperacms.ru/                                              |
                                                                                  |
  Назначение файла: хелпер шаблона клиентской стороны сайта                       |
  Расположение: http://сайт/design/папка_шаблона/html/emulator.php                |
                                                                                  |
================================================================================ */

    class TemplateEmulator {

        // объект Sape (биржа ссылок)
        protected $sape = null;

        // ===================================================================
        /**                                                                   
        *  Конструктор класса                                                 
        *                                                                     
        *  -------------------------------------------------------------------
        *                                                                     
        *  @access  public                                                    
        *  @param   object  $cms        объект движка                         
        *  @return  void                                                      
        */                                                                    
        // ===================================================================

        public function __construct ( & $cms ) {

            // подключаем наши функции и модификаторы Smarty
            $this->setSmartyPlugins($cms);
        }

        // ===================================================================
        /**                                                                   
        *  Подключение наших функций и модификаторов в шаблонизатор Smarty    
        *                                                                     
        *  -------------------------------------------------------------------
        *                                                                     
        *  @access  protected                                                 
        *  @param   object  $cms        объект движка                         
        *  @return  void                                                      
        */                                                                    
        // ===================================================================

        protected function setSmartyPlugins ( & $cms ) {

            // регистрируем шаблонизационную функцию sapeLinks
            $cms->smarty->registerPlugin('function', 'sapeLinks', array($this, 'sapeLinks'));
        }

        // ===================================================================
        /**                                                                   
        *  Обработчик шаблонизационной функции sapeLinks                      
        *                                                                     
        *  Действие: выводит html-код ссылок Sape для указанного пользователя 
        *  этой биржы ссылок.                                                 
        *                                                                     
        *  -------------------------------------------------------------------
        *                                                                     
        *  @access  public                                                    
        *  @param   array   $params     массив параметров, указанных в вызове:
        *                                   ['hash'] = хеш-код пользователя Sape (обязателен только при первом вызове)
        *                                   ['method'] = какой метод вызвать (по умолчанию return_links)
        *                                   ['count'] = количество выводимых ссылок (по умолчанию ВСЕ)
        *  @param   object  $smarty     объект шаблонизатора Smarty           
        *  @return  string              html-код ссылок                       
        */                                                                    
        // ===================================================================

        public function sapeLinks ( $params = null, & $smarty = null ) {

            // если это первый вызов, берем хеш-код пользователя
            if (!defined('_SAPE_USER')) {
                $field = 'hash';
                $hash = isset($params[$field]) ? trim($params[$field]) : '';
                if ($hash == '') return '';
                define('_SAPE_USER', $hash);

                // подключаем скрипт Sape
                $file = dirname(__FILE__) . '/sape.php';
                if (file_exists($file) && is_file($file)) require_once($file);
            }

            // создаем объект Sape, если еще нет
            $class = 'SAPE_client';
            if (!class_exists($class)) return '';
            if (empty($this->sape)) $this->sape = new $class();

            // берем количество выводимых ссылок
            $field = 'count';
            $count = isset($params[$field]) ? max(1, intval($params[$field])) : 0;

            // выводим ссылки
            $field = 'method';
            $method = isset($params[$field]) ? trim($params[$field]) : 'return_links';
            if ($method == '' || !method_exists($this->sape, $method)) return '';
            if (!empty($count)) return $this->sape->$method($count);
            return $this->sape->$method();
        }
    }
?>


Данная функция sapeLinks удобная тем, что:

  • безопасна при вызове, когда скрипт sape.php отсутствует в шаблоне;
  • с помощью опционального параметра method позволяет обратиться к другому методу Sape;
  • безопасна при обращении к несуществующему методу Sape.


Напоследок несколько примеров вызова функции:

<div id="reklama1"> {sapeLinks  hash='наш-хеш-код-в-sape'} </div>

<div id="reklama2"> {sapeLinks  hash='наш-хеш-код-в-sape'  count=5} </div>

<div id="reklama3"> {sapeLinks  hash='наш-хеш-код-в-sape'  method='return_articles'} </div>

<div id="reklama4"> {sapeLinks  hash='наш-хеш-код-в-sape'  method='return_articles'  count=10} </div>


То есть параметры method и count опциональные. Параметр hash обязателен только в первом вызове на странице, в последующих вызовах он может быть опущен, так как к тому моменту уже известно, с каким пользователем биржы Sape связаны данные вызовы функции.

18:16
18 мая
#
?
Руслан написал:

Короче можно было. В шаблоне пишем

{php}
    здесь
    код
    на php
{/php}

И еще в Импере строка 1255 Basic.php

$policy->php_handling = Smarty::PHP_REMOVE;

заменить на

$policy->php_handling = Smarty::PHP_ALLOW;

Иначе блок {php} Смарти вырежет.

16:56
21 мая
#
?
bomo87 написал:

Виктор .. помогите пожалуйста с сапой.

Не понимаю логику вот таких фрилансов. Поставить человеку магазин, а под капот сунуть сапу. Ппц! Один думает как повысить магаз, деньги вкалывает. Другой ставит на его сайте "филиал" биржы ссылок. Чтоб постричь тыщу деревяных на чужом трафе. Стоит ли мелкий "пизнес" риска загнать со 100% шансом магазин в бан? Наверно хозяин сайта не в курсах что там творите. Нет слов. И не надо трындеть, что на других сайтах так работают и без бана. Еще как банятся. Может месяц два все ок. А потом нежданно хоп! и приплыли. Потому что из сайта сделали говоносайт, т.к. сапа сорит на нем говносылками на другие гс, рано или поздно поисковик это заметит. Вы хоть смотрели на сайтах ссылки сапы, что там рекламируют? Всякий мусор. Еще раз ппц! Магазин на то магазин. Или основной бизнес магаза это Сапа?

Почитайте как Rusonyx.ru попал под раздачу из-за таких вот нанятых однажды умников. Они насапили им ссылки очередями по всему нету. И сколько сил русоникс положил потом выплыть из бана. Очень просветляет мозги. Борьба за трафик. Как вывести сайт из-под спам-фильтра Google.

Никаких сап в магазине! Торгуйте, не страдайте хайней.

Написание ответа

Перед публикацией рекомендуется использовать Предпросмотр, чтобы увидеть конечный вид сообщения.


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.


Хостинг для сайта

Хостинг для интернет магазина

Svai.net

Украина
г. Черкассы
5+ Заказать

TutHost.ua

Украина
г. Киев
Заказать

Mirohost.net

Украина
г. Киев
? Заказать

HyperHosting.com.ua

Украина
г. Винница
i подробнее Заказать

Agava.ru

Россия
г. Москва
Заказать

Ukraine.com.ua

Украина
г. Киев
5 Заказать
Импераготовасотрудничатьс провайдерами Важно Учтите Этот список перечисляет лишь некоторых хостинг-провайдеров, у которых существуют специальные тарифные планы для интернет магазинов, а сам список не означает, что другие провайдеры чем-то хуже.

Существующие в списке оценки по 5-бальной шкале не должны учитываться при выборе, так как носят субъективный характер и касаются соотношения цена-качество-скорость только для самых дорогих тарифных планов.

Демо Главная Хронология Соглашение Материалы Контакты