Редактор темы

Реклама
Реклама

Модуль генератор серий сериалов для dle 10.x-12.x - урезанная версия

DLEPlugins

Кодер
Регистрация
29 Ноя 2015
Сообщения
1.601
Рейтинг реакций
968
Баллы
113
1/3
Автор темы
Я решил запилить урезанную версию платного модуля генератора серий сериалов. Разница в том, что будет доп поле типа "несколько строк", в который руками вставляете ссылки, каждую с новой строчки. Каждая серия сериала будет иметь свою личную страницу, так вы сможете собирать посерийный трафик. Модуль бесплатный. Ссылки можно вставлять откуда угодно, будь то iframe или прямые на видеофайлы, тут главное как оформите страницу с сериями.

В файле generator.tpl доступны абсолютно все стандартные теги для полной новости + несколько новых. Читаем инструкцию.

Ссылки на серии будут вида:
http:/сайт.ру/id-чпу/episode/1.html
например
http:/сайт.ру/1-post1/episode/1.html

Добавляю несколько скриншотов.
Полная новость: Screenshot_27.jpg
Страница с серией: Screenshot_28.jpg

Ссылки на видео вставляем так: Screenshot_29.jpg

А кому хочется визуально посмотреть, записал видео.

Установка:

1. Открываем .htaccess в корне сайта. Ищем в нем код:
Код:
RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]
ниже вставляем код
Код:
# Генератор серий by DomiTori
RewriteRule ^([^.]+)/([0-9]+)-(.*)/episode/([0-9]+).html$ index.php?newsid=$2&seourl=$3&seocat=$1&nomer=$4 [L]
RewriteRule ^([0-9]+)-(.*)/episode/([0-9]+).html$ index.php?newsid=$1&seourl=$2&nomer=$3 [L]
2. Открываем /engine/modules/show.full.php и ищем в нем код
PHP:
elseif( $category_id and $cat_info[$category_id]['full_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['full_tpl'] . '.tpl' );
ниже вставляем код
PHP:
elseif( isset($_GET["nomer"]) ) {
        $xf_data = xfieldsdataload( $row['xfields'] );
        $episode = $_GET['nomer'];
        $links = "";
        $video_links = explode("\n", $xf_data['video_links']);
        $vsego = count($video_links);
        foreach ($video_links as $nomer_cikla => $link) {
 
            $nomer = $nomer_cikla + 1;
            if ( $episode == $nomer ) {
 
                $links .= "<a class='BatcoH BatcoH-4'>" . $nomer . " серия</a>";
                $episode_link = $link;
 
                $pred = $nomer - 1;
                $sled = $nomer + 1;
                if ($pred >= 1) $series_navigation .= "<a href='" . $config['http_home_url'] . $row['id']."-".$row['alt_name'] . "/episode/" . $pred . ".html'  class='BatcoH-prevnext BatcoH-5'>Предыдущая " . $pred . " серия</a>";
                if ($sled <= $vsego) $series_navigation .= "<a href='" . $config['http_home_url'] . $row['id']."-".$row['alt_name'] . "/episode/" . $sled . ".html'  class='BatcoH-prevnext BatcoH-5'>Следующая " . $sled . " серия</a>";
 
 
            }
            else $links .= "<a href='" . $config['http_home_url'] . $row['id']."-".$row['alt_name'] . "/episode/" . $nomer . ".html'  class='BatcoH BatcoH-5'>" . $nomer . " серия</a>";
 
        }
 
        $tpl->set( '{all_links}', $links );
        $tpl->set( '{episode_link}', $episode_link );
        $tpl->set( '{series_navigation}', $series_navigation );
        $tpl->set( '{nomer}', $episode );
        $tpl->load_template( 'generator.tpl' );
        }
в этом же файле ищем код
PHP:
$tpl->set( '{full-story}', $row['full_story'] );
ниже вставляем
PHP:
if ( $xfieldsdata['video_links'] AND !isset($_GET["nomer"]) ) {
 
            $links = "";
            $video_links = explode("\n", $xfieldsdata['video_links']);
            foreach ($video_links as $nomer_cikla => $link) {
 
                $nomer = $nomer_cikla + 1;
                $links .= "<a href='" . $config['http_home_url'] . $row['alt_name'] . "/episode/" . $nomer . ".html'  class='BatcoH BatcoH-5'>" . $nomer . " серия</a>";
 
            }
 
            $tpl->set( '{links}', $links );
 
        }
3. Открываем любой .css файл, подключенный к шаблону и вставляем в самый низ код
HTML:
.buttttons {
  display: table;
  height: 100%;
  width: 100%;
}

.kontaiher {
  display: table-cell;
  padding: 1em;
  text-align: center;
  vertical-align: middle;
}
 

.BatcoH {
  color: black !important;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0.5em 0.5em 0.5em;
  max-width: 90px;
  position: relative;
  text-decoration: none;
  vertical-align: middle;
  width: 100%;
}
@media (min-width: 400px) {
  .BatcoH {
    display: inline-block;
    margin-right: 0.4em;
  }
  .BatcoH:nth-of-type(even) {
    margin-right: 0.4em;
  }
}
@media (min-width: 600px) {
  .BatcoH:nth-of-type(even) {
    margin-right: 0.5em;
  }
  .BatcoH:nth-of-type(5) {
    margin-right: 0.5em;
  }
}
.BatcoH:hover {
  text-decoration: none !important;
}
 
.BatcoH-dub {
  color: black;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0 auto 0.5em;
  max-width: 200px;
  position: relative;
  text-decoration: none;
  vertical-align: middle;
  width: 100%;
}
@media (min-width: 400px) {
  .BatcoH-dub {
    display: inline-block;
    margin-right: 0.4em;
  }
  .BatcoH-dub:nth-of-type(even) {
    margin-right: 0.4em;
  }
}
@media (min-width: 600px) {
  .BatcoH-dub:nth-of-type(even) {
    margin-right: 0.5em;
  }
  .BatcoH-dub:nth-of-type(5) {
    margin-right: 0.5em;
  }
}
.BatcoH-dub:hover {
  text-decoration: none;
}

.BatcoH-prevnext {
  color: black;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0 auto 0.5em;
  max-width: 45%;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  width: 45%;
}
@media (min-width: 400px) {
  .BatcoH-prevnext {
    display: inline-block;
    margin-right: 0.5em;
  }
  .BatcoH-prevnext:nth-of-type(even) {
    margin-right: 0.5em;
  }
}
@media (min-width: 600px) {
  .BatcoH-prevnext:nth-of-type(even) {
    margin-right: 0.5em;
  }
  .BatcoH-prevnext:nth-of-type(5) {
    margin-right: 0.5em;
  }
}
.BatcoH-prevnext:hover {
  text-decoration: none;
}

.BatcoH-4 {
  border: 1px solid;
  overflow: hidden;
  position: relative;
  z-index: 20;
}
.BatcoH-4:after {
  background: #427388;
  content: "";
  height: 155px;
  left: -75px;
  opacity: .2;
  position: absolute;
  top: -50px;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
  -webkit-transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  width: 50px;
  z-index: -10;
}

.BatcoH-4:hover:after {
  left: 120%;
  -webkit-transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
}

.BatcoH-5 {
  border: 0 solid;
  box-shadow: inset 0 0 20px rgba(255, 255, 255, 0);
  outline: 1px solid;
  outline-offset: 0px;
  text-shadow: none;
  -webkit-transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
}

.BatcoH-5:hover {
  border: 1px solid;
  box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.2);
  outline-color: rgba(255, 255, 255, 0);
  outline-offset: 15px;
  text-shadow: 1px 1px 2px #427388;
}
4. Открываем fullstory.tpl своего шаблона и в нужное место для вывода списка доступных серий вставляем код
HTML:
[xfgiven_video_links]
            <section class="buttttons">
                <div class="kontaiher">{links}</div>
            </section>
            [/xfgiven_video_links]
5. Или через ftp или в Админка-Управление шаблонами сайта-Создать новый файл
создаем файл с именем generator.tpl. Берем ваш fullstory.tpl, копируем и вставляем в файл generator.tpl. Настраиваем по своему хотению. Для вывода списка серий, навигации и самого видео вставляем в нужное место код
HTML:
<iframe src="{episode_link}" width="100%" height="360" frameborder="0" allowfullscreen></iframe>
            <section class="buttttons">
                <div class="kontaiher">{series_navigation}</div>
            </section>
            <section class="buttttons">
                <div class="kontaiher">{all_links}</div>
            </section>
В этом файле шаблона доступен тег {nomer}, который выведет номер серии, на странице которой находится пользователь.
6. Идем в админку, создаем доп поле
  1. Название поля - video_links
  2. Описание поля - Ссылки на видео
  3. Подсказка для поля - Вставляем ссылки на видео, каждая с новой строчки
  4. Категория - категория с сериалами, где будете использовать модуль
  5. Тип поля - Несколько строк
  6. Ставим галочку "Использовать при желании (можно оставить поле пуcтым)"
Готово. Пользуйтесь на здоровье.
0. Скачиваем и устанавливаем модуль (по инструкции с первого по пятый пункт, остальные не нужны!) Видео конструктор для dle v3.1.0041 (последняя)
1. Открываем .htaccess в корне сайта. Ищем в нем:
Код:
RewriteEngine On
ниже вставляем код
Код:
# Генератор серий by DomiTori
RewriteRule ^([0-9]+)-(.*)/(.*)/episode/([0-9]+).html$ index.php?newsid=$1&seourl=$2&seria=$4&perevodi=$3 [L]
2. Открываем /engine/modules/show.full.php и ищем в нем код
PHP:
elseif( $category_id and $cat_info[$category_id]['full_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['full_tpl'] . '.tpl' );
ниже вставляем код
PHP:
elseif( isset($_GET["seria"]) ) include_once ENGINE_DIR . '/modules/series_generator_free/episode.php';
в этом же файле ищем код
PHP:
if ( preg_match( "#\\{full-story limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
ВЫШЕ вставляем
PHP:
if ( $xfieldsdata['pconstruct'] AND $xfieldsdata['pconstruct'] != "{}" AND !isset($_GET["seria"]) ) include_once ENGINE_DIR . '/modules/series_generator_free/fullstory.php';
else $tpl->set_block("'\\[series_generator_free\\](.*?)\\[/series_generator_free\\]'si", '');
далее делаем один из пунктов.
a) Если у вас не установлен мой платный Генератор серий сериалов с базы Moonwalk

ищем код

PHP:
$row['title'] = stripslashes( $row['title'] );

ВЫШЕ вставляем

PHP:
if( !isset($_GET["seria"]) ) {

далее ищем код

PHP:
$social_tags['url'] = $full_link;

НИЖЕ вставляем

PHP:
}
        else include_once ENGINE_DIR . '/modules/series_generator_free/metatags.php';

б) Если у вас установлен мой платный Генератор серий сериалов с базы Moonwalk

ищем код
PHP:
if( !isset($_GET["nomer"]) ) {

ЗАМЕНЯЕМ на код

PHP:
if( !isset($_GET["nomer"]) AND !isset($_GET["seria"]) ) {

далее ищем код

PHP:
else include_once ENGINE_DIR . '/modules/series_generator/metatags.php';

ВЫШЕ вставляем

PHP:
elseif(isset($_GET["seria"])) include_once ENGINE_DIR . '/modules/series_generator_free/metatags.php';


3. Открываем любой .css файл, подключенный к шаблону и вставляем в самый низ код
HTML:
.buttttons {
  display: table;
  height: 100%;
  width: 100%;
}

.kontaiher {
  display: table-cell;
  padding: 1em;
  text-align: center;
  vertical-align: middle;
}
 

.BatcoH {
  color: white !important;
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0.5em 0.5em 0.5em;
  max-width: 90px;
  position: relative;
  text-decoration: none;
  vertical-align: middle;
  width: 100%;
}
@media (min-width: 400px) {
  .BatcoH {
    display: inline-block;
    margin-right: 0.4em;
  }
  .BatcoH:nth-of-type(even) {
    margin-right: 0.4em;
  }
}
@media (min-width: 600px) {
  .BatcoH:nth-of-type(even) {
    margin-right: 0.5em;
  }
  .BatcoH:nth-of-type(5) {
    margin-right: 0.5em;
  }
}
.BatcoH:hover {
  text-decoration: none !important;
}
 
.BatcoH-dub {
  color: white;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0 auto 0.5em;
  max-width: 200px;
  position: relative;
  text-decoration: none;
  vertical-align: middle;
  width: 100%;
}
@media (min-width: 400px) {
  .BatcoH-dub {
    display: inline-block;
    margin-right: 0.4em;
  }
  .BatcoH-dub:nth-of-type(even) {
    margin-right: 0.4em;
  }
}
@media (min-width: 600px) {
  .BatcoH-dub:nth-of-type(even) {
    margin-right: 0.5em;
  }
  .BatcoH-dub:nth-of-type(5) {
    margin-right: 0.5em;
  }
}
.BatcoH-dub:hover {
  text-decoration: none;
}

.BatcoH-prevnext {
  color: white;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0 auto 0.5em;
  max-width: 45%;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  width: 45%;
}
@media (min-width: 400px) {
  .BatcoH-prevnext {
    display: inline-block;
    margin-right: 0.5em;
  }
  .BatcoH-prevnext:nth-of-type(even) {
    margin-right: 0.5em;
  }
}
@media (min-width: 600px) {
  .BatcoH-prevnext:nth-of-type(even) {
    margin-right: 0.5em;
  }
  .BatcoH-prevnext:nth-of-type(5) {
    margin-right: 0.5em;
  }
}
.BatcoH-prevnext:hover {
  text-decoration: none;
}

.BatcoH-4 {
  border: 1px solid;
  overflow: hidden;
  position: relative;
  z-index: 20;
}
.BatcoH-4:after {
  background: #427388;
  content: "";
  height: 155px;
  left: -75px;
  opacity: .2;
  position: absolute;
  top: -50px;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
  -webkit-transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  width: 50px;
  z-index: -10;
}

.BatcoH-4:hover:after {
  left: 120%;
  -webkit-transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
}

.BatcoH-5 {
  border: 0 solid;
  box-shadow: inset 0 0 20px rgba(255, 255, 255, 0);
  outline: 1px solid;
  outline-offset: 0px;
  text-shadow: none;
  -webkit-transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
}
.BatcoH-5 a {
  color: white !important;
  text-decoration: none;
}

.BatcoH-5:hover {
  border: 1px solid;
  box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.2);
  outline-color: rgba(255, 255, 255, 0);
  outline-offset: 15px;
  text-shadow: 1px 1px 2px #427388;
}
4. Открываем fullstory.tpl своего шаблона и в нужное место для вывода списка доступных серий вставляем код
HTML:
[series_generator_free]<section class="buttttons">
                            <div class="kontaiher">
                                {our_tabs}
                            </div>
                        </section>
                        <section class="buttttons">
                            <div class="playlist-episodes">
                                {our_links}
                            </div>
                        </section>[/series_generator_free]
5. Или через ftp или в Админка-Управление шаблонами сайта-Создать новый файл
создаем файл с именем generator.tpl. Берем ваш fullstory.tpl, копируем и вставляем в файл generator.tpl. Настраиваем по своему хотению. Для вывода списка серий, навигации и самого видео вставляем в нужное место код
HTML:
<section class="buttttons">
                <div class="kontaiher">
                    {full_tabs}
                </div>
        </section>
 
            <iframe src="{full_episode_link}" width="100%" height="360" frameborder="0" allowfullscreen></iframe>
 
        <section class="buttttons">
            <div class="kontaiher">{full_series_navigation}</div>
        </section>

       <section class="buttttons">
                <div class="kontaiher">
                    {full_links}
                </div>
        </section>
В этом файле шаблона доступен тег {episode}, который выведет номер серии, на странице которой находится пользователь. Тег {perevod} это табы верхние, либо перевод, либо сезоны сериала. Смотря как будете конструктор заполнять.
6. Скачиваем прикрепленный архив и заливаем его на сайт.
7. Самое главное, чтобы модуль прижился и начал приносить траф нужно скинуть мне на пиво, кошельки ниже.


Разработчик: DomiTori
Версия DLE: 10.x - 13.x
Кодировка: любая

На пиво, чипсы, наркотики, шлюх и оружие можно отблагодарить рублем.
Киви - +380665816676
Яндекс - 410011072881464
 

Вложения

Последнее редактирование:
Автор темы
Модуль переписан, изменилась инструкция. Добавил скриншоты и видео-демонстрацию. Тема почищена
 
Автор темы
приехал с командировки, вроде бы еще раз нужно будет съездить, задумал прикрутить конструктор видео от Ralode к вышеописанному генератору. С конструктора мне нужна лишь форма добавления и редактирования плейлистов видео. Если все задуманное выйдет и успею до уезда, то выложу отдельной версией. Вдруг кому пригодится. Если кто не знает что за конструктор, вот скрин
Screenshot_1.jpg
 
Шёл 2017 год 🙂🙂 Я с нетерпением жду этого дополнения)
 
Автор темы
Kroys
Обновил пост, добавил версию где мост с конструктором видео от Ralode.
Тут можно вписывать либо озвучки либо сезоны сериала
Screenshot_13.jpg
то как вы назовете сборку будет верхними табами
Screenshot_10.jpg
а также будет присутствовать в ссылке
Screenshot_12.jpg
дальше так как вы назовете серии будут отображаться в нижних табах
Screenshot_11.jpg
Скиньте хоть раз на пиво за ништяк, чтоб я спал спокойно.
 
Модуль отличный, единственное возник вопрос, а как избавляться от "лишних страниц". Помимо сериалов, существуют еще и фильмы и новости к примеру. Да и сам сериал если состоит из 25 серий, то не должен быть доступен по 26 серии. Даже страница "sait.hu/id-serial/episode/00000.html" будет отображаться) Можно это как-нибудь подправить?)
 
Кто установил модуль? как поисковики реагируют? можно посмотреть пример у кого нибудь?
 
Кто установил модуль? как поисковики реагируют? можно посмотреть пример у кого нибудь?
норм реагируют, если не переспамить страницы. Примеров думаю никто не выложит с реальными своими сайтами, а за демо - напиши автору, но т.к. модуль бесплатный, то скорее всего и демо для проверки нет.
 
норм реагируют, если не переспамить страницы. Примеров думаю никто не выложит с реальными своими сайтами, а за демо - напиши автору, но т.к. модуль бесплатный, то скорее всего и демо для проверки нет.
а не получится много дублей несуществующих страниц? тайтл и дискрипшн уникальные у каждой серии?
 
Автор темы
а не получится много дублей несуществующих страниц? тайтл и дискрипшн уникальные у каждой серии?
c учетом того что пс индексирует сайты с такими тайтлами и дескрипшенами - Screenshot должно быть все ок. В каждой серии минимум номер серии в метатегах разный.
 
c учетом того что пс индексирует сайты с такими тайтлами и дескрипшенами - Screenshot должно быть все ок. В каждой серии минимум номер серии в метатегах разный.
Почему то не меняются мета теги на страницах и не работает тег {nomer}. Еще вопрос про несуществующие страницы, можно ли как то запретить генерацию таких урл?
 
Автор темы
Почему то не меняются мета теги на страницах и не работает тег {nomer}. Еще вопрос про несуществующие страницы, можно ли как то запретить генерацию таких урл?
Будет время, допишу редирект, если серия больше чем положено чтоб в новость редиректило
 
Будет время, допишу редирект, если серия больше чем положено чтоб в новость редиректило
А почему не работает тег, навскидку причины можете назвать? еще видеоконструктор генерирует такие вот ссылки ifr::https://сайт/embed/88967/, придется все вручную переделывать или можно как то такую ссылку в ифрейм засунуть
 
Емм..
Убери http:// из шаблона
... </section>

Вот тут! <iframe src="http://{full_episode_link}" width="100%" height="360" frameborder="0" allowfullscreen></iframe>

<section class="buttttons">....
 
а вот это куда деть перед ссылкой ifr::
Ну тут 2 варика, 1. дописать тюб(плеер) в конструкторе (/VideoTubes.php)и через запрос в бд убать inf:: или просто пересохранить новость; 2. Убрать добавление inf:: и через запрос в бд убать inf:: или просто пересохранить новость;
И тему не засорять)
 
А почему не работает тег, навскидку причины можете назвать? еще видеоконструктор генерирует такие вот ссылки ifr::https://сайт/embed/88967/, придется все вручную переделывать или можно как то такую ссылку в ифрейм засунуть
такие ссылки только хранятся в БД в таком виде, и видны в конструкторе в новости при редактировании. Это просто означает что в видеоконструторе будет выводиться <iframe на видео, которое указано после ifr::!!! Не надо удалять их из новости, это просто используются тюбы, которые не знает видеоконструктор.
 
такие ссылки только хранятся в БД в таком виде, и видны в конструкторе в новости при редактировании. Это просто означает что в видеоконструторе будет выводиться <iframe на видео, которое указано после ifr::!!! Не надо удалять их из новости, это просто используются тюбы, которые не знает видеоконструктор.
так в том то и дело что получается такая вот ссылка
Код:
<iframe  src="ifr::https://
 

Похожие темы Последние темы Популярные темы

Назад
Сверху