Помощь Доработать плейлист для видео

Тема в разделе "DLE", создана пользователем sa22-01, 9 янв 2017.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. sa22-01

    sa22-01 Создатель

    Регистр.:
    8 июл 2014
    Сообщения:
    28
    Симпатии:
    1
    Здравствуйте. Разработчики, отзовитесь! Я не могу найти человека, разбирающегося в Js. Все либо заняты, либо не хотят дорабатывать чужие скрипты, либо просто не отвечают.
    Есть небольшой модуль для создания плейлиста для видеозаписей. Вот пример на моём сайте:
    видео.jpg
    Как видно, прямо над видеозаписями есть кнопки (в данном случае одна) переключения сезонов. А мне нужно, чтобы на этих кнопках были написаны озвучки. Например вместо "Сезон 1, Сезон 2, Сезон 3" было "AniStar, Русский дубляж, Невафильм" и т.д. Вот на Перейти по ссылке закодирован, я не могу посмотреть чем их код отличается от стандартного.
    Может можно подправить как-то код, чтобы я мог сам прописывать названия этим верхним кнопкам? Пишите свои скайпы, а я с вами свяжусь.

    Я прикрепляю архив с модулем.

    П.с. Killof и DomiTori посоветовали модуль Конструктор видео. Он хороший, удобный и мне понравился. И, наверное, я буду его использовать, если этот никто не исправит. Но у меня не онлайн кинотеатр. Я добавляю определенные серии по мультам и одному сериалу. То есть их не много, но хотелось бы собрать серии с разными озвучками. Поэтому и нужно переключение между ними. А конструтор - это полноценный модуль для работы с видео, требующий к тому же правки движка.
     

    Вложения:

    • pleylist.rar
      Размер файла:
      11,5 КБ
      Просмотров:
      13
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.223
    Симпатии:
    2.252
    В личку напиши FTP до реального сайта, где у тебя модуль стоит... И логин/пароль в админку...
     
    mishiko нравится это.
  3. sa22-01

    sa22-01 Создатель

    Регистр.:
    8 июл 2014
    Сообщения:
    28
    Симпатии:
    1
    У модуля нет админки. Он состоит из картинок и одного js файла с кодом:
    Код:
    var pos = 0;
    var poz = 0;
    var sea = null;
    var width = 530;
    var vk = new Object();
    (vk = {
        init: function () {
            document.write("<div id=\"player-vk-write\" align=\"center\">                            <ul id=\"player-vk-season\"><li id=\"seasons\"></li></ul>                            <div id=\"player-vk-player\"></div>                            <ul id=\"player-vk-serial\"></ul>                            <a href=\"javascript://\" class=\"prev\" onclick=\"vk.move(1);\">prev</a>                           <a href=\"javascript://\" class=\"next\" onclick=\"vk.move(0);\">next</a>                           <a href=\"javascript://\" class=\"prev1\" onclick=\"vk.move1(1);\">prev</a>                           <a href=\"javascript://\" class=\"next1\" onclick=\"vk.move1(0);\">next</a>                           <\/div>")
        },
        player: function (a, b) {
            document.getElementById("player-vk-player").innerHTML = "";
            var d = document.createElement("iframe");
            d.src = String(a);
            d.width = "100%";
            d.height = "372";
            d.setAttribute("border", "0");
            d.setAttribute("frameborder", "0");
            d.setAttribute("scrolling", "no");
            d.setAttribute("allowfullscreen", "");
            d.setAttribute("webkitallowfullscreen", "");
            d.setAttribute("mozallowfullscreen", "");
            d.setAttribute("oallowfullscreen", "");
            d.setAttribute("msallowfullscreen", "");
            document.getElementById("player-vk-player").appendChild(d);
            if (document.getElementById("player-vk-serial")) {
                c = document.getElementById("player-vk-serial").getElementsByTagName("span");
                for (var i = 0; i < c.length; i++) {
                    c[i].removeAttribute("class")
                }
            }
            b.setAttribute("class", "active")
        },
        season: function (a, b) {
            if (document.getElementById("player-vk-season")) {
                c = document.getElementById("player-vk-season").getElementsByTagName("span");
                for (var i = 0; i < c.length; i++) {
                    document.getElementById("season" + i).style.display = "none";
                    c[i].removeAttribute("class")
                }
                document.getElementById("season" + a).style.display = "";
                sea = a
            }
            b.setAttribute("class", "active")
        },
        show: function (a, b) {
            for (var i = 0; i < a; i++) {
                document.getElementById("player-vk-season").getElementsByTagName("li")[0].innerHTML += "<span onclick=\"vk.season(" + i + ", this)\">Сезон " + (i + 1) + "</span>";
                document.getElementById("player-vk-serial").innerHTML += "<li id=\"season" + i + "\" style=\"display:none;\"></li>"
            }
            for (var i = 0; i < a; i++) {
                for (var j = 0; j < b[i].length; j++) {
                    document.getElementById("season" + i).innerHTML += "<span onclick=\"vk.player('" + b[i][j] + "', this);\">Серия " + (j + 1) + "</span>"
                }
            }
            document.getElementById("player-vk-season").getElementsByTagName("span")[0].setAttribute("class", "active");
            document.getElementById("player-vk-season").getElementsByTagName("span")[0].click();
            document.getElementById("season0").getElementsByTagName("span")[0].click();
            document.getElementById("season0").style.display = ""
        },
        move: function (d) {
            var a, b;
            var c = document.getElementById("seasons");
            var e = c.offsetWidth;
            var f = c.offsetLeft;
            if (d == 0) {
                clearTimeout(a);
                b = setInterval(function () {
                    pos = pos - 10;
                    if (pos >= (f - width) && pos >= -(e - width)) {
                        c.style.left = pos + "px"
                    } else clearTimeout(b)
                }, 15)
            }
            if (d == 1) {
                clearTimeout(b);
                b = setInterval(function () {
                    pos = pos + 10;
                    if (pos <= (f + width) && pos <= 0) {
                        c.style.left = pos + "px"
                    } else clearTimeout(b)
                }, 15)
            }
        },
        move1: function (d) {
            var a, b;
            var c = document.getElementById("season" + sea);
            var e = c.offsetWidth;
            var f = c.offsetLeft;
            if (d == 0) {
                clearTimeout(a);
                b = setInterval(function () {
                    poz = poz - 10;
                    if (poz >= (f - width) && poz >= -(e - width)) {
                        c.style.left = poz + "px"
                    } else clearTimeout(b)
                }, 15)
            }
            if (d == 1) {
                clearTimeout(b);
                b = setInterval(function () {
                    poz = poz + 10;
                    if (poz <= (f + width) && poz <= 0) {
                        c.style.left = poz + "px"
                    } else clearTimeout(b)
                }, 15)
            }
        }
    });
     
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.223
    Симпатии:
    2.252
    Я в курсе... Вам объяснить зачем оно мне или просто возмём и сделаем?
     
  5. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.223
    Симпатии:
    2.252
    Сообщение получил, не обещаю сделать ибо с JS знаком поверхностно, но последние извращения с jQuery вполне удачны, так что...
    Единственное сегодня просто вынесли мозг на работе, бошка уже не варит. Завтра утром будет время - займусь.

    P.s. доступ в админку нужен чтобы поправить текст статьи, ибо заголовки то вставлять надо :)
    P.p.s. FTP соответственно для правки самого JS, ибо мне ппц лень ставить к себе на сайт и мучаться с его запуском))
     
  6. sa22-01

    sa22-01 Создатель

    Регистр.:
    8 июл 2014
    Сообщения:
    28
    Симпатии:
    1
    Только если вам не сложно. А то я могу тогда уж использовать конструктор, чтобы не выносить мозг себе и окружающим.

    Я кстати подумал использовать конструтор Перейти по ссылке уже, но он в кодировке windows-1251. Разработчик пишет, что нужно перекодировать все файлы PHP и Js в utf-8. Я так и сделал. И программой перекодировал и вручную. Все равно при входе в админку такая ошибка:
    Код:
     Fatal error: Uncaught exception 'Exception' with message 'Can`t unserialize version.txt!' in Z:\home\tecna.ru\www\engine\inc\include\p_construct\classes\VideoConstructor.php:59 Stack trace: #0 Z:\home\tecna.ru\www\engine\inc\include\p_construct\classes\VideoConstructor.php(27): VideoConstructor->version('ver') #1 Z:\home\tecna.ru\www\engine\inc\parser_constructor.php(28): VideoConstructor::getInstance() #2 Z:\home\tecna.ru\www\admin.php(100): include_once('Z:\home\tecna.r...') #3 {main} thrown in Z:\home\tecna.ru\www\engine\inc\include\p_construct\classes\VideoConstructor.php on line 59
    Безымянный.png
    А если оригинальные файлы кинуть, все работает, но с кракозябрами. Почему так?

    Проблема решилась.
     
    Последнее редактирование модератором: 16 янв 2017