|
|
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

Зарегистрирован: 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

Зарегистрирован: 2008-07-15
Сообщений: 666
|
Так же надо проставить этот глобал в системных настройках компонента "статьи"
|
|
|
21.02.2012, 00:00
|
|
Дмитрий
Зарегистрирован: 2012-02-14
Сообщений: 10
|
Только что попробовал, тоже самое. Реакция ноль.
|
|
|
21.02.2012, 10:29
|
|
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
|
Выводил само собой его, в теории глобал мог бы решить эту проблему, но на практике оно не работает. Пытаюсь выяснить почему.
|