Вы не зашли.
Ну конец в файла 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);
Все равно не работает.
Не в сети
Если ты не включаешь галочку "Отложенная загрузка динамической JavaScript рекламы" тогда не знаю, надо смотреть детально на хостинге, так как уже говорил, у меня работает
Не в сети
alexR, напиши подробнее что ты и куда вставляеш и где именно неработает, так как при простом режиме должно точно работать, вероятно что или чтото нетак делаеш или действительно с хостингом, хотя скорее первое
Не в сети
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
эту ошибку не исправляет, может дело в этом?
Не в сети
Всем привет)
Во-первых спасибо создателям за бесплатную Next Generation, это то, что я искал)
Я только недавно начать изучать эту CMS, поэтому возник ряд вопросов, новую тему создавать не стал, напишу в этой ветке, так как вопросы касаются плагина "ads".
Собственно, вопросы такие:
1) Я так понял, чтобы, к примеру, отредактировать футер (или, допустим, шапку, да и любые другие места на сайте), надо в самом коде шаблона вставить метку {ads1}, а потом уже в плагине вставить нужный код или текст, верно?
2) Метка вставляется только в коде файла main.tpl? Или чтобы код работал на всех страницах сайта (включая карту сайта, обратную связь и т. д.) нужно в других файлах также поставить эту метку?
3) Не совсем понял где нужно установить метку, чтобы код показывался только в начале (или конце) на странице с полной новостью, буду признателен, если подскажите.
Заранее спасибо за ответы
Не в сети
1. Да.
2. Конкретно плагин ads обрабатывает переменные в main.tpl, news.short.tpl, news.full.tpl и все.
3. news.full.tpl после или до переменной {full-story} или {short-story}
Не в сети
Wolverine, спасибо большое!)
Не в сети
На главной отображает, везде кроме главной отображает везде, кроме полной новости
ставлю на полную новость - не отображается в ней
в короткой все нормально
как отобразить в полной новости?
нашел причину!
ссылка генерируется неправильно
Например, я вставляю <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)
Не в сети