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

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

Разделение списка категорий фильма по видам (жанры, страны...)

Тема в разделе "Хаки DLE", создана пользователем DLEPlugins, 16 окт 2016.

16.10.16 в 11:51
09.11.17 в 21:15
51
7.558
15
  1. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.195 / 9 / -0
    Необходима доработка, так что пока не ставьте хак себе

    category_hack.jpg

    Продумано по просьбе земляка @sas7110 + всем любителям добавлять фильм в сотню категорий посвящается.

    Кому это пригодится? Тем, кто жанры, страны, год выхода и тематику (так называемые коллекции или подборки) вбивает в качестве категорий новости. В конечном результате все категории, к которой принадлежит фильм выводится хаотично одной сплошной строчкой. Данный хак позволит разделить категории по видам (типам) и выводить нужное в нужном месте при помощи новых тегов.

    Хак протестирован на DLE 11.1, работать должен на версиях ниже, если у вас не совпадают строчки кода напишите в комментарии версию вашего DLE, я напишу отдельно правки под эту версию. И так, начнем веселуху...

    1. Открываем следующие файлы - /engine/modules/show.custom.php, /engine/modules/show.full.php, /engine/modules/show.short.php и /engine/modules/topnews.php

    Ищем код
    PHP:
    foreach ( $cat_list as $element ) {
                     
                    if( 
    $allow_list[0] != "all" AND !in_array$element$allow_list ) ) $perm 0;
                 
                    if( 
    $not_allow_cats[0] != "" AND in_array$element$not_allow_cats ) ) $perm 0;
                     
                    if( 
    $element ) {
                        
    $my_cat[] = $cat_info[$element]['name'];
                        if( 
    $config['allow_alt_url'] ) $my_cat_link[] = "<a href=\"" $config['http_home_url'] . get_url$element ) . "/\">{$cat_info[$element]['name']}</a>";
                        else 
    $my_cat_link[] = "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
                    }
                }
    меняем на код

    PHP:
    foreach ( $cat_list as $element ) {
                 
                    if(
    in_array($element,array(1,8))) {
                     
                    if( 
    $allow_list[0] != "all" AND !in_array$element$allow_list ) ) $perm 0;
                 
                    if( 
    $not_allow_cats[0] != "" AND in_array$element$not_allow_cats ) ) $perm 0;
                     
                    if( 
    $element ) {
                        
    $my_cat[] = $cat_info[$element]['name'];
                        if( 
    $config['allow_alt_url'] ) $my_cat_link[] = "<a href=\"" $config['http_home_url'] . get_url$element ) . "/\">{$cat_info[$element]['name']}</a>";
                        else 
    $my_cat_link[] = "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
                    }
                    }
                 
                    if(
    in_array($element,array(2,3))) {
                     
                    if( 
    $allow_list[0] != "all" AND !in_array$element$allow_list ) ) $perm 0;
                 
                    if( 
    $not_allow_cats[0] != "" AND in_array$element$not_allow_cats ) ) $perm 0;
                     
                    if( 
    $element ) {
                        
    $my_cat[] = $cat_info[$element]['name'];
                        if( 
    $config['allow_alt_url'] ) $my_genre_link[] = "<a href=\"" $config['http_home_url'] . get_url$element ) . "/\">{$cat_info[$element]['name']}</a>";
                        else 
    $my_genre_link[] = "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
                    }
                    }
                 
                    if(
    in_array($element,array(4,5))) {
                     
                    if( 
    $allow_list[0] != "all" AND !in_array$element$allow_list ) ) $perm 0;
                 
                    if( 
    $not_allow_cats[0] != "" AND in_array$element$not_allow_cats ) ) $perm 0;
                     
                    if( 
    $element ) {
                        
    $my_cat[] = $cat_info[$element]['name'];
                        if( 
    $config['allow_alt_url'] ) $my_country_link[] = "<a href=\"" $config['http_home_url'] . get_url$element ) . "/\">{$cat_info[$element]['name']}</a>";
                        else 
    $my_country_link[] = "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
                    }
                    }

                  
                    if(
    in_array($element,array(9,10))) {
                     
                    if( 
    $allow_list[0] != "all" AND !in_array$element$allow_list ) ) $perm 0;
                 
                    if( 
    $not_allow_cats[0] != "" AND in_array$element$not_allow_cats ) ) $perm 0;
                     
                    if( 
    $element ) {
                        
    $my_cat[] = $cat_info[$element]['name'];
                        if( 
    $config['allow_alt_url'] ) $my_year_link[] = "<a href=\"" $config['http_home_url'] . get_url$element ) . "/\">{$cat_info[$element]['name']}</a>";
                        else 
    $my_year_link[] = "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
                    }
                    }
                 
                    if(
    in_array($element,array(6,7))) {
                     
                    if( 
    $allow_list[0] != "all" AND !in_array$element$allow_list ) ) $perm 0;
                 
                    if( 
    $not_allow_cats[0] != "" AND in_array$element$not_allow_cats ) ) $perm 0;
                     
                    if( 
    $element ) {
                        
    $my_cat[] = $cat_info[$element]['name'];
                        if( 
    $config['allow_alt_url'] ) $my_collection_link[] = "<a href=\"" $config['http_home_url'] . get_url$element ) . "/\">{$cat_info[$element]['name']}</a>";
                        else 
    $my_collection_link[] = "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
                    }
                    }
                 
                 
                }
    Теперь важно правильно проставить id своих категорий.
    В этой строчке
    PHP:
    if(in_array($element,array(1,8))) {
    1,8 меняем на список id через запятую без пробелов таких категорий как "фильмы", "сериалы", "мультфильмы", "мультсериалы", "трейлеры", "новости" и тд и тп. То есть тут указываем id основных ваших категорий.

    В этой
    PHP:
    if(in_array($element,array(2,3))) {
    2,3 меняем на список id через запятую без пробелов таких категорий как "комедии", "боевики", "ужасы" и тд. Т.е. категорий с жанрами.

    В этой
    PHP:
    if(in_array($element,array(4,5))) {
    4,5 меняем на список id через запятую без пробелов таких категорий как "сша", "россия", "китай" и тд. Т.е. категорий со странами.

    В этой
    PHP:
    if(in_array($element,array(9,10))) {
    9,10 меняем на список id через запятую без пробелов таких категорий как "2017", "2016", "2015" и тд. Т.е. категорий с годом выпуска.

    В этой
    PHP:
    if(in_array($element,array(6,7))) {
    6,7 меняем на список id через запятую без пробелов таких категорий как "про вампиров", "про самураев", "про супергероев" и тд. Т.е. категорий с подборками (коллекциями) фильмов.

    Внимательно перепроверьте правильность указанных id категорий через запятую. Если все
    правильно, значит движемся дальше

    2. В файлах /engine/modules/show.custom.php, /engine/modules/show.full.php и /engine/modules/topnews.php ищем код
    PHP:
    $my_cat_link get_categories$cat_list[0], $config['category_separator'] );
    меняем его на
    PHP:
    $my_cat_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";
             
                
    $my_genre_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";
             
                
    $my_country_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";

                
    $my_year_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";
             
                
    $my_collection_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";
    В файле /engine/modules/show.short.php ищем код
    PHP:
    $my_cat_link get_categories$cat_list[0], $config['category_separator']);
    меняем его на
    PHP:
    $my_cat_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";
             
                
    $my_genre_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";
             
                
    $my_country_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";

                
    $my_year_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";
             
                
    $my_collection_link "<a href=\"" $config['http_home_url'] . $cat_info[$cat_list[0]]['alt_name'] . "/\">{$cat_info[$cat_list[0]]['name']}</a>";
    3. Открываем файлы /engine/modules/show.full.php и /engine/modules/show.short.php и ищем в них код
    PHP:
    $news_find = array ('{comments-num}' => number_format($row['comm_num'], 0','' '), '{views}' => number_format($row['news_read'], 0','' '), '{category}' => $my_cat'{link-category}' => $my_cat_link'{news-id}' => $row['id'] );
    меняем на код
    PHP:
    $news_find = array ('{comments-num}' => number_format($row['comm_num'], 0','' '), '{views}' => number_format($row['news_read'], 0','' '), '{category}' => $my_cat'{link-category}' => $my_cat_link'{link-genre}' => $my_genre_link'{link-country}' => $my_country_link'{link-year}' => $my_year_link'{link-collection}' => $my_collection_link'{news-id}' => $row['id'] );
    4. Теперь в полной и краткой новости в теге {link-category} будут выводиться ваши основные категории фильма и вам доступны новые теги:
    {link-genre} - выведет категории с жанрами
    {link-country} - выведет категории со странами
    {link-year} - выведет категории с годом выхода
    {link-collection} - выведет категории подборок (коллекций), к которым принадлежит новость.

    Вот и сказочке конец, а кто слушал молодец. Всем опробовавшим просьба сообщить в комментариях работает ли у вас.

    Демо - оцените мое уник описание ;)

     
    #1 DLEPlugins, 16 окт 2016
    Последнее редактирование: 27 окт 2016
    • Нравится Нравится x 15
  2. PunPun

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

    Регистрация:
    11 июн 2015
    Сообщения:
    7.299
    Лучших ответов:
    31
    Рейтинги:
    +3.898 / 96 / -0
    Ебать, нахуя такая портянка ? Там в массив записываешь и все
     
  3. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.195 / 9 / -0
    мы не ищем легких путей
     
  4. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    @DomiTori, новые таланты. следующий талан чебурашка,с его помощью я на 90% избавился от спама в коментах
     
  5. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.195 / 9 / -0
    всмысле? гаварити па руски. нипанятна
     
    #5 DLEPlugins, 16 окт 2016
    Последнее редактирование: 16 окт 2016
    • Нравится Нравится x 1
  6. Sland

    PRO Users

    Регистрация:
    28 авг 2016
    Сообщения:
    303
    Лучших ответов:
    1
    Рейтинги:
    +47 / 1 / -0
    придется писать на все категории описании?
    нужно ли вообще это?
     
  7. aleps

    aleps Посетитель

    Регистрация:
    15 ноя 2015
    Сообщения:
    58
    Лучших ответов:
    0
    Рейтинги:
    +10 / 0 / -0
    В первую очередь спасибо!
    и просьба, можно упростить что-ли, т.е. как пример, делаю как сказано выше только для my_genre_link ( {link-genre} ),а всё другое, чьи id сюда не записал, выводится стандартным тегом (или другим но одним, т.е. без необходимости перечислять остальные категории)!
     
  8. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    В прямом смысле!как есть 100% ты талант! теперь модуль collection подборки не нужен!
     
    • Нравится Нравится x 1
  9. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    4 раза переделал и что то не срастается
    upload_2016-10-17_2-49-30.png
    upload_2016-10-17_2-50-59.png
     
  10. aeneas

    Забанен

    Регистрация:
    12 мар 2016
    Сообщения:
    11.489
    Лучших ответов:
    10
    Рейтинги:
    +4.043 / 208 / -0
    1. нужно
    2. нах ненужно, хуйню вечно навыдумывают бесполезную
     
    • Нравится Нравится x 3
  11. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.195 / 9 / -0
    Какие правки касаемо категорий делал? Сэо паки мб всякие? Версия твоего DLE? Попробую позже на каком нибудь шаблоне и заполненных новостях
     
  12. Жека

    Команда форума VIP Кинотрафик v2

    Регистрация:
    16 авг 2015
    Сообщения:
    1.248
    Лучших ответов:
    0
    Рейтинги:
    +570 / 9 / -0
    Нихуя вы завернули )))) catlist без правок все разделяет (-_-)
     
  13. voloskov97

    Забанен

    Регистрация:
    19 окт 2015
    Сообщения:
    164
    Лучших ответов:
    0
    Рейтинги:
    +28 / 0 / -0
    А не проще ли бы было разделить категории на типы, к примеру год - 1, страна - 2, жанр - 3, занести изменения в базу, и потом делать фильтр через массив, зачем такие страшные вещи писать :D
     
    • Нравится Нравится x 1
  14. Жека

    Команда форума VIP Кинотрафик v2

    Регистрация:
    16 авг 2015
    Сообщения:
    1.248
    Лучших ответов:
    0
    Рейтинги:
    +570 / 9 / -0
    [catlist=1]2014[/catlist]
    [catlist=2]2013[/catlist]
    [catlist=3]2012[/catlist]

    catlist - id категории
    Внутри то что отображать
    И так же с жанрами! И будет выводить че надо и куда надо!
     
    • Нравится Нравится x 1
  15. aeneas

    Забанен

    Регистрация:
    12 мар 2016
    Сообщения:
    11.489
    Лучших ответов:
    10
    Рейтинги:
    +4.043 / 208 / -0
    ну ТС попросил кто то намутить, он намутил, теперь выложил тут, че уж )) спс канечно )
     
    • Нравится Нравится x 2
  16. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.195 / 9 / -0
    Так все и было. Мне самому этот хак не нужен. В дле есть доп поля, нах извращаться над движком) Готовлю свой первый киносайт, реализовую на нем все задуманное. Как доделаю выставлю на критику, интересно общественное мнение будет выслушать. Уже прикидываю как геймер обосрет, лишний раз доказывая сам себе что он лучше всех нас нюбов необразованных. И будет срач как в былые времена:D
     
    #16 DLEPlugins, 17 окт 2016
    Последнее редактирование: 17 окт 2016
    • Нравится Нравится x 4
  17. Demx

    Demx Бывалый

    Регистрация:
    13 май 2016
    Сообщения:
    117
    Лучших ответов:
    0
    Рейтинги:
    +15 / 2 / -0
    а как это сделать не подскажешь?
     
  18. TopicStarter Overlay
    DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.195 / 9 / -0
    не скажет. его фишка в том, чтобы сказать "я могу лучше", при этом это пустые слова. его человек месяц просил уделить пять минут своего драгоценного времени и сделать (платно) это разделение. Не дождавшись попросил меня помочь.
     
    • Нравится Нравится x 2
  19. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    вот модули стоят,может они что делают. больше не чего не делал
    upload_2016-10-17_14-44-38.png
     
    • Нравится Нравится x 1
  20. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    по позже попробую 6 раз, если не получится буду делать как Жека сказал
    [catlist=1]2014[/catlist]
    [catlist=2]2013[/catlist]
    [catlist=3]2012[/catlist]
     
Похожие темы
  1. Krabsterz8

    Вопрос? .

    Ответов:
    5
    Просмотров:
    1.356
  2. Sander
    Ответов:
    0
    Просмотров:
    1.006
  3. sapa
    Ответов:
    0
    Просмотров:
    871
Загрузка...
Яндекс.Метрика