решено Поле "название" в конструкторе

WinWoolF

Пользователь
#1
С толкнулся с проблемой в создании поля название. Возьмем к примеру раздел с сериалами, заполняем в конструкторе поле название
<-{Название}{Оригинальное название}->/ <-{Сезон}->(,) <-{Серии} {Всего серий}-> <-video_quality_cart_serial->[/] <-{Жанр}{Год выпуска} {Режиссёр}->(/)
В итоге при создании раздачи в ее названии получаем следующее:
Ляляля/Lalala (6) 1-6 13 [SATRip] (Комедия / 2016 / Спилберг)
Со всеми пунктами все прекрасно и понятно, кроме вот этих вот красных чисел, из которых рядовой пользователь совершенно ни чего не сможет понять. Вот и встал вопрос, как сделать так чтоб название получалось следующего образа
Ляляля/Lalala (6 сезон) Серии 1-6 из 13 [SATRip] (Комедия / 2016 / Спилберг) .
Каким образом можно в шаблон вставить эти маленькие слова которые добавят большую пользу?
 
Последнее редактирование:

ExPlayer

Пользователь
#3
Неужели даже разработчики этого проекта не знают ответа на этот вопрос?
Может и знают, но:
1. Они заняты разработкой новой версии движка;
2. Сейчас лето, возможно, что большинство разработчиков уже плескаются на море))
 

Bender

Пользователь
#4
С толкнулся с проблемой в создании поля название. Возьмем к примеру раздел с сериалами, заполняем в конструкторе поле название
<-{Название}{Оригинальное название}->/ <-{Сезон}->(,) <-{Серии} {Всего серий}-> <-video_quality_cart_serial->[/] <-{Жанр}{Год выпуска} {Режиссёр}->(/)
В итоге при создании раздачи в ее названии получаем следующее:
Ляляля/Lalala (6) 1-6 13 [SATRip] (Комедия / 2016 / Спилберг)
Со всеми пунктами все прекрасно и понятно, кроме вот этих вот красных чисел, из которых рядовой пользователь совершенно ни чего не сможет понять. Вот и встал вопрос, как сделать так чтоб название получалось следующего образа
Ляляля/Lalala (6 сезон) Серии 1-6 из 13 [SATRip] (Комедия / 2016 / Спилберг) .
Каким образом можно в шаблон вставить эти маленькие слова которые добавят большую пользу?
<-{Название} {Оригинальное название} `Сезон:` ->/ <-{Сезон} `Серии:`->/ <-{Серии} `из`-> <-{Всего серий}->

Название / Оригинальное название / Сезон: 2 / Серии: 1-8 из 10

Код:
Найти
    build_title: function(res_id) {

Заменить функцию на

    build_title: function(res_id) {
        var title = [];
        var trim_after_chars = {};
        var trim_before_chars = {};
        var g;
        var t = $('#tpl-src-title').val().replace(/\n/g, ' ');   // шаблон для названия
        var r = /(\S*)<-([^>]+)->(\S*)/g;                        // +<-el1 el2->[,]
        while((g = r.exec(t)) != null) {
            var wrap1 = g[1];                                      // +
            var els   = g[2].match(/(\w+|\{.+?\}|`.+?`)/g);        // el {эл} `txt`
            var wrap2 = g[3];                                      // [,]
            if (els == null) return true; // continue

            var g_start_char = ' ';
            var g_delim_char = ' ';
            var g_end_char   = ' ';

            // +<-el-> :: +
            if (wrap1.length == 1) {
                g_start_char = wrap1;
            }
            // <-el->/ :: /
            else if (wrap2.length == 1) {
                g_delim_char = ' '+ wrap2;
            }
            // <-el->() :: ()
            else if (wrap2.length == 2) {
                g_start_char = wrap2.charAt(0);
                trim_after_chars[ g_start_char ] = true;

                g_end_char = wrap2.charAt(1);
                trim_before_chars[ g_end_char ] = true;
            }
            // <-el->(,) :: (,)
            else if (wrap2.length == 3) {
                g_start_char = wrap2.charAt(0);            // (
                trim_after_chars[ g_start_char ] = true;

                g_delim_char = wrap2.charAt(1);            // ,

                g_end_char = wrap2.charAt(2);              // )
                trim_before_chars[ g_end_char ] = true;
            }

            var g_vals = [];
            $.each(els, function(i,el){
                if ( /^`.+`$/.test(el) ) {
                    var v = TPL.trim_brackets(el);
                    v = escHTML(v);
                }
                else {
                    var el_id = TPL.get_el_id(el);
                    var v = TPL.get_el_val(el_id);
                }
                if (v == undefined || $.trim(v) == '') return true; // continue
                v = TPL.normalize_val(el_id, v);
                g_vals.push(' '+ v +' ');
            });
            if (g_vals.length != 0) {
                title.push(' '+ g_start_char +' ');
                title.push( g_vals.join(' '+g_delim_char+' ') );
                title.push(' '+ g_end_char);
            }
        }
        var t = $.trim( title.join('').replace(/\s+,/g, ',').replace(/\s+/g, ' ') );
        $.each(trim_before_chars, function(ch,v){
            var r = new RegExp( '\\s*'+ preg_quote(ch), 'g' );
            t = t.replace(r, ch);
        });
        $.each(trim_after_chars, function(ch,v){
            var r = new RegExp( preg_quote(ch) +'\\s*', 'g' );
            t = t.replace(r, ch);
        });

        $('#'+res_id).val( t );
    },

Найти
    build_select_el: function(name) {

Добавить перед

    get_el_val: function(id) {
        var v = $('#'+id).val() || '';
        return $.isArray(v) ? v.join(', ') : v;
    },
 
Сверху