Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#51 2011-08-21 20:15:50

alexR
Пойманные на слове роботы
Откуда Харьков
Зарегистрирован: 2011-08-21
Сообщений: 5
Рейтинг :   
Сайт

Re: ads :: Реклама на сайте

Wolverine пишет:

Ну конец в файла ads.php, PHP тут знать не надо

Было:
<?php

// Protect against hack attempts
if (!defined('NGCMS')) die ('HAL');


// Get content [ array - content and deferred elements ]
function ads_get_content($num) {
    // Check for deferred load
    $v = 'ads'.$num;
    if (extra_get_param('ads', $v.'_defer')) {
        $content = extra_get_param('ads', $v.'_deferblk');
        $insertBlock = '<div style="display: none;" id="adsSource'.$num.'">'.extra_get_param('ads', $v).'</div>'.
            '<script language="JavaScript">'."\n".'document.getElementById("adsTarget'.$num.'").innerHTML = document.getElementById("adsSource'.$num.'").innerHTML;'."\n".'</script>';
        if (!$content) $content = '<div id="adsTarget'.$num.'"></div>';
        return array ( $content, $insertBlock );
    } else {
        return array ( extra_get_param('ads', $v) );
    }
}

//
// ADS filtering functions for internals of STATIC pages
class AdsStaticFilter extends StaticFilter {
    function showStatic($staticID, $SQLnstatic, &$tvars) {
        global $template;

        $count = extra_get_param('ads','count');
        if ((intval($count) < 1)||(intval($count) > 20))
            $count = 3;

        for ( $i = 1; $i <= $count; $i++) {
            $v = 'ads'.$i;
            $mode = extra_get_param('ads',$v.'_type');
            if ($mode != 'static')
                continue;

            list ($content, $insertBlock) = ads_get_content($i);
            $tvars['vars'][$v] = $content;
            if ($insertBlock)
                $template['vars']['plugin_ads_defer'] .= $insertBlock;
        }
    }
}

//
// ADS filtering functions for NEWS
class AdsNewsFilter extends NewsFilter {
    function showNews($newsID, $SQLnews, &$tvars, $params = array()) {
        global $template;
        $count = extra_get_param('ads','count');
        if ((intval($count) < 1)||(intval($count) > 20))
            $count = 3;

        for ( $i = 1; $i <= $count; $i++) {
            $v = 'ads'.$i;
            $mode = extra_get_param('ads',$v.'_type');

            // Check if we should show data block
            if  (!((($params['style'] == 'short')&&($mode =='news.short'))||
                (($params['style'] == 'full') &&($mode =='news.full') )||
                ($mode=='news')))
                    continue;

            list ($content, $insertBlock) = ads_get_content($i);
            $tvars['vars'][$v] = $content;
            if ($insertBlock)
                $template['vars']['plugin_ads_defer'] .= $insertBlock;
        }
        return 1;
    }

}

// Register filters
register_filter('static','ads', new AdsStaticFilter);
register_filter('news',  'ads', new AdsNewsFilter);

add_act('index', 'plugin_ads');

function plugin_ads(){
    global $template, $tvars, $CurrentHandler;
    //global $template, $action, $category, $cstart, $tvars, $year, $month;

    $template['vars']['plugin_ads_defer'] = '';
    $template['vars']['plugin_ads_rand']  = rand().rand();

    $count = extra_get_param('ads','count');
    if ((intval($count) < 1)||(intval($count) > 20))
        $count = 3;

    for ( $i = 1; $i <= $count; $i++) {
        $enableDisplay = 0;

        $v = 'ads'.$i;
        $mode = extra_get_param('ads',$v.'_type');

        if (
            // main page
            (($mode == 'root')&&($CurrentHandler['params'][0] == '/')) ||
            // everywhere except main page
            (($mode == 'noroot')&&($CurrentHandler['params'][0] != '/')) ||
            // everywhere
            ($mode == 'all')
           ) {
               $enableDisplay = 1;
        }

        if ($enableDisplay) {
            list ($content, $insertBlock) = ads_get_content($i);
            $template['vars'][$v] = $content;
            if ($insertBlock)
                $template['vars']['plugin_ads_defer'] .= $insertBlock;
        } else {
            $template['vars'][$v] = '';
        }
    }
}
[hr /]
Сделал так:
<?php

// Protect against hack attempts
if (!defined('NGCMS')) die ('HAL');


// Get content [ array - content and deferred elements ]
function ads_get_content($num) {
    // Check for deferred load
    $v = 'ads'.$num;
    if (extra_get_param('ads', $v.'_defer')) {
        $content = extra_get_param('ads', $v.'_deferblk');
        $insertBlock = '<div style="display: none;" id="adsSource'.$num.'">'.extra_get_param('ads', $v).'</div>'.
            '<script language="JavaScript">'."\n".'document.getElementById("adsTarget'.$num.'").innerHTML = document.getElementById("adsSource'.$num.'").innerHTML;'."\n".'</script>';
        if (!$content) $content = '<div id="adsTarget'.$num.'"></div>';
        return array ( $content, $insertBlock );
    } else {
        return array ( extra_get_param('ads', $v) );
    }
}

//
// ADS filtering functions for internals of STATIC pages
class AdsStaticFilter extends StaticFilter {
    function showStatic($staticID, $SQLnstatic, &$tvars) {
        global $template;

        $count = extra_get_param('ads','count');
        if ((intval($count) < 1)||(intval($count) > 20))
            $count = 3;

        for ( $i = 1; $i <= $count; $i++) {
            $v = 'ads'.$i;
            $mode = extra_get_param('ads',$v.'_type');
            if ($mode != 'static')
                continue;

            list ($content, $insertBlock) = ads_get_content($i);
            $tvars['vars'][$v] = $content;
            if ($insertBlock)
                $template['vars']['plugin_ads_defer'] .= $insertBlock;
        }
    }
}

//
// ADS filtering functions for NEWS
class AdsNewsFilter extends NewsFilter {
    function showNews($newsID, $SQLnews, &$tvars, $params = array()) {
        global $template;
        $count = extra_get_param('ads','count');
        if ((intval($count) < 1)||(intval($count) > 20))
            $count = 3;

        for ( $i = 1; $i <= $count; $i++) {
            $v = 'ads'.$i;
            $mode = extra_get_param('ads',$v.'_type');

            // Check if we should show data block
            if  (!((($params['style'] == 'short')&&($mode =='news.short'))||
                (($params['style'] == 'full') &&($mode =='news.full') )||
                ($mode=='news')))
                    continue;

            list ($content, $insertBlock) = ads_get_content($i);
            $tvars['vars'][$v] = $content;
            if ($insertBlock)
                $template['vars']['plugin_ads_defer'] .= $insertBlock;
        }
        return 1;
    }

}

add_act('index', 'plugin_ads');

function plugin_ads(){
    global $template, $tvars, $CurrentHandler;
    //global $template, $action, $category, $cstart, $tvars, $year, $month;

    $template['vars']['plugin_ads_defer'] = '';
    $template['vars']['plugin_ads_rand']  = rand().rand();

    $count = extra_get_param('ads','count');
    if ((intval($count) < 1)||(intval($count) > 20))
        $count = 3;

    for ( $i = 1; $i <= $count; $i++) {
        $enableDisplay = 0;

        $v = 'ads'.$i;
        $mode = extra_get_param('ads',$v.'_type');

        if (
            // main page
            (($mode == 'root')&&($CurrentHandler['params'][0] == '/')) ||
            // everywhere except main page
            (($mode == 'noroot')&&($CurrentHandler['params'][0] != '/')) ||
            // everywhere
            ($mode == 'all')
           ) {
               $enableDisplay = 1;
        }

        if ($enableDisplay) {
            list ($content, $insertBlock) = ads_get_content($i);
            $template['vars'][$v] = $content;
            if ($insertBlock)
                $template['vars']['plugin_ads_defer'] .= $insertBlock;
        } else {
            $template['vars'][$v] = '';
        }
    }
}
// Register filters
register_filter('static','ads', new AdsStaticFilter);
register_filter('news',  'ads', new AdsNewsFilter);
Все равно не работает.

Не в сети

#52 2011-08-21 20:23:47

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: ads :: Реклама на сайте

Если ты не включаешь галочку "Отложенная загрузка динамической JavaScript рекламы" тогда не знаю, надо смотреть детально на хостинге, так как уже говорил, у меня работает

Не в сети

#53 2011-08-21 20:50:11

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: ads :: Реклама на сайте

alexR, напиши подробнее что ты и куда вставляеш и где именно неработает, так как при простом режиме должно точно работать, вероятно что или чтото нетак делаеш или действительно с хостингом, хотя скорее первое

Не в сети

#54 2011-08-21 23:52:33

alexR
Пойманные на слове роботы
Откуда Харьков
Зарегистрирован: 2011-08-21
Сообщений: 5
Рейтинг :   
Сайт

Re: ads :: Реклама на сайте

legenda пишет:

alexR, напиши подробнее что ты и куда вставляеш и где именно неработает, так как при простом режиме должно точно работать, вероятно что или чтото нетак делаеш или действительно с хостингом, хотя скорее первое

Здесь дело не в JavaScript.
У меня на сайте шапка главной с flash это работает (Морда).
Мне нужно, что бы на статических страницах на месте flash появлялась просто картинка.
В шапке, где flash вставляю {ads1}- flash {ads2}- static (В статической странице) естественно все это в main.tpl
Я, конечно, повторяюсь flash в морде работает, а на статических страницах ничего нет.
Код что в {ads1}:
        <div class="main-banner-small">
            <object type="application/x-shockwave-flash" data="http://biogas-energy.com.ua/templates/bio_ru/images/header_v8.swf" width="950" height="360">
                <param name="movie" value="http://biogas-energy.com.ua/templates/bio_ru/images/header_v8.swf" />
            </object>
        </div>
в  {ads2}:
<div class="main-banner-small">
<img border="0" src="http://biogas-energy.com.ua/templates/bio_ru/images/static.jpg" width="950" height="360" alt="" />
</div>
Правда у меня есть одна ошибка PHP Magic Quotes GPCвключено добавление в php.ini
php_flag magic_quotes_gpc off
эту ошибку не исправляет, может дело в этом?

Не в сети

#55 2011-08-21 23:54:41

alexR
Пойманные на слове роботы
Откуда Харьков
Зарегистрирован: 2011-08-21
Сообщений: 5
Рейтинг :   
Сайт

Re: ads :: Реклама на сайте

Совсем забыл на всякий случай у меня на хостинге версия PHP: 5.3.6

Не в сети

#56 2011-08-22 00:06:46

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: ads :: Реклама на сайте

Если дашь доступ к телу, то посмотрю smile К FTP и админке

Не в сети

#57 2012-01-12 12:26:17

sheepyshape
Участник
Зарегистрирован: 2012-01-08
Сообщений: 26
Рейтинг :   

Re: ads :: Реклама на сайте

Всем привет)
Во-первых спасибо создателям за бесплатную Next Generation, это то, что я искал)
Я только недавно начать изучать эту CMS, поэтому возник ряд вопросов, новую тему создавать не стал, напишу в этой ветке, так как вопросы касаются плагина "ads".

Собственно, вопросы такие:

1) Я так понял, чтобы, к примеру, отредактировать футер (или, допустим, шапку, да и любые другие места на сайте), надо в самом коде шаблона вставить метку {ads1}, а потом уже в плагине вставить нужный код или текст, верно?

2) Метка вставляется только в коде файла main.tpl? Или чтобы код работал на всех страницах сайта (включая карту сайта, обратную связь и т. д.) нужно в других файлах также поставить эту метку?

3) Не совсем понял где нужно установить метку, чтобы код показывался только в начале (или конце) на странице с полной новостью, буду признателен, если подскажите.

Заранее спасибо за ответы smile

Не в сети

#58 2012-01-12 12:33:47

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: ads :: Реклама на сайте

1. Да.
2. Конкретно плагин ads обрабатывает переменные в main.tpl, news.short.tpl, news.full.tpl и все.
3. news.full.tpl после или до переменной {full-story} или {short-story}

Не в сети

#59 2012-01-12 12:38:03

sheepyshape
Участник
Зарегистрирован: 2012-01-08
Сообщений: 26
Рейтинг :   

Re: ads :: Реклама на сайте

Wolverine, спасибо большое!)

Не в сети

#60 2012-11-06 21:06:50

Monix
Участник
Откуда Новосибирск
Зарегистрирован: 2009-12-15
Сообщений: 23
Рейтинг :   
Сайт

Re: ads :: Реклама на сайте

На главной отображает, везде кроме главной отображает везде, кроме полной новости
ставлю на полную новость - не отображается в ней
в короткой все нормально
как отобразить в полной новости?

нашел причину!
ссылка генерируется неправильно
Например, я вставляю <script type="text/javascript" src="robots/menu2.js"></script>
Т.е должно быть http://site.ru/robots/menu2.js
А он думает, что скрипт здесь - http://site.ru/category/robots/menu2.js
"category" - любая категория

Как поправить?

Изменено Monix (2012-11-06 21:25:23)

Не в сети

#61 2012-11-06 21:17:20

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: ads :: Реклама на сайте

Monix, неработает впринципе или с отложеной загрузкой?

Не в сети

#62 2012-11-07 13:23:12

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: ads :: Реклама на сайте

Monix пишет:

Как поправить?

написать в скрипте полный путь, хотя непойму причем тут ads

Не в сети

#63 2012-11-07 19:09:08

Monix
Участник
Откуда Новосибирск
Зарегистрирован: 2009-12-15
Сообщений: 23
Рейтинг :   
Сайт

Re: ads :: Реклама на сайте

В любом случае все на всех страницах должно быть нормально
Но почему-то в полной новости все не так, как на остальных страницах

Не в сети

Подвал раздела

Работает на FluxBB