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

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

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

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

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

    DLEPlugins Кодер

    Сообщения:
    1.601
    Симпатии:
    1.076
    Лучших ответов:
    8
    Необходима доработка, так что пока не ставьте хак себе

    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} - выведет категории подборок (коллекций), к которым принадлежит новость.

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

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

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

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

    Сообщения:
    7.433
    Симпатии:
    3.687
    Лучших ответов:
    32
    Ебать, нахуя такая портянка ? Там в массив записываешь и все
     
  3. TopicStarter Overlay
    DLEPlugins

    DLEPlugins Кодер

    Сообщения:
    1.601
    Симпатии:
    1.076
    Лучших ответов:
    8
    мы не ищем легких путей
     
  4. Romantv

    Romantv Забанен

    Сообщения:
    6.946
    Симпатии:
    1.815
    Лучших ответов:
    6
    @DomiTori, новые таланты. следующий талан чебурашка,с его помощью я на 90% избавился от спама в коментах
     
  5. TopicStarter Overlay
    DLEPlugins

    DLEPlugins Кодер

    Сообщения:
    1.601
    Симпатии:
    1.076
    Лучших ответов:
    8
    всмысле? гаварити па руски. нипанятна
     
    Последнее редактирование: 16 окт 2016
    • Нравится Нравится x 1
  6. Sland

    Sland PRO Users

    Сообщения:
    305
    Симпатии:
    41
    Лучших ответов:
    1
    придется писать на все категории описании?
    нужно ли вообще это?
     
  7. aleps

    aleps Посетитель

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

    Romantv Забанен

    Сообщения:
    6.946
    Симпатии:
    1.815
    Лучших ответов:
    6
    В прямом смысле!как есть 100% ты талант! теперь модуль collection подборки не нужен!
     
    • Нравится Нравится x 1
  9. Romantv

    Romantv Забанен

    Сообщения:
    6.946
    Симпатии:
    1.815
    Лучших ответов:
    6
    4 раза переделал и что то не срастается
    upload_2016-10-17_2-49-30.png
    upload_2016-10-17_2-50-59.png
     
  10. aeneas

    aeneas Забанен

    Сообщения:
    11.450
    Симпатии:
    3.808
    Лучших ответов:
    10
    1. нужно
    2. нах ненужно, хуйню вечно навыдумывают бесполезную
     
    • Нравится Нравится x 3
  11. TopicStarter Overlay
    DLEPlugins

    DLEPlugins Кодер

    Сообщения:
    1.601
    Симпатии:
    1.076
    Лучших ответов:
    8
    Какие правки касаемо категорий делал? Сэо паки мб всякие? Версия твоего DLE? Попробую позже на каком нибудь шаблоне и заполненных новостях
     
  12. Жека

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

    Сообщения:
    1.248
    Симпатии:
    562
    Лучших ответов:
    0
    Нихуя вы завернули )))) catlist без правок все разделяет (-_-)
     
  13. voloskov97

    voloskov97 Забанен

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

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

    Сообщения:
    1.248
    Симпатии:
    562
    Лучших ответов:
    0
    [catlist=1]2014[/catlist]
    [catlist=2]2013[/catlist]
    [catlist=3]2012[/catlist]

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

    aeneas Забанен

    Сообщения:
    11.450
    Симпатии:
    3.808
    Лучших ответов:
    10
    ну ТС попросил кто то намутить, он намутил, теперь выложил тут, че уж )) спс канечно )
     
    • Нравится Нравится x 2
  16. TopicStarter Overlay
    DLEPlugins

    DLEPlugins Кодер

    Сообщения:
    1.601
    Симпатии:
    1.076
    Лучших ответов:
    8
    Так все и было. Мне самому этот хак не нужен. В дле есть доп поля, нах извращаться над движком) Готовлю свой первый киносайт, реализовую на нем все задуманное. Как доделаю выставлю на критику, интересно общественное мнение будет выслушать. Уже прикидываю как геймер обосрет, лишний раз доказывая сам себе что он лучше всех нас нюбов необразованных. И будет срач как в былые времена:D
     
    Последнее редактирование: 17 окт 2016
    • Нравится Нравится x 4
  17. Demx

    Demx Бывалый

    Сообщения:
    117
    Симпатии:
    14
    Лучших ответов:
    0
    а как это сделать не подскажешь?
     
  18. TopicStarter Overlay
    DLEPlugins

    DLEPlugins Кодер

    Сообщения:
    1.601
    Симпатии:
    1.076
    Лучших ответов:
    8
    не скажет. его фишка в том, чтобы сказать "я могу лучше", при этом это пустые слова. его человек месяц просил уделить пять минут своего драгоценного времени и сделать (платно) это разделение. Не дождавшись попросил меня помочь.
     
    • Нравится Нравится x 2
  19. Romantv

    Romantv Забанен

    Сообщения:
    6.946
    Симпатии:
    1.815
    Лучших ответов:
    6
    вот модули стоят,может они что делают. больше не чего не делал
    upload_2016-10-17_14-44-38.png
     
    • Нравится Нравится x 1
  20. Romantv

    Romantv Забанен

    Сообщения:
    6.946
    Симпатии:
    1.815
    Лучших ответов:
    6
    по позже попробую 6 раз, если не получится буду делать как Жека сказал
    [catlist=1]2014[/catlist]
    [catlist=2]2013[/catlist]
    [catlist=3]2012[/catlist]