mvArts Posted July 25, 2013 Share Posted July 25, 2013 Сообсвенно вопрос, как скрыть все информацию в профиле админа. только аватар и имя. какие надо теги прописать что бы было видно все профили кроме админв Link to comment Share on other sites More sharing options...
siv1987 Posted July 25, 2013 Share Posted July 25, 2013 Никак. Единственный вариант - запретить просмотр профилей администраторов.Есть еще вариант с добавлением условий в шаблоне профиля, но судя по всему, самостоятельно вы с ним врядли разберетесь. Кроме того, есть еще вероятность что пользователь сменит стиль где эти условия не прописаны и сможет узнать всю секретную информацию об администраторе. 1 Link to comment Share on other sites More sharing options...
mvArts Posted July 25, 2013 Author Share Posted July 25, 2013 Кроме того, есть еще вероятность что пользователь сменит стиль где эти условия не прописаны и сможет узнать всю секретную информацию об администраторов. Это не важно. Нужно только на том шаблоне который я делаю.Единственный вариант - запретить просмотр профилей администраторов.и как это сделать? в админке есть? я смотрел не нашелЕсть еще вариант с добавлением условий в шаблоне профиля, но судя по всему, самостоятельно вы с ним врядли разберетесь. если профиль id=1 то скрыть соержиое если нет то показать как то так надо. Link to comment Share on other sites More sharing options...
siv1987 Posted July 25, 2013 Share Posted July 25, 2013 если профиль id=1 то скрыть соержиое если нет то показать как то так надо. Открыть \admin\applications\members\modules_public\profile\view.php Найти if ( !$this->memberData['g_mem_info'] && ( $this->memberData['member_id'] != $member['member_id'] ) ) { $this->registry->output->showError( 'profiles_off', 10245, null, null, 403 ); } Ниже добавить if( ! $this->memberData['g_access_cp'] AND $member['g_access_cp'] ) { $this->registry->output->showError( 'profiles_off', 10245.1, null, null, 403 ); } Это запретит всем не администраторам просматривать профили администраторов. Администраторы - это те кто имеют доступ в АЦ 2 Link to comment Share on other sites More sharing options...
mvArts Posted July 27, 2013 Author Share Posted July 27, 2013 а можно как то оставить только имя на старнице? Link to comment Share on other sites More sharing options...
siv1987 Posted July 27, 2013 Share Posted July 27, 2013 а можно как то оставить только имя на старнице?А смысл? I. Первый вариант - добавить условия в шаблоне, убрав таким способом ненужные элементы. II. Второй вариант - создать отдельный шаблон со своей версткой. Мне ближе и проще именно этот способ.Внешний Вид -> Шаблон -> Добавить новыйНазвание шаблона: profileModern_2Добавить в группу: skin_profileПеременные данных: $member HTML код шаблона: {parse js_module="status"} {parse js_module="rating"} {parse js_module="profile"} <script type='text/javascript'> //<![CDATA[ ipb.profile.viewingProfile = parseInt( {$member['member_id']} ); <if test="$this->memberData['member_id']"> ipb.templates['remove_friend'] = "<a href='{parse url="app=members§ion=friends&module=profile&do=remove&member_id={$member['member_id']}" base="public"}' title='{$this->lang->words['remove_as_friend']}'><img src='{$this->settings['img_url']}/user_delete.png' alt='{$this->lang->words['remove_as_friend']}' /> {$this->lang->words['remove_as_friend']}</a>"; ipb.templates['add_friend'] = "<a href='{parse url="app=members§ion=friends&module=profile&do=add&member_id={$member['member_id']}" base="public"}' title='{$this->lang->words['add_me_friend']}'><img src='{$this->settings['img_url']}/user_add.png' alt='{$this->lang->words['add_me_friend']}' /> {$this->lang->words['add_me_friend']}</a>"; </if> ipb.templates['edit_status'] = "<span id='edit_status'><input type='text' class='input_text' style='width: 60%' id='updated_status' maxlength='150' /> <input type='submit' value='{$this->lang->words['save']}' class='input_submit' id='save_status' /> <a href='#' id='cancel_status' class='cancel' title='{$this->lang->words['cancel']}'>{$this->lang->words['cancel']}</a></span>"; <if test="friendsEnabled:|:$this->settings['friends_enabled'] AND $this->memberData['g_can_add_friends']"> <if test="jsIsFriend:|:IPSMember::checkFriendStatus( $member['member_id'] )"> ipb.profile.isFriend = true; <else /> ipb.profile.isFriend = false; </if> </if> //]]> </script> <if test="hasCustomization:|:is_array($member['customization']) AND $member['customization']['type']"> {parse template="customizeProfile" group="profile" params="$member"} </if> <div class='ipsBox clear vcard' id='profile_background'> <div class='ipsVerticalTabbed ipsLayout ipsLayout_withleft ipsLayout_smallleft clearfix'> <div class='ipsVerticalTabbed_tabs ipsLayout_left' id='profile_tabs'> <p class='short photo_holder'> <img class="ipsUserPhoto" id='profile_photo' src='{$member['pp_main_photo']}' alt="{parse expression="sprintf($this->lang->words['users_photo'], $member['members_display_name'])"}" /> </p> </div> <div class='ipsVerticalTabbed_content ipsLayout_content ipsBox_container' id='profile_content'> <div class='ipsPad'> <div id='profile_content_main'> <div id='user_info_cell'> <h1 class='ipsType_pagetitle'> <span class='fn nickname'>{$member['members_display_name']}</span> </h1> {$this->lang->words['m_member_since']} {parse date="$member['joined']" format="DATE"}<br /> <if test="onlineDetails:|:$member['_online'] && ($member['online_extra'] != $this->lang->words['not_online'])"> <span class='ipsBadge ipsBadge_green reset_cursor' data-tooltip="{parse expression="strip_tags($member['online_extra'])"}">{$this->lang->words['online_online']}</span> <else /> <span class='ipsBadge ipsBadge_lightgrey reset_cursor'>{$this->lang->words['online_offline']}</span> </if> </div> </div> </div> </div> </div> </div> <!-- ******************************************************************************************* --> {parse template="include_highlighter" group="global" params=""} В admin\applications\members\modules_public\profile\view.phpвместо кода из предыдущего сообщения, добавить этот: if( ! $this->memberData['g_access_cp'] AND $member['g_access_cp'] ) { $member = IPSMember::buildDisplayData( $member ); $this->request['member_id'] = intval( $this->request['showuser'] ); $this->member_name = $member['members_display_name']; $this->DB->insert( 'profile_portal_views', array( 'views_member_id' => $member['member_id'] ), true ); $this->output = $this->registry->getClass('output')->getTemplate('profile')->profileModern_2( $member ); return; } 1 Link to comment Share on other sites More sharing options...
mvArts Posted July 27, 2013 Author Share Posted July 27, 2013 А смысл?Сам главный администратор не хочет выдавать свои данные. хочет как на вк скрытые профили только с именем. как тебя отблагодарить? Link to comment Share on other sites More sharing options...
siv1987 Posted July 27, 2013 Share Posted July 27, 2013 Осталось только заменить {$member['pp_main_photo']} на http://vk.com/images/deactivated_an.png и вставить надпись по середине и в точь будет как на ВК. 1 Link to comment Share on other sites More sharing options...
siv1987 Posted July 28, 2013 Share Posted July 28, 2013 хочет как на вк скрытые профили только с именем.Ну и для полного счастья - поддержка друзей, они тоже смогут просматривать закрытый профиль. if( ! $this->memberData['g_access_cp'] AND $member['g_access_cp'] ) { $isFriend = false; if( $this->memberData['member_id'] ) { $row = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as cnt', 'from' => 'profile_friends', 'where' => 'friends_member_id='.intval( $member['member_id'] ).' AND friends_friend_id='.$this->memberData['member_id'].' AND friends_approved=1', 'limit' => array(0,1) ) ); $isFriend = ( $row['cnt'] ) ? true : false; } if( ! $isFriend ) { $member = IPSMember::buildDisplayData( $member ); $this->request['member_id'] = intval( $this->request['showuser'] ); $this->member_name = $member['members_display_name']; $this->DB->insert( 'profile_portal_views', array( 'views_member_id' => $member['member_id'] ), true ); $this->output = $this->registry->getClass('output')->getTemplate('profile')->profileModern_2( $member ); return; } } В профиле только включить "Модерировать запросы на дружбу". Иначе будут добавляться друзья на автомате. как тебя отблагодарить?WebMoney, Donate... 1 Link to comment Share on other sites More sharing options...
mvArts Posted August 1, 2013 Author Share Posted August 1, 2013 а как сделать как тут? типо только у главных администраторов ничего нет Link to comment Share on other sites More sharing options...
newbie Posted August 1, 2013 Share Posted August 1, 2013 <if test="!$author['g_access_cp']">то, что будет отображаться у юзеров, а у админов(точнее юзеров, имеющих доступ в АЦ) скрыто</if>Шаблон userInfoPane 3 1 Link to comment Share on other sites More sharing options...
mvArts Posted August 1, 2013 Author Share Posted August 1, 2013 спасибо) нечайно минус постввил( хотел плюс Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now