Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Доп. поле "список"

Тема в разделе "Вопросы- ответы", создана пользователем m0rphine, 6 апр 2016.

06.04.16 в 18:44
26.04.18 в 11:54
13
3.087
0
  1. TopicStarter Overlay
    m0rphine

    m0rphine Новичок

    Регистрация:
    18 авг 2015
    Сообщения:
    28
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
  2. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.295
    Лучших ответов:
    54
    Рейтинги:
    +5.206 / 74 / -0
    @m0rphine, возможно то что надо, но не пробовал в действии:
     
    • Нравится Нравится x 2
  3. TopicStarter Overlay
    m0rphine

    m0rphine Новичок

    Регистрация:
    18 авг 2015
    Сообщения:
    28
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
    @byroot, откуда взял?
     
  4. TopicStarter Overlay
    m0rphine

    m0rphine Новичок

    Регистрация:
    18 авг 2015
    Сообщения:
    28
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
    Блин, это всё круто, но это в 11 версии движка, кто поможешь вот это прикрутить на 10.4?
     
  5. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.295
    Лучших ответов:
    54
    Рейтинги:
    +5.206 / 74 / -0
    доки! :)
    а в чем проблема обновить до 11? Если проблема - можно и на 10,4 перекинуть - пиши в ЛС
     
  6. TopicStarter Overlay
    m0rphine

    m0rphine Новичок

    Регистрация:
    18 авг 2015
    Сообщения:
    28
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
     
  7. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.295
    Лучших ответов:
    54
    Рейтинги:
    +5.206 / 74 / -0
    @m0rphine, себя цитировать это сейчас круто? :D
     
  8. TopicStarter Overlay
    m0rphine

    m0rphine Новичок

    Регистрация:
    18 авг 2015
    Сообщения:
    28
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
    @byroot, просто поднял суть...)
    А так вот что нашёл, оставлю тут может кому пригодиться
    Код:
    Расширение функционала шаблонизатора новостей. Условия IF
    
    
    Открыть файл engine/modules/functions.php
    Найти строку
    ?>
    ПЕРЕД ней вставить:
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    function parseIf($m){
        global $row,$config;
        $m[1] = trim($m[1]);
        $m[2] = trim($m[2]);
        preg_match("#^([0-9]+)\<(.+?)\>([0-9]+)?$#is",$m[1],$f);
        if($f[3]){
            $xf = explode("xfvalue_",$f[2]);
            if($xf[1]) $v = floatval($row['xfields'][$xf[1]]);
            else $v = floatval($row[$f[2]]);
            if($v>=floatval($f[1]) AND $v<floatval($f[3])) return $m[2];
            else return "";
        }
        preg_match("#^(.+?)(!~|~|!=|=|>=|<=|<|>)['\"]?(.*?)['\"]?$#is",$m[1],$f);
        if(!$f[2]) return $m[0];
        $xf = explode("xfvalue_",$f[1]);
        if($xf[1]) $v = $row['xfields'][$xf[1]];
        elseif($f[1]=='tags') $v = $row[$f[1]][0];
        else $v = $row[$f[1]];
        $v = strtolower(strip_tags($v));
        $fval = strtolower($f[3]);
        switch($f[2]){
            case ">":
                $v = floatval($v);
                $fval = floatval($fval);
                if($v>$fval) return $m[2];
                break;
            case "<":
                $v = floatval($v);
                $fval = floatval($fval);
                if($v<$fval) return $m[2];
                break;
            case ">=":
                $v = floatval($v);
                $fval = floatval($fval);
                if($v>=$fval) return $m[2];
                break;
            case "<=":
                $v = floatval($v);
                $fval = floatval($fval);
                if($v<=$fval) return $m[2];
                break;
            case "!=":
                if($v!=$fval) return $m[2];
                break;
            case "~":
                if(dle_strrpos($v,$fval,$config['charset'])!==false) return $m[2];
                break;
            case "!~":
                if(dle_strrpos($v,$fval,$config['charset'])===false) return $m[2];
                break;
            default:
                if($v===$fval) return $m[2];
        }
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    
    
    Открыть файл ./engine/modules/...
    ./show.custom.php
    ./show.full.php
    ./show.short.php
    Найти строку:
    $tpl->compile( 'content' );
    ПЕРЕД ней вставить:
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if(!is_array($row['xfields'])) $row['xfields'] = xfieldsdataload( $row['xfields'] );
    $tpl->copy_template = preg_replace_callback("#\\[if (.+?)\\](.*?)\\[/if\\]#is","parseIf",$tpl->copy_template);
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    Открыть файл engine/modules/show.custom.php
    Найти строку:
    $global_news_count = 0;
    После нее вставить:
    global $row;
    
    
    
    Готово.
    В шаблоне короткой, полной или custom новости использовать теги условий:
    [if field='текст']...[/if]
    [if field!='текст']...[/if]
    [if field>1]...[/if]
    [if field>=2]...[/if]
    [if field<3]...[/if]
    [if field<=4]...[/if]
    [if 5<field>6]...[/if]
    [if field~'vk.com']...[/if] - выведет текст если в поле встречается текст 'vk.com'
    [if field!~'vk.com']...[/if] - выведет текст если в поле НЕ встречается текст 'vk.com'
    
    где `field` может быть:
        id                 - порядковый номер новости (число)
        autor             - имя автора новости (текст)
        date             - дата публикации (число, дата в unix формате - 1384805563)
        short_story         - текст короткой новости (текст)
        full_story         - в шаблоне короткой новости это количество символов в полном описании. В шаблоне полной новости - сам текст. (число/текст)
        title             - текст заголовка (текст)
        descr             - метатег описания (текст)
        keywords         - метатег "ключевые слова" (текст)
        category         - список категорий в которых отмечена новость (в старых версиях только первый ID из списка) (текст)
        alt_name         - заголовок на латинице, для формирования адреса страницы. (текст)
        comm_num         - количество комментариев (число)
        allow_comm         - комментарии разрешены (число, 1/0)
        allow_main         - новость публикуется на главной (число, 1/0)
        approve             - новость прошла модерацию (число, 1/0)
        fixed             - новость зафиксирована (число, 1/0)
        symbol             - символьный код (текст)
        tags             - первый тег из списка тегов (текст)
        news_read         - количество просмотров (число)
        allow_rate         - рейтинг разрешен (число, 1/0)
        rating             - рейтинг статьи, сумма всех значений (число)
        vote_num         - количество проголосовавших в рейтинге (число)
        votes             - голосования в новости (число, 1/0)
        view_edit         - отображать причину редактирования (число, 1/0)
        disable_index     - запретить индексацию (число, 1/0)
        editdate         - дата редактирования (число, дата в unix формате - 1384805563)
        editor             - имя редактора (текст)
        reason             - причина редактирования (текст)
        user_id             - ID автора публикации (число)
        xfvalue_xxx         - значение доп. поля
     
    • Нравится Нравится x 1
  9. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.403
    Лучших ответов:
    32
    Рейтинги:
    +4.017 / 114 / -0
    Автор : Sander - sandev.pro . Хак платный.
     
  10. TopicStarter Overlay
    m0rphine

    m0rphine Новичок

    Регистрация:
    18 авг 2015
    Сообщения:
    28
    Лучших ответов:
    0
    Рейтинги:
    +3 / 0 / -0
    @Gameer, Ну значить слили, нашёл на dle9...
     
  11. mister.oleg-serow

    mister.oleg-serow Посетитель

    Регистрация:
    20 июн 2015
    Сообщения:
    55
    Лучших ответов:
    0
    Рейтинги:
    +4 / 2 / -0
    Кто подскажет как вывести на главной? Использую [ifxfvalue repack="xatab"] Репаки от xatab скачать на ПК [/ifxfvalue] Но выводит не на странице с репаками, а в полной новости при совпадении. Как исправить?
     
  12. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.295
    Лучших ответов:
    54
    Рейтинги:
    +5.206 / 74 / -0
    Данный тег в шаблоне main.tpl будет работать только в полной новости! На главной же странице чтобы он срабатывал - это надо прописывать в шаблоне краткой или кастомной новости, смотря как выводятся новости на главной в шаблоне...
     
  13. mister.oleg-serow

    mister.oleg-serow Посетитель

    Регистрация:
    20 июн 2015
    Сообщения:
    55
    Лучших ответов:
    0
    Рейтинги:
    +4 / 2 / -0
    Спасибо за цитату. В принципе понял. Сделаю чтобы данный тег и на главной пахал) Не хотел код воратить, подумал может тут кто знает реализацию.
     
  14. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.295
    Лучших ответов:
    54
    Рейтинги:
    +5.206 / 74 / -0
    :eek:
    Тег работает только в новости! Не важно в краткой или в полной новости. Шаблон главной страницы не выводит никаких новостей и нет у него привязки к новостям, чтобы тег работал на главной странице. Повторюсь: он может работать в шаблонах новостей, и на странице полной новости, если тег прописан в main.tpl и нигде иначе.
     
Похожие темы
  1. Abasive
    Ответов:
    17
    Просмотров:
    2.210
  2. -sv-
    Ответов:
    13
    Просмотров:
    1.379
  3. aeneas
    Ответов:
    16
    Просмотров:
    2.400
  4. uskino
    Ответов:
    15
    Просмотров:
    2.065
  5. jimmy2009
    Ответов:
    1
    Просмотров:
    2.467
Загрузка...
Яндекс.Метрика