Регистрация
Вход через соцсети
Восстановление пароля

Банеры при выборке тега

Новый топик
Страницы: 1  |  2
14.02.2012, 03:47
Ответить | Цитировать
Дмитрий

Зарегистрирован:
2012-02-14
Сообщений: 10

Все привет!
Возникла такая проблема, у меня на сайте в странице формирования списка публикаций (Статьи) размещено 2 банерные зоны. Размещены по такому принцыпу, 2 статьи дале банер, 2 статьи и далее банер и снизу 3 статьи, тоесть не хитрое чередование, на статьях и новостях оно работает прелестно. Вот код
Код:
	".opt($counter==2, "<div class='adv even'>
".$current_catalogue['zone02']."
</div>").
opt($counter==4, "<div class='adv odd'>
".$current_catalogue['zone03']."
</div>").

opt($counter++, "")."

Но, на странице формирования выборки тега, (это там где список элементов с выбраным тегом) оно работает как попало, тоесть чередование работает хаотично, 3 статьи банер, 1 статья банер итд. Теги выводятся таким образом
Код:
$f_AdminCommon";
# получаем данные
list($mess_array_all, $tagText) = nc_tag_cloud_show_result($tag, $tagsub, $tagcc);
# выводим нужные сообщения
$totRows = count($mess_array_all);
$cc_env['totRows'] = $totRows;
if($tag && $mess_array_all) {
$messCount = 1;
unset($mess_array);
$mess_array_all[] = 1; # чтобы цикл выполнился один лишний раз
foreach($mess_array_all AS $value) {
if($messCount>$curPos && ($messCount-$curPos-1)<=$recNum && ($messCount-$curPos)>0) {
if( ($value['Sub_Class_ID']==$mess_cc || !$mess_cc) && ($messCount-$curPos)<=$recNum) {
if(!$mess_cc) {
$mess_sub = $value['Subdivision_ID'];
$mess_cc = $value['Sub_Class_ID'];
}
$mess_array[] = $value['Message_ID'];
}
else {
if($mess_array) {
$messages_str = join(",", $mess_array);
$content.=s_list_class($mess_sub, $mess_cc, opt($messages_str, "&tags_messages=$messages_str")."&isTitle=2&preTitle=1&showNav=0" );
}
unset($mess_array);
$messages_str = "";
$mess_array[] = $value['Message_ID'];
$mess_sub = $value['Subdivision_ID'];
$mess_cc = $value['Sub_Class_ID'];
}
}
++$messCount;
}
}
$result.="
<div class='nc_list'>
<h3>
".($tag ? "Тег — ".((int)$tagsub || (int)$tagcc ? "<a href='".$SUB_FOLDER.$current_sub['Hidden_URL']."?tag=".htmlspecialchars($tag, ENT_QUOTES)."' title='вывести все сообщения с этим тегом'>".$tagText."</a>" : $tagText) : "Популярные теги")."
</h3>
".($content && $tag ? $content : nc_tag_cloud_all($catalogue, "<a href='$SUB_FOLDER/tags/%TAG_LINK%TAG_SUB_LINK' style='font-size:%TAG_HEIGHT%; \".opt(%TAG_HEIGHT>160, 'line-height:1em;').\"'>%TAG_NAME</a>"))."
вопрос, как можно это чередование поправит?
15.02.2012, 11:30
Ответить | Цитировать
Дмитрий

Зарегистрирован:
2012-02-14
Сообщений: 10

Есть у кого какие мысли? Реально интересно почему происхит такая аномалия.
15.02.2012, 13:58
Ответить | Цитировать
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

Это логично, на странице с тегами s_list_class вызывается несколько раз и у каждого свой $counter будет, надо сделать его глобальным для всех вызовов s_list_class

Ксю доставляет...
18.02.2012, 16:54
Ответить | Цитировать
Дмитрий

Зарегистрирован:
2012-02-14
Сообщений: 10

В тегах, настройках отображения объектов поставил global $counter; но все осталось так же, то есть без изменений. Что я делаю не так?
20.02.2012, 23:26
Ответить | Цитировать
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

Так же надо проставить этот глобал в системных настройках компонента "статьи"

Ксю доставляет...
21.02.2012, 00:00
Ответить | Цитировать
Дмитрий

Зарегистрирован:
2012-02-14
Сообщений: 10

Только что попробовал, тоже самое. Реакция ноль.
21.02.2012, 10:29
Ответить | Цитировать
Denis
Denis

Зарегистрирован:
2008-07-15
Сообщений: 666

В компонентах статьи $counter нигде не обнуляется?
opt($counter++, "")." - единственное место, где происходит изменение $counter?

Ксю доставляет...
21.02.2012, 12:57
Ответить | Цитировать
Дмитрий

Зарегистрирован:
2012-02-14
Сообщений: 10

1. Да,глянул он больше нигде не обнуляется
2. Да больше не встречается его.
22.02.2012, 14:36
Ответить | Цитировать
Дмитрий

Зарегистрирован:
2012-02-14
Сообщений: 10

Ну как? есть еще какие мысли?
22.02.2012, 15:55
Ответить | Цитировать
Гость
Гость

выведите значение счетчика хотя бы увидите как он меняется, проще будет проблему искать
22.02.2012, 18:55
Ответить | Цитировать
Дмитрий

Зарегистрирован:
2012-02-14
Сообщений: 10

Выводил само собой его, в теории глобал мог бы решить эту проблему, но на практике оно не работает. Пытаюсь выяснить почему.
198 196 2012-02-25 17:48:53 11899
Страницы: 1  |  2
Описание проекта