Реализация подсветки объявлений платных услуг для разных тем с разными плагинами.

Тема в разделе "Osclass", создана пользователем __pes, 10 ноя 2017.

XEvil 4.0 Релиз Состоялся!
Модераторы: _kot
  1. __pes

    __pes

    Регистр.:
    10 май 2017
    Сообщения:
    315
    Симпатии:
    115
    Считаю эту тему актуальной, так как все темы написаны по разному, и всегда с наскоку не получается реализовать чтобы объявление было выделено цветом, приходится разбираться и тратить время.
    Как правило примеры реализации всегда для стандартных тем.
    Последний вопрос был по теме ONE и плагине Russian Ultimate Payments.

    Разберем Russian Ultimate Payments Version:3.2.4 и Premium one theme 1.3.1.


    search_list.php

    1. делаем Премиум colorized в search_list
    это 2-ой плагин который я смотрю и функция для премиум всегда возвращает NORAMAL, для Премиум, и почему, я даже копать не хочу, я бахнул сразу COLORIZED, для ПРЕМИУМ

    PHP:
    if(osc_count_premiums() > 0) {
        
    ?>
        <div class="premiumtext"></div>
        <div class="cont" >

    PHP:
    if(osc_count_premiums() > 0) {
        
    ?>
        <div class="premiumtext"></div>
        <div class="cont" id="colorized">

    2. Делаем цвет для объявлений с выделенным цветом

    PHP:
    <?php while(osc_has_items()) { $i++; ?>
                <tr class="<?php echo $class?>" >
                    <td class="date"><?php echo osc_format_date(osc_item_pub_date()); ?></td>

    PHP:
    <?php while(osc_has_items()) { $i++; ?>
                <tr class="<?php echo $class?>" id="<?php if(function_exists('rupayments_get_class_color')){echo rupayments_get_class_color(osc_item_id());}?>">
                    <td class="date"><?php echo osc_format_date(osc_item_pub_date()); ?></td>

    3. Прячем Премиум объявления в колонке ПОСЛЕДНИЕ в том же search_list, сверху останутся только ПРЕМИУМ
    PHP:
        <?php $class "even"$i 0?>
            <?php while(osc_has_items())  { $i++; ?>

    PHP:
    <?php $class "even"$i 0?>
    <?php 
    while(osc_has_items()) {
                if (
    osc_item_is_premium() == 1)
                    {continue;}
    $i++; ?>

    Переходим к галереи производим идентичную операцию search_gallery.php :

    4. Добавим цвет для Премиум

    PHP:
    <div class="premium <?php echo $class?>">

    PHP:
    <div class="premium <?php echo $class?>" id="colorized">

    5. Добавим цвет для объявлений с выделенным цветом
    PHP:
    <div class="normal <?php echo $class?>" >

    PHP:
    <div class="normal <?php echo $class?>" id="<?php if(function_exists('rupayments_get_class_color')){echo rupayments_get_class_color(osc_item_id());}?>">

    6. Уберем Премиум из Последних объявлений и оставим только сверху

    PHP:
    <?php while(osc_has_items()) { ?>

    PHP:
    <?php while(osc_has_items()) { if (osc_item_is_premium() == 1)
                    {continue;}
    ?>

    Переходим к главной странице, и добавим красок для премиум и выделенных объяв - latest.php
    8.
    PHP:
    <?php while ( osc_has_latest_items() ) { ?>
                        <tr class="<?php echo $class. (osc_item_is_premium()?" premium":""); ?>">

    PHP:
    <?php while ( osc_has_latest_items() ) { ?>
                        <tr id="<?php echo $class. (osc_item_is_premium()?"":""); ?>" >

    PHP:
    <?php $class = ($class == 'even') ? 'odd' 'even'?>

    PHP:
    <?php $class = ($class == 'even') ? 'colorized' 'colorized'?>


    единственное что в теме не понятно почему, не повесели лайблу ПРЕМИУМ
    на главной странице, но это уже другой вопрос.

    при таком раскладе иконок на главной странице, я бы только оставил премиум на главной в этой теме


    Screen Shot 2017-11-10 at 00.46.03.png Screen Shot 2017-11-10 at 00.46.19.png
     
    Последнее редактирование: 10 ноя 2017
    ilussion, Imapo и 1nstep нравится это.
  2. __pes

    __pes

    Регистр.:
    10 май 2017
    Сообщения:
    315
    Симпатии:
    115
    ilussion и dmytr нравится это.
  3. Kael

    Kael Постоялец

    Регистр.:
    21 окт 2017
    Сообщения:
    101
    Симпатии:
    29
    Ждем новых мануалов. Спс.
     
  4. MaxOsclass

    MaxOsclass Создатель

    Регистр.:
    8 окт 2017
    Сообщения:
    40
    Симпатии:
    6
    Было бы просто прекрасно получить продолжение Мануала - разъяснение по поводу подсветки объявлений в теме Next. Она не похожа на две темы Вероника и One, указанные выше. Спасибо
     
  5. __pes

    __pes

    Регистр.:
    10 май 2017
    Сообщения:
    315
    Симпатии:
    115
    тему + плагин, кот. надо прикрутить - в студию, посмотрю на кофетайме :)
     
    MaxOsclass нравится это.
  6. MaxOsclass

    MaxOsclass Создатель

    Регистр.:
    8 окт 2017
    Сообщения:
    40
    Симпатии:
    6
    Вопрос: Как настроить выделение цветом обычного объявления? (т.е. без присвоения ему статуса Премиум).
    Платежный плагин (в привязке к теме Next) дает такую платную для пользователей возможность: 1. Присвоение Премиум, 2. Выделение цветом любого объявления. 3. Поднятие объявления в Топ)
    Вот как только настроить п2. Выделение цветом любого объявления? т.к. объявления со статусом Премиум выделяются плагином автоматически! (здесь все нормально). Спасибо за возможную помощь!

    Вот что пишется в плагине Russian Ultimate Payments:
    Выделение цветом Показать
    Настройка Выделения цветом

    Для настройки опции Выделение цветом нужны модификации в файлах Вашего шаблона. Нужно добавить два ID в файлы отвечающие за вывод объявлений в поиске.
    Для премиум объявлений id="<?php if(function_exists('rupayments_premium_get_class_color')){echo rupayments_premium_get_class_color(osc_premium_id());}?>" .
    Для обычных объявлений id="<?php if(function_exists('rupayments_get_class_color')){echo rupayments_get_class_color(osc_item_id());}?>"
    У выделенного цветом объявления будет - id = "colorized", у обычного - id = "normal"
    Пример на шаблоне Bender:
    Файл loop-single.php - 2-линия :
    <li class = "listing-card <?php echo $class; if(osc_item_is_premium()){echo'premium';}?>" id="<?php if(function_exists('rupayments_get_class_color')){echo rupayments_get_class_color(osc_item_id());}?>">
    Файл loop-single-premium.php :
    <li class = "listing-card <?php echo $class; if(osc_item_is_premium()){echo'premium';}?>" id="<?php if(function_exists('rupayments_premium_get_class_color')){echo rupayments_premium_get_class_color(osc_premium_id());}?>">
    Измененные файлы для Modern и Bender (для примера) в /oc-content/plugins/rupayments/examples.
     
    Последнее редактирование: 26 ноя 2017
  7. __pes

    __pes

    Регистр.:
    10 май 2017
    Сообщения:
    315
    Симпатии:
    115

    1. Main page
    main.php
    PHP:
     <?php while(osc_has_latest_items()) { $index1++; ?>
                                    <div class="next_item">
        <div class="item_box" ><div class="item"><div class="next_revo"><div class="next_revo2" >
        <div class="title"><h2><a href="<?php echo osc_item_url(); ?>"><?php if(strlen(osc_item_title()) > 51){ echo mb_substr(osc_item_title(), 050,'UTF-8').'...'; } else { echo osc_item_title(); } ?></a></h2></div>
    PHP:
    <?php while(osc_has_latest_items()) { $index1++; ?>
                                    <div class="next_item">
        <div class="item_box" ><div class="item"><div class="next_revo"><div class="next_revo2" id="<?php if(function_exists('rupayments_get_class_color')){echo rupayments_get_class_color(osc_item_id());}?>" >
        <div class="title"><h2><a href="<?php echo osc_item_url(); ?>"><?php if(strlen(osc_item_title()) > 51){ echo mb_substr(osc_item_title(), 050,'UTF-8').'...'; } else { echo osc_item_title(); } ?></a></h2></div>

    2.Search page - listview
    search_list.php
    PHP:
    <?php while(osc_has_items()) { $i++; ?>
                 
                <div class="estate">
                    <div class="left" >
                        <a href="<?php echo osc_item_url() ; ?>"><?php if( osc_images_enabled_at_items() ) { ?>
                            <?php if( osc_count_item_resources() ) { ?>
    PHP:
    <?php while(osc_has_items()) { $i++; ?>
                 
                <div class="estate"id="<?php if(function_exists('rupayments_get_class_color')){echo rupayments_get_class_color(osc_item_id());}?>" >
                    <div class="left" >
                        <a href="<?php echo osc_item_url() ; ?>"><?php if( osc_images_enabled_at_items() ) { ?>
                            <?php if( osc_count_item_resources() ) { ?>

    2.Search page - gallery
    search_gallery.php
    PHP:
            <?php while(osc_has_items()) { ?>
               <div class="next_item">
        <div class="item_box" ><div class="item"><div class="next_revo"><div class="next_revo2" >
        <div class="title"><h2><a href="<?php echo osc_item_url(); ?>"><?php if(strlen(osc_item_title()) > 51){ echo mb_substr(osc_item_title(), 050,'UTF-8').'...'; } else { echo osc_item_title(); } ?></a></h2></div>
    PHP:
    <?php while(osc_has_items()) { ?>
               <div class="next_item">
        <div class="item_box" ><div class="item"><div class="next_revo"><div class="next_revo2" id="<?php if(function_exists('rupayments_get_class_color')){echo rupayments_get_class_color(osc_item_id());}?>" >
        <div class="title"><h2><a href="<?php echo osc_item_url(); ?>"><?php if(strlen(osc_item_title()) > 51){ echo mb_substr(osc_item_title(), 050,'UTF-8').'...'; } else { echo osc_item_title(); } ?></a></h2></div>
        <div class="next_revo_detail">
     
    MaxOsclass нравится это.
  8. MaxOsclass

    MaxOsclass Создатель

    Регистр.:
    8 окт 2017
    Сообщения:
    40
    Симпатии:
    6
    Большое спасибо за помощь! Все получилось )

    вот если бы еще авторы плагина Russian Ultimate Payments сделали так, чтобы после оплаты услуг (Премиум, выделение цветом, поднятия в Топ), объявления в автоматическом режиме получали оплаченные пользователями статусы... А так, доводится вручную расставлять все на свои места. Но это уже другая история

    Хотя... есть и свои плюсы. По крайней мере, ты будешь знать кто и за что конкретно заплатил, есть ли еще места для премиум-объявлений и др.
     
    Последнее редактирование: 26 ноя 2017
  9. aa91

    aa91 Постоялец

    Регистр.:
    3 ноя 2016
    Сообщения:
    68
    Симпатии:
    11
    Год назад щупал плагин - всё выставлялось автоматически.
     
  10. ryazansky

    ryazansky Создатель

    Регистр.:
    17 окт 2017
    Сообщения:
    12
    Симпатии:
    0
    а на Веронике 1.1.9 Russian Ultimate Payments как настроить ? :)