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

Автор Тема: Вывод объявлений по заданным параметрам  (Прочитано 599 раз)
  • *
  • Сообщений: 14
Всех приветствую друзья. Впервые изучаю osclass. Пытаюсь собрать доску на теме  Bender.

Не могу найти  какой php файл  используется для вывода категории. Подскажите, будьте добры. Заранее спасибо


« Последнее редактирование: 20 Февраль 2019, 06:08:18 от Dis »

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1381
    • Шаблоны и плагины Osclass
« Ответ #1 : 06 Февраль 2019, 18:39:37 »
Всех приветствую друзья. Впервые изучаю osclass. Пытаюсь собрать доску на теме  Bender.

Не могу найти  какой php файл  используется для вывода категории. Подскажите, будьте добры. Заранее спасибо
В functions.php код 214 строка.
Функция bender_draw_categories_list
« Последнее редактирование: 07 Февраль 2019, 01:26:26 от Dis »
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 14
« Ответ #2 : 07 Февраль 2019, 11:02:15 »
Спасибо за ответ. Немного неправильно задал вопрос. Попробую ещё раз перефразировать.
Хочу создать категорию объявлений, отдельную и сделать для неё отдельный стилизованный вывод объявлений. Поэтому не могу найти в каком файле вообще выводятся объявления.


И подскажите ещё, в каком месте отредактировать количество Премиум объявлений
По умолчанию больше 2-х не показывается.


Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1381
    • Шаблоны и плагины Osclass
« Ответ #3 : 07 Февраль 2019, 15:11:08 »
Спасибо за ответ. Немного неправильно задал вопрос. Попробую ещё раз перефразировать.
Хочу создать категорию объявлений, отдельную и сделать для неё отдельный стилизованный вывод объявлений. Поэтому не могу найти в каком файле вообще выводятся объявления.


И подскажите ещё, в каком месте отредактировать количество Премиум объявлений
По умолчанию больше 2-х не показывается.
main.php - главная
search.php - страница поиска
По поводу вывода больше 2-х , похожая тема: https://4osclass.net/index.php/topic,866.msg3189.html#msg3189
Функция osc_get_premiums(10);В скобках указать нужное кол-во, и в файле loop.php, менять на нужное кол-во.
« Последнее редактирование: 07 Февраль 2019, 15:53:59 от Dis »
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 14
« Ответ #4 : 07 Февраль 2019, 15:52:28 »
Спасибо за помощь. А подскажите как прописывать условия правильно?

Допустим мне нужно на какой то странице (item.php) создать произвольный блок, и вывести какое то количество объявлений, допустим 5 объявлений из определенной рубрики.
Или объявление именно этого автора, или какого то пользователя.

Можно конечно сделать запрос напрямую в БД, прописать условия, и вывести циклом. Но я уверен что есть штатные средства. Если не сложно покажите несколько примеров условий, а дальше по логике я уже пойму.


 

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1381
    • Шаблоны и плагины Osclass
« Ответ #5 : 07 Февраль 2019, 16:01:22 »
Спасибо за помощь. А подскажите как прописывать условия правильно?

Допустим мне нужно на какой то странице (item.php) создать произвольный блок, и вывести какое то количество объявлений, допустим 5 объявлений из определенной рубрики.
Или объявление именно этого автора, или какого то пользователя.

Можно конечно сделать запрос напрямую в БД, прописать условия, и вывести циклом. Но я уверен что есть штатные средства. Если не сложно покажите несколько примеров условий, а дальше по логике я уже пойму.
Много стандартных функций, описано тут - https://osclass.pro/helpers/
Есть функция osc_query_item();
Она позволяет получить какие-то объявления по нужным параметрам:
osc_query_item("keyword=value1,value2,value3,...");osc_query_item(array(
    "keyword1" => "value1,value2",
    "keyword2" => "value3,value4"
));
Доступные параметры:
author
country
country_name
region
region_name
city
city_name
city_area
city_area_name
category
category_name
results_per_page
page
offset
Пример кода:
<?php osc_query_item(array(
    
"category_name" => "cars,houses",
    
"city_name" => "Madrid"
));
if( 
osc_count_custom_items() == 0) { ?>

    <p class="empty"><?php _e('No Listings''modern') ; ?></p>
<?php } else { ?>
    <table border="0" cellspacing="0">
         <tbody>
            <?php $class "even"?>
            <?php while ( osc_has_custom_items() ) { ?>
             <tr class="<?php echo $class. (osc_item_is_premium()?" premium":"") ; ?>">
                    <?php if( osc_images_enabled_at_items() ) { ?>
                     <td class="photo">
                        <?php if( osc_count_item_resources() ) { ?>
                            <a href="<?php echo osc_item_url() ; ?>">
                                <img src="<?php echo osc_resource_thumbnail_url() ; ?>" width="75" height="56" title="<?php echo osc_item_title(); ?>" alt="<?php echo osc_item_title(); ?>" />
                            </a>
                        <?php } else { ?>
                            <img src="<?php echo osc_current_web_theme_url('images/no_photo.gif') ; ?>" alt="" title=""/>
                        <?php ?>
                     </td>
                    <?php ?>
                     <td class="text">
                         <h3><a href="<?php echo osc_item_url() ; ?>"><?php echo osc_item_title() ; ?></a></h3>
                         <p><strong><?php if( osc_price_enabled_at_items() ) { echo osc_item_formated_price() ; ?> - <?php } echo osc_item_city(); ?> (<?php echo osc_item_region();?>) - <?php echo osc_format_date(osc_item_pub_date()); ?></strong></p>
                         <p><?php echo osc_highlightstrip_tagsosc_item_description() ) ) ; ?></p>
                     </td>                                       
                 </tr>
                <?php $class = ($class == 'even') ? 'odd' 'even' ?>
            <?php ?>
        </tbody>
    </table>
<?php }; ?>
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 14
« Ответ #6 : 07 Февраль 2019, 16:20:45 »
Спасибо огромное!!!
А в доступных параметрах допустим

category - это ID категории
category_name - а это slug верно я понимаю?

просто именно по ID категории или по ID пользователя




Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1381
    • Шаблоны и плагины Osclass
« Ответ #7 : 07 Февраль 2019, 17:52:18 »
category_name - а это slug верно я понимаю?
Нет. Это именно название категории.
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 14
« Ответ #8 : 19 Февраль 2019, 17:49:42 »
А как указать в данном зпаросе количество

<?php
osc_query_item(array(
    
"category" => "96"    
));


Допустим последние 5 результатов.
т.е. что бы ни все показывать а только последние 5. Ну ли только премиум.
« Последнее редактирование: 20 Февраль 2019, 05:20:03 от Dis »

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1381
    • Шаблоны и плагины Osclass
« Ответ #9 : 20 Февраль 2019, 05:20:23 »
А как указать в данном зпаросе количество

<?php
osc_query_item(array(
    
"category" => "96"    
));


Допустим последние 5 результатов.
т.е. что бы ни все показывать а только последние 5. Ну ли только премиум.
osc_query_item(array('category' => '96',  'results_per_page' => 5,  'premium' => true))Это будет 5 премиум объявлений из категории с ID = 96.
« Последнее редактирование: 20 Февраль 2019, 05:33:08 от Dis »
Доработки любой сложности.
Задание присылайте в личку.

 


test