Необходима доработка, так что пока не ставьте хак себе
Продумано по просьбе земляка @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&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&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&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&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&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&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
}
}
}
Теперь важно правильно проставить id своих категорий.
В этой строчке
PHP:
if(in_array($element,array(1,8))) {
В этой
PHP:
if(in_array($element,array(2,3))) {
В этой
PHP:
if(in_array($element,array(4,5))) {
В этой
PHP:
if(in_array($element,array(9,10))) {
В этой
PHP:
if(in_array($element,array(6,7))) {
Внимательно перепроверьте правильность указанных 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} - выведет категории подборок (коллекций), к которым принадлежит новость.
Вот и сказочке конец, а кто слушал молодец. Всем опробовавшим просьба сообщить в комментариях работает ли у вас.
Демо - оцените мое уник описание 😉
Желающим отблагодарить "на пиво" и мотивировать меня на другие бесплатности для вас мои кошельки вебмани:
Рубли - R417794992142
Гривни - U357368699010
$ - Z244912848144
Последнее редактирование:


