abo +sape

Тема в разделе "ABO CMS", создана пользователем Jaarg, 6 сен 2008.

  1. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    Сталкнулся с такой проблемой - нужно на або цмс повесить сапу. И как то у меня не получается это сделать, так как пхп не выполняется в абовских хтмл страничках.

    Помогите плз )

    ps ставить пытался "Для хостинга с поддержкой PHP"
     
  2. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    вроде бы разобрался.
    выкинул все из _top.html, вставил в него код сапы, сразу следом вставил код вывода сапы и все это вызываю в нужном месте темплейта через <!-- INCLUDESCRIPT BLOCK : top -->

    правда, в разделе "мои площадки, страницы контекст" написано, что "Ни на одной странице сайта пока не найден контекстный код."

    терь жду, то ли это после модерации изменится (в разделе страницы куча проиндексированных страниц со статусом "ок"), то ли я все сделал не так и абосекс продолжится :)
     
  3. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    Да, метод работает. Правда, тестировался в итоге на XAP, но принцип тот же.

    Спасибо всем участникам дискуссии, особенно Jaarg :D
     
  4. satyra

    satyra Постоялец

    Регистр.:
    21 окт 2007
    Сообщения:
    73
    Симпатии:
    7
    я реализовывал это через модуль банеры

    в классе Banners

    есть фукция

    show_random_banner()

    см. ниже как я реализовал у себя


    function show_random_banner($category_id = null, $new_line = null) {
    global $CONFIG, $tpl, $main, $db, $server, $lang;
    $category_id = (int)$category_id;
    $where = ($category_id) ? $where = "category_id = $category_id AND" : "";

    $BC = new CBannersCategories_DB($this->table_prefix.'_banners_categories', 'id');
    $BD = new CBannersData_DB($this->table_prefix."_banners", "id");
    if (count($this->already_displayed) > 0) $not_in_str = " AND id NOT IN (" . implode(",", $this->already_displayed) . ")";
    $db->query('SELECT *
    FROM '.$this->table_prefix.'_banners
    WHERE '.$where.' active = 1 '.$not_in_str.'
    ORDER BY RAND()
    LIMIT 0, 1');
    $db->next_record();
    if ($db->f('id')) {
    $banner_size = trim($db->f('size'));
    $banner_style_css = trim($db->f('style_css'));
    switch ($db->f('type')) {
    // àíèìèðîâàííûé ãèô
    case 1:
    $main->include_main_blocks($this->module_name."_gif.html", "main");
    if ($db->f('filename')) {
    $img_path = $CONFIG['banners_path'].$db->f('filename');
    if (file_exists($img_path)) {
    $size = getimagesize($img_path);
    $w = $size[0];
    $h = $size[1];
    $banner = "&nbsp;<a href='".$db->f('url')."' target=_blank><img src=\"/". $img_path."\" alt=\"\" width=\"$w\" height=\"$h\" border=\"0\"></a>";
    }
    }
    break;
    // ôëåø-áàííåð
    case 2:
    $main->include_main_blocks($this->module_name."_flash.html", "main");
    $html_code = $db->f('text');
    $url = $db->f('url');
    $filename = $db->f('filename');
    $imagename = $db->f('imagename');
    $html_code = preg_replace('/EMBED src="?[^"\s]*"?/i', "EMBED src=\"/".$CONFIG["banners_path"]."$filename?link=$url\"", $html_code);
    $html_code = preg_replace('/PARAM NAME="?movie"? VALUE="?[^"\s]*"?/i', "PARAM NAME=movie VALUE=\"/" . $CONFIG["banners_path"] . "$filename?link=$url\"", $html_code);
    $banner = $html_code;
    $banner = str_replace("'", "\'", $banner);
    if ($imagename) $alternative_image = "<a href=\"$url\"><img src=\"/".$CONFIG["banners_path"].$imagename."\" border=0></a>";
    break;
    // òåêñòîâûé áàííåð
    case 3:
    $main->include_main_blocks($this->module_name."_text.html", "main");
    $banner = "&nbsp;<a href=\"".$db->f('url')."\" target=_blank>".$db->f('text')."</a>";
    break;


    // html áàííåð
    case 4:
    $main->include_main_blocks($this->module_name."_html.html", "main");
    $html_code = html_entity_decode($db->f('text'), ENT_QUOTES);
    $url = $db->f('url');
    $banner = $html_code;
    break;

    ####### Ðåêëàìíûå Àãåíñòâà ##########

    # i-Media
    case 5:
    $main->include_main_blocks($this->module_name."_html.html", "main");
    if ( !defined('IM_RECLAME_DIR') ) { define('IM_RECLAME_DIR', 'im_relame_87c34b85b4f7a89139178'); }
    include_once(RP.'mod/banners/addmodule/'.IM_RECLAME_DIR.'/im_reclame.class.php');
    $banner = $imedia->showLinks(8);
    $banner .= $imedia->showLinks();
    $banner = str_replace("</span>", "</span><br><br>", $banner);
    break;


    # Sape.ru
    case 6:
    $main->include_main_blocks($this->module_name."_html.html", "main");
    if (!defined('_SAPE_USER')){ define('_SAPE_USER', '7256c2991f2c9a795ff637c440aaba'); }
    include_once(RP.'mod/banners/addmodule/'._SAPE_USER.'/sape.php');
    $sape = new SAPE_client();
    $banner = $sape->return_links(9);
    $banner = str_replace("::", "<br><br>", $banner);
    break;



    # LinkFeed.ru
    case 7:
    $main->include_main_blocks($this->module_name."_html.html", "main");
    if ( !defined('LINKFEED_USER') ) { define('LINKFEED_USER', '651a1a021c528c7cdd155791618ff0f9d325'); }
    include_once(RP.'mod/banners/addmodule/'.LINKFEED_USER.'/linkfeed.php');
    $linkfeed = new LinkfeedClient();
    $banner = $linkfeed->return_links(9);
    $banner .= $linkfeed->return_links();
    $banner = str_replace("::", "<br><br>", $banner);
    break;



    }
    $nl = ($new_line) ? "<br>" : "";
    $tpl->prepare();

    if ($banner) {
    $this->already_displayed[] = $db->f('id');
    //âûâîä íà ýêðàí
    $tpl->newBlock('block_banner');
    $tpl->newBlock('block_size_banner_'.$banner_size);
    $tpl->assign(array(
    style_css => $banner_style_css,
    banner => $banner,
    alternative_image => $alternative_image,
    nl => $nl, // åñòü ëè ïåðåíîñ íà íîâóþ ñòðîêó
    ));
    $tpl->gotoBlock('block_size_banner_'.$banner_size);
    $tpl->gotoBlock("block_banner");

    return TRUE;
    }
    }
    return FALSE;
    }
     
    Valeras и bucha2004 нравится это.
  5. Valeras

    Valeras Постоялец

    Регистр.:
    23 апр 2007
    Сообщения:
    108
    Симпатии:
    36
    Сделал как описано у satyra заработало, только пришлось вставлять код в текстовую ссылку, так как она не используется, вместо:
    PHP:
    case 3:
    $main->include_main_blocks($this->module_name."_text.html""main");
    $banner "&nbsp;<a href=\"".$db->f('url')."\" target=_blank>".$db->f('text')."</a>";
    break;
    поставил код описанный выше:
    PHP:
    case 3:
    $main->include_main_blocks($this->module_name."_html.html""main");
    if (!
    defined('_SAPE_USER')){ define('_SAPE_USER''7256c2991f2c9a795ff637c440aaba'); }
    include_once(
    RP.'mod/banners/addmodule/'._SAPE_USER.'/sape.php');
    $sape = new SAPE_client();
    $banner $sape->return_links(9);
    $banner str_replace("::""<br><br>"$banner);
    break;
    Далее создал категорию баннеров, у текстового баннера заполнил поля. Поставил баннер как модуль на страницу, выбрал созданную категорию.
    Подставил на страницу, заработало.