• Главная
  • Поиск
    •  
  • Здравствуйте, Гость

Автор Тема: Премиум объявления на главной  (Прочитано 2424 раз)
  • *
  • Сообщений: 18
« : 29 Январь 2019, 14:12:36 »
Простите если поднималось. Помогите пожалуйста найти готовое решение. Что вставить в main.php что бы отображались только премиум объявления?
тема bender ..Все стандартно. Поиск что то не дает результатов.
« Последнее редактирование: 29 Январь 2019, 21:45:34 от Dis »

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« Ответ #1 : 29 Январь 2019, 21:43:35 »
Простите если поднималось. Помогите пожалуйста найти готовое решение. Что вставить в main.php что бы отображались только премиум объявления?
тема bender ..Все стандартно. Поиск что то не дает результатов.
Такой код сможет вывести премиум объявления
<?php
            osc_get_premiums
(10);
            if(
osc_count_premiums() > 0) {
            
View::newInstance()->_exportVariableToView("listType"'premiums');
            
View::newInstance()->_exportVariableToView("listClass",$listClass.' premium-list');
            
osc_current_web_theme_path('loop.php');
            echo 
'<div style="clear:both;"></div><br/>';
            }
        
?>
Так же в loop.php шаблона в двух местах указать нужное кол-во
} elseif($type == 'premiums'){
            while ( osc_has_premiums() ) {
                $class = '';
                if($i%10 == 0){
                    $class = 'first';
                }
                bender_draw_item($class,false,true);
                $i++;
                if($i == 10){
                    break;
                }
            }
        }
А если удалить кусок
    <?php
    View
::newInstance()->_exportVariableToView("listType"'latestItems');
    
View::newInstance()->_exportVariableToView("listClass",$listClass);
    
osc_current_web_theme_path('loop.php');
    
?>
То перестанут выводиться обычные.
« Последнее редактирование: 07 Февраль 2019, 03:17:18 от Dis »
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 18
« Ответ #2 : 30 Январь 2019, 00:25:41 »
Dis, Спасибо огромное. То что необходимо!!!
Только вот вопрос. Как сделать если премиум больше 3-х? А то вывод идет всего 3 премиум объявления.
« Последнее редактирование: 30 Январь 2019, 00:42:47 от asfhear »

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« Ответ #3 : 01 Февраль 2019, 16:11:59 »
Dis, Спасибо огромное. То что необходимо!!!
Только вот вопрос. Как сделать если премиум больше 3-х? А то вывод идет всего 3 премиум объявления.
Для премиума подправил код, выше.
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 18
« Ответ #4 : 04 Февраль 2019, 14:43:44 »
почему то сколько бы объявлений премиум не было, последнее всегда рандомом показывается. То есть оно не публикуется, а тупо в последнем объявлении идет рандомно
Как поправить что бы рандома не было?

  • *
  • Сообщений: 18
« Ответ #5 : 05 Февраль 2019, 08:15:47 »
Так же почему то с этим кодом не работает поднятие объявлений среди премиум объявлений. Допустим 50-60 премиум объявлений и при покупке услуги поднятия в ТОП, объявления премиум не поднимаются выше других премиумов. Они отображаются рандомно.

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« Ответ #6 : 07 Февраль 2019, 03:32:58 »
Они отображаются рандомно.
Так написана модель /oc-includes/osclass/model/Search.php
858 и 880 строки
$this->dao->orderBy(null, 'random');
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 18
« Ответ #7 : 07 Февраль 2019, 09:48:19 »
В том и вопрос как сделать что бы не было рандома а последнее премиум отображалось?

 


test