• Уважаемый Гость! Если вы зарегистрировались на нашем форуме, значит вам нужна помощь! Мы всегда рады вам помочь, еще ни один пользователь не получил отказа! Но мы так же нуждаемся в Вашей поддержке. Проект полностью бесплатный, мы не имеем права требовать от вас денег, нам это и не нужно! Но от любой финансовой поддержки не откажемся. Проект развивается, но иногда очень тяжело его поддерживать, особенно в финансовом отношении. Если у вас есть возможность поддержать нас финансово, мы будем вам очень благодарны! С уважением, команда Оскласс Россия!
  • Изменение в правилах форума! В связи с огромным количеством вопросов поступающих в адрес технической поддержки мы решили изменить правила форума! Просим всех пользователей обратить внимание на данные изменения и четко их соблюдать!
  • Ребята, нуждаемся в программистах! Если хотите зарабатывать и есть время, пишите администраторам сайта. Есть база и инструменты, нужен опыт и знания =)
  • Уважаемые пользователи! На форуме появились разделы по работе с системой Yclas. Yclas - это скрипт доски объявлений. Нужны разработчики.

Более трех категорий в ряд

Статус
Закрыто для дальнейших ответов.

Philipp

Новичок
Здравствуйте.
В ОсКласс вывод категорий на главной странице - осуществляется в 3 столбца, вот как это "исправить" ? хотелось бы видеть по 4 - 5 столбцов на странице. Вариант с версткой - это понятно.
Но разработчики скрипта пошли другим путем.
Вот код, который отвечает за расчет количества столбцов.
PHP:
 <div id="main">
                <?php
                    $total_categories  = osc_count_categories();
                    $col1_max_cat      = ceil($total_categories/3);
                    $col2_max_cat      = ceil(($total_categories-$col1_max_cat)/2);
                    $col3_max_cat      = $total_categories-($col1_max_cat+$col2_max_cat);
               
                ?>
                <div class="categories <?php echo 'c' . $total_categories; ?>">
                    <?php osc_goto_first_category(); ?>
                    <?php
                        $i      = 1;
                        $x      = 1;
                        $col    = 1;
                        if(osc_count_categories () > 0) {
                            echo '<div class="col c1">';
                        }
 
ЗДЕСЬ КОД КОТОРЫЙ ОТВЕЧАЕТ ЗА САМИ КАТЕГОРИИ И КОЛИЧЕСТВО ОБЬЯВЛЕНИЙ В КАЖДОЙ - ЕГО Я ВЫРЕЗАЛ, ЧТОБЫ НЕ ОТВЛЕКАЛ ВНИМАНИЕ
 
следующая часть того, что отвечает за формирование списка
 
<?php
                            if (($col==1 && $i==$col1_max_cat) || ($col==2 && $i==$col2_max_cat) || ($col==3 && $i==$col3_max_cat)) {
                                $i = 1;
                                $col++;
                                echo '</div>';
                                if($x < $total_categories) {
                                    echo '<div class="col c'.$col.'">';
                                }
                            } else {
                                $i++;
                            }
                            $x++;
                        ?>

Собственно вопрос - как Изменить этот код, так, чтобы ОсКласс генерировал более 3х столбцов с категориями ?
 

administrator

Блудный сын.
Команда форума
Попробуйте так сделать вывод категорий:

Код:
<div id="main">
                <?php
                    $total_categories  = osc_count_categories();
                    $col1_max_cat      = ceil($total_categories/3);
                    $col2_max_cat      = ceil(($total_categories-$col1_max_cat)/2);
                    $col3_max_cat      = $total_categories-($col1_max_cat+$col2_max_cat);
                    $col4_max_cat      = $total_categories-($col1_max_cat+$col2_max_cat+$col3_max_cat);
                ?>
                <div class="categories <?php echo 'c' . $total_categories; ?>">
                    <?php osc_goto_first_category(); ?>
                    <?php
                        $i      = 1;
                        $x      = 1;
                        $col    = 1;
                        if(osc_count_categories () > 0) {
                            echo '<div class="col c1">';
                        }
 
ЗДЕСЬ КОД КОТОРЫЙ ОТВЕЧАЕТ ЗА САМИ КАТЕГОРИИ И КОЛИЧЕСТВО ОБЬЯВЛЕНИЙ В КАЖДОЙ - ЕГО Я ВЫРЕЗАЛ, ЧТОБЫ НЕ ОТВЛЕКАЛ ВНИМАНИЕ
 
следующая часть того, что отвечает за формирование списка
 
<?php
                            if (($col==1 && $i==$col1_max_cat) || ($col==2 && $i==$col2_max_cat) || ($col==3 && $i==$col3_max_cat)) || ($col==4 && $i==$col4_max_cat)){
                                $i = 1;
                                $col++;
                                echo '</div>';
                                if($x < $total_categories) {
                                    echo '<div class="col c'.$col.'">';
                                }
                            } else {
                                $i++;
                            }
                            $x++;
                        ?>

Попробуйте и отпишитесь пожалуйста!
 

Philipp

Новичок
Да, спасибо - это работает, опытным путем + чтение с переводчиком офф документации сам дошел до этого же результата на 20 минут раньше этого ответа)).
Спасибо за помощь !
Закройте тему, чтобы не разводить флуд.

СПОСОБ РАБОЧИЙ. ПРОВЕРЕНО !
 

administrator

Блудный сын.
Команда форума
Отлично!
Я догнал путем опыта программирования в питоне =)))))
 

administrator

Блудный сын.
Команда форума
Отлично!
Мне помог опыт программирования в питоне =)))
Извините за поздний ответ, вот только недавно смог попасть за компьютер!
 
Статус
Закрыто для дальнейших ответов.
Верх