Хотите изменить вид и сделать удобный выбор категории в пользовательской части при добавлении новостей как на скрине? То возможно этот
для Вас.
8.x - 9.0 должен работать и выше версии.
1. Открыть файл engine/modules/functuions.php
Заменить ВСЮ функцию:
function CategoryNewsSelection
На:
function CategoryNewsSelection($categoryid = 0, $parentid = 0, $nocat = TRUE, $sublevelmarker = '', $returnstring = '') { global $cat_info, $user_group, $member_id; $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] ); $spec_list = explode( ',', $user_group[$member_id['user_group']]['cat_add'] ); $root_category = array (); if( $parentid == 0 ) { if( $nocat ) $returnstring .= ''; } else { $sublevelmarker .= ' '; } if( count( $cat_info ) ) { foreach ( $cat_info as $cats ) { if( $cats['parentid'] == $parentid ) $root_category[] = $cats['id']; } if( count( $root_category ) ) { foreach ( $root_category as $id ) { if( $allow_list[0] == "all" or in_array( $id, $allow_list ) ) { if( $spec_list[0] == "all" or in_array( $id, $spec_list ) ) $color = "black"; else $color = "red"; $returnstring .= $sublevelmarker . "<input id="catlist_".$id."" onchange="onCategoryChange(this.value)" name="catlist[]" type="checkbox" value="".$id."" "; if( is_array( $categoryid ) ) { foreach ( $categoryid as $element ) { if( $element == $id ) $returnstring .= ' CHECKED '; } } elseif( $categoryid == $id ) $returnstring .= ' CHECKED '; $returnstring .= '/><label for="catlist_".$id."" style="color: {$color}">' . $cat_info[$id]['name'] . '</label><br />'; } $returnstring = CategoryNewsSelection( $categoryid, $id, $nocat, $sublevelmarker, $returnstring ); } } } return $returnstring;}
Найти:
$returnstring .= $sublevelmarker . "<input id="catlist_".$id."" onchange="onCategoryChange(this.value)" name="catlist[]" type="checkbox" value="".$id."" ";
Заменить на
$returnstring .= "<div style="float:left;width:200px;"><input id="catlist_".$id."" onchange="onCategoryChange(this.value)" name="catlist[]" type="checkbox" value="".$id."" ";
Найти строку:
$returnstring .= '/><label for="catlist_".$id."" style="color: {$color}">' . $cat_info[$id]['name'] . '</label><br />';
Заменить на:
$returnstring .= '/><label for="catlist_".$id."" style="color: {$color}">' . $cat_info[$id]['name'] . '</label></div>';
2. Открыть файл engine/modules/addnews.php
Заменить:
$tpl->set( '{category}', $cats );
На:
$tpl->set( '{category}', $categories_list );
Все.