Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

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

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

Discussion in 'Хаки DLE' started by DLEPlugins, Oct 16, 2016.

16.10.16 в 11:51
09.11.17 в 21:15
51
8,596
15
  1. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 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, Oct 16, 2016
    Last edited: Oct 27, 2016
    • Нравится Нравится x 15
  2. PunPun

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

    Joined:
    Jun 11, 2015
    Messages:
    7,433
    Best Answers:
    32
    Ratings:
    +4,062 / 137 / -0
    Ебать, нахуя такая портянка ? Там в массив записываешь и все
     
  3. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    мы не ищем легких путей
     
  4. Romantv

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,946
    Best Answers:
    6
    Ratings:
    +1,994 / 141 / -0
    @DomiTori, новые таланты. следующий талан чебурашка,с его помощью я на 90% избавился от спама в коментах
     
  5. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    всмысле? гаварити па руски. нипанятна
     
    #5 DLEPlugins, Oct 16, 2016
    Last edited: Oct 16, 2016
    • Нравится Нравится x 1
  6. Sland

    PRO Users

    Joined:
    Aug 28, 2016
    Messages:
    305
    Best Answers:
    1
    Ratings:
    +47 / 1 / -0
    придется писать на все категории описании?
    нужно ли вообще это?
     
  7. aleps

    aleps Посетитель

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

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,946
    Best Answers:
    6
    Ratings:
    +1,994 / 141 / -0
    В прямом смысле!как есть 100% ты талант! теперь модуль collection подборки не нужен!
     
    • Нравится Нравится x 1
  9. Romantv

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,946
    Best Answers:
    6
    Ratings:
    +1,994 / 141 / -0
    4 раза переделал и что то не срастается
    upload_2016-10-17_2-49-30.png
    upload_2016-10-17_2-50-59.png
     
  10. aeneas

    Забанен

    Joined:
    Mar 12, 2016
    Messages:
    11,450
    Best Answers:
    10
    Ratings:
    +4,027 / 208 / -0
    1. нужно
    2. нах ненужно, хуйню вечно навыдумывают бесполезную
     
    • Нравится Нравится x 3
  11. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    Какие правки касаемо категорий делал? Сэо паки мб всякие? Версия твоего DLE? Попробую позже на каком нибудь шаблоне и заполненных новостях
     
  12. Жека

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

    Joined:
    Aug 16, 2015
    Messages:
    1,248
    Best Answers:
    0
    Ratings:
    +570 / 9 / -0
    Нихуя вы завернули )))) catlist без правок все разделяет (-_-)
     
  13. voloskov97

    Забанен

    Joined:
    Oct 19, 2015
    Messages:
    164
    Best Answers:
    0
    Ratings:
    +28 / 0 / -0
    А не проще ли бы было разделить категории на типы, к примеру год - 1, страна - 2, жанр - 3, занести изменения в базу, и потом делать фильтр через массив, зачем такие страшные вещи писать :D
     
    • Нравится Нравится x 1
  14. Жека

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

    Joined:
    Aug 16, 2015
    Messages:
    1,248
    Best Answers:
    0
    Ratings:
    +570 / 9 / -0
    [catlist=1]2014[/catlist]
    [catlist=2]2013[/catlist]
    [catlist=3]2012[/catlist]

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

    Забанен

    Joined:
    Mar 12, 2016
    Messages:
    11,450
    Best Answers:
    10
    Ratings:
    +4,027 / 208 / -0
    ну ТС попросил кто то намутить, он намутил, теперь выложил тут, че уж )) спс канечно )
     
    • Нравится Нравится x 2
  16. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    Так все и было. Мне самому этот хак не нужен. В дле есть доп поля, нах извращаться над движком) Готовлю свой первый киносайт, реализовую на нем все задуманное. Как доделаю выставлю на критику, интересно общественное мнение будет выслушать. Уже прикидываю как геймер обосрет, лишний раз доказывая сам себе что он лучше всех нас нюбов необразованных. И будет срач как в былые времена:D
     
    #16 DLEPlugins, Oct 17, 2016
    Last edited: Oct 17, 2016
    • Нравится Нравится x 4
  17. Demx

    Demx Бывалый

    Joined:
    May 13, 2016
    Messages:
    117
    Best Answers:
    0
    Ratings:
    +15 / 2 / -0
    а как это сделать не подскажешь?
     
  18. TopicStarter Overlay
    DLEPlugins

    Кодер

    Joined:
    Nov 29, 2015
    Messages:
    1,601
    Best Answers:
    8
    Ratings:
    +1,187 / 9 / -0
    не скажет. его фишка в том, чтобы сказать "я могу лучше", при этом это пустые слова. его человек месяц просил уделить пять минут своего драгоценного времени и сделать (платно) это разделение. Не дождавшись попросил меня помочь.
     
    • Нравится Нравится x 2
  19. Romantv

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,946
    Best Answers:
    6
    Ratings:
    +1,994 / 141 / -0
    вот модули стоят,может они что делают. больше не чего не делал
    upload_2016-10-17_14-44-38.png
     
    • Нравится Нравится x 1
  20. Romantv

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,946
    Best Answers:
    6
    Ratings:
    +1,994 / 141 / -0
    по позже попробую 6 раз, если не получится буду делать как Жека сказал
    [catlist=1]2014[/catlist]
    [catlist=2]2013[/catlist]
    [catlist=3]2012[/catlist]
     
Яндекс.Метрика