Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Mdx91

Użytkownik
  • Postów

    1 050
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Mdx91

  1. W tym tutorialu opiszę jak zmienić wygląd "Najaktywniejszych użytkowników dzisiaj" (Today's Top 20 Posters).

    Nowy wygląd prezentuje się tak:

    prQYq.jpg

    Nie zwracać uwagi na niespolszczone frazy! SS z testowego forum!

    To do roboty :D

    Wchodzimy w ACP --> Wygląd --> Style i Szablony --> [Nazwa naszego stylu] --> Szablony --> "Dodaj nowy bit"

    Wpisujemy jak poniżej:

    pre_1403879436__schowek02.jpg

    Nazwa bitu szablonu: userPhotoTPosters

    Dodaj do grupy: skin_global

    Zmienne: $member=array()

    W stworzony szablon wklejamy poniższy kod:

    <if test="linkAvatarOpen:|:$member['member_id'] && ( $this->memberData['g_is_supmod'] || ($this->memberData['g_mem_info'] && ! IPSMember::isInactive($member) ) )">
    	<a href='{parse url="showuser={$member['member_id']}" template="showuser" seotitle="{$member['members_seo_name']}" base="public"}' class='ipsUserPhoto_TPosters'>
    <else />
    	<div class='left'>
    </if>
    <if test="hasphoto:|:$member['member_id']">
    	<img src='{$member['pp_small_photo']}' alt='<if test="hasAlt:|:$member['alt']">{$member['alt']}<else />{$this->lang->words['photo']}</if>' class='ipsUserPhoto_TPosters <if test="hasCustomClass:|:empty($member['_customClass'])">ipsUserPhoto_TPosters_normal<else />{$member['_customClass']}</if>' />
    <else />
    	{IPSMember::buildNoPhoto(0, 'mini' )}
    </if>
    <if test="linkAvatarClose:|:$member['member_id'] && ( $this->memberData['g_is_supmod'] || ($this->memberData['g_mem_info'] && ! IPSMember::isInactive($member) ) )">
    	</a>
    <else />
    	</div>
    </if>

    Zapisujemy :)

    Przechodzimy do zakładki CSS --> ipb_styles.css

    Na końcu dodajemy:

    /********************************************************/
    /* Top Posters Today MDX									*/
    .main_today_posters {
          text-align:center;
          vertical-align:top;
          padding: 4px;
          margin: 4px;
          display:inline-block;
          overflow:hidden;
    }
    
    .main_today_posters .uavatar {
          margin:5px;
          font-weight: bold;
    }
    
    .main_today_posters .nick {
          margin:5px;
          font-weight: bold;
    font-size: 16px;
    }
    
    .main_today_posters .tpost {
          margin:5px;
          font-weight: bold;
    font-size: 12px;
    }
    
    .main_today_posters .tpost_percent {
          margin:5px;
          font-weight: normal;
    font-size: 12px;
    }
    
    .main_today_posters .join {
          margin:5px;
          font-weight: normal;
    font-size: 11px;
    }
    
    .mdx_skin { float: right; padding-top: 4px; font-size: 11px;}
    .mdx_skin a { font-weight: bold;  }
    .mdx_skin a:hover { text-decoration: underline; font-weight: bold;  }
    
    .ipsUserPhoto_TPosters {
    	padding: 1px;
    	border: 1px solid #d5d5d5;
    	background: #fff;
    	-webkit-box-shadow: 0px 2px 2px rgba(0,0,0,0.1);
    	-moz-box-shadow: 0px 2px 2px rgba(0,0,0,0.1);
    	box-shadow: 0px 2px 2px rgba(0,0,0,0.1);
    }
    	
    	.ipsUserPhoto_TPosters:hover .ipsUserPhoto_TPosters {
    		border-color: #7d7d7d;
    	}
    
    	.ipsUserPhoto_TPosters_normal { width: 100px; height: 100px; }

    Przechodzimy z powrotem do zakładki Szablony --> Statystyki --> bit "top_posters"

    Zamieniamy cały kod na poniższy:

    <div class='category_block block_wrap clear'>
    
    	<div class='ipsFilterbar maintitle'>{$this->lang->words['todays_posters']}</div>
    	
    	<div class='category_block block_wrap clear'>
        <div class='ipsBox table_wrap'>
            <div class='ipsBox_container short'>
    	
    		<foreach loop="topposters:$rows as $info">
    		
               
                            <div class='main_today_posters'>
    							<div class='uavatar'>						
                                {parse template="userPhotoTPosters" group="global" params="$info"}
                                </div>
                                <div class='nick'>
    							{parse template="userHoverCard" group="global" params="$info"}
    							</div>
    							
    							<div class='tpost'>
    							{$this->lang->words['member_today']} - {parse format_number="$info['tpost']"}
                                </div>
    							
    							<div class='tpost_percent'>
    							{$info['today_pct']}% {$this->lang->words['member_percent_mdx']}
                                </div>
    							
                                <div class='join'>
    							{$this->lang->words['member_joined']} - {parse date="$info['joined']" format="joined"}
    							</div> 
                            </div>
            </foreach>
            </div>   
        
    	</div>
    			<div class='mdx_skin'>Designed by <a href="http://ponawijaj.pl/index.php/user/2-mdx/">Mdx</a></div>
    
    	</div>
    </div> 

    Przechodzimy do: ACP --> Wygląd --> Tłumaczenia --> Polski --> Dodaj frazę

    Wypełniamy jak poniżej:

    LulyM.jpg

    Aplikacja: Forums

    Nazwa paczki: public_stats

    Klucz: member_percent_mdx

    Domyślny tekst: dzisiejszych postów

    Po tych operacjach cieszymy się nowym wyglądem ;)

  2. W tym tutorialu opiszę jak dodać pod każdym postem przycisk Ostrzeżenie/Warn (widoczny dla grup) który ułatwi nam dawanie ostrzeżenia za konkretny post.


    Konfiguracja
    Wchodzimy w ACP --> Wygląd --> Style i Szablony --> Nazwa naszego stylu --> Szablony --> Widok tematu --> (bit) post

    Wyszukujemy (Ctrl+f) kodu:
     

     <if test="canEdit:|:$post['post']['_can_edit'] === TRUE"> <li class='post_edit'><a href='{parse url="module=post&section=post&do=edit_post&f={$topic['forum_id']}&t={$topic['tid']}&p={$post['post']['pid']}&st={$this->request['st']}" base="publicWithApp"}' title='{$this->lang->words['post_edit_title']}' class='edit_post' id='edit_post_{$post['post']['pid']}'><img src="{style_images_url}/comment_edit.png" alt="" /> {$this->lang->words['post_edit']}</a></li></if>

    I zaraz po nim wklejamy:
     

     <if test="in_array( $this->memberData['member_group_id'], array( 4, 6 ) )"> <li class='top'> <a href='{parse url="app=members&module=profile&section=warnings&member={$post['author']['member_id']}&from_app={$this->request['app']}&from_id1={$post['post']['pid']}&from_id2={$options['id2']}" base="public"}' id='warn_link_{$contentid}_{$post['author']['member_id']}' title='Ostrze� usera'><img src="{style_images_url}/warn.png" /> Warn</a> </li> </if>

    Kod przycisku wstawiamy w miejscu którym chcemy jak np. przed przyciskiem cytatu, przed przyciskiem Edytuj (w tutorialu miejsce wstawienia jest przypadkowe!).


    Teraz opiszę kod :)
     

     <if test="in_array( $this->memberData['member_group_id'], array( 4, 6 ) )">

    Cyfry 4 i 6 są to identyfikatory grup. Służą nam do dodawania/odejmowania grup które widzą przycisk (w przykładzie domyślnie Administrator i Moderator)! Każdy identyfikator grupy dodajemy po przecinku!

     <a href='{parse url="app=members&module=profile&section=warnings&member={$post['author']['member_id']}&from_app={$this->request['app']}&from_id1={$post['post']['pid']}&from_id2={$options['id2']}" base="public"}' id='warn_link_{$contentid}_{$post['author']['member_id']}' title='Ostrze� usera'><img src="{style_images_url}/warn.png" /> Warn</a>

    Początek kodu jest ścieżką do ostrzeżeń (nie zmieniaj!).
    Znacznik title służy do nadania tytułu linka.

    Znacznik:

     <img src="{style_images_url}/warn.png" />

    służy do wyświetlania obrazka obok przycisku. {style_images_url} jest ścieżką stylu którego używa użytkownik (w przypadku większej ilości stylów trzeba wgrać obrazek do każdego folderu: public_html/public/style_images/NAZWA STYLU/warn.png (obrazek w załączniku).


    Koniec kodu w przykładzie wygląda następująco:

     Warn</a>

    Słowo Warn będzie służyło jako "nazwa" przycisku (można zmodyfikować do własnych potrzeb).



    Efekt końcowy:
    pre_1381355874__clipboard02.jpg



    Działanie

    Po kliknięci przycisku zostajemy skierowani do ostrzeżeń Użytkownika. Następnie klikamy "Ostrzeż Użytkownika". W podglądzie (dla Moderatorów i Użytkownika ostrzeganego) będzie widniał link do posta za który User otrzymał ostrzeżenie.



    Autorem tutoriala jest Mdx (Mdx91) z dużą pomocą DawPi. Zabrania się kopiowania, powielania. W szczególności na inne fora bez zgody autora.

    Tutorial wykonany dla www.forum.invisionize.pl

  3. Przechodzimy do:

    ACP ---> Wygląd i Szablony --->Zarządzaj stylami i szablonami ---> IP. Board Mobile ---> Główne szablony ---> globalTemplate

     

     

    Wyszukujemy (Ctrl+F) kodu:

    <li id='nav_vnc'><a href='{parse url="app=core&module=search&do=viewNewContent&search_app=<if test="viewnewcontentapp:|:$this->registry->getCurrentApplication() != 'core' AND IPSLib::appIsSearchable( $this->registry->getCurrentApplication() )">{$this->registry->getCurrentApplication()}<else />forums</if>" base="public"}' accesskey='2'><span class='icon'></span>{$this->lang->words['mobile_view_new_posts']}</a></li>
    
    

    I dodajemy zaraz po nim:

    <li id='nav_vnc'><a href="{parse url="app=core&module=search&do=user_activity&mid={$this->memberData['member_id']}" base="public"}" title="{$this->lang->words['my_content_link']}"><span class='icon'></span>{$this->lang->words['my_content_link']}</a></li>
    					
    

    Efekt końcowy:

    pre_1380988821__clipboard02.jpg

  4. Przechodzimy do:

    ACP ---> Wygląd i Szablony --->Zarządzaj stylami i szablonami ---> IP. Board Mobile ---> Strona główna ---> boardIndexTemplate

     

     

    Wyszukujemy (Ctrl+F) kodu:

    <span class='number'>{$forum_data['topics']}</span> {$this->lang->words['topics']}
    									<if test="hideDateUrl:|:! $forum_data['hide_last_info']">
    										· {$this->lang->words['last_post']} {parse date="$forum_data['last_post']" format="SHORT"}
    									</if>
    								</span>
    

    I zamieniamy na:

    <span class='number'>{$forum_data['topics']}</span> {$this->lang->words['topics']} <br />
    									<if test="hideDateUrl:|:! $forum_data['hide_last_info']">
    										 {$this->lang->words['last_post']} {parse date="$forum_data['last_post']" format="SHORT"} 
    <br /><if test="!$forum_data['last_id']"> 
                                                                    <em>{$this->lang->words['f_none']}</em>
                                                       <else />
                                                                 
                                                                     <span class='highlight_unread'>{$forum_data['last_topic_title']}</span>
    </if>
    
    <if test="lastPosterID:|:$forum_data['last_poster_id']">
                                                                                                                                                                                                                                                                                                    {$this->lang->words['by']} {parse template="userHoverCard" group="global" params="$forum_data"}
                                                                                                                                                                                                                                                                                    </if>
    									</if>
    								</span>
    

    Efekt końcowy:

    pre_1380988132__clipboard02.jpg

  5. Zaczynamy od pobrania rozszerzenia z IPS Marketplace: http://community.invisionpower.com/files/file/5393-sign-in-through-steam/

     

    Następnie wysyłamy pliki na serwer (zachowując strukturę katalogów) oraz importujemy rozszerzenie "Steam_Login.xml".

     

     

    Przechodzimy do ACP ---> System ---> Narzędzia ---> Metody logowania oraz klikamy plusik przy "Steam"

    ZOAU8.jpg

     

     

    Klikamy czerwony przycisk z napisem "Wyłączony". Przycisk powinien zmienić się na zielony z napisem "Włączony".

    OjiLW.jpg

     

     

    Gotowe!

    Teraz wystarczy zalogować/zarejestrować się dzięki Steam! :)

    sYcqV.jpg

     

  6. Użytkownicy, którzy posiadają hook (TB) Group Format 4.1.1 zainstalowany na wersji IPB 3.4.x, mogą mieć problem z wyświetlaniem "Nowej zawartości"

     

     

    Coś podobnego jak na zdjęciu:

     

    fW2pk.jpg

     

    Jeżeli masz ten problem, musisz wykonać małą edycje pliku.

     

    Przejdź do głównego katalogu swojego FTP (najczęciej "public_html"), następnie do katalogu "hooks" oraz edytuj plik "tbGfSkinSearch_xxxxx.php"

     

    public_html ---> hooks ---> tbGfSkinSearch_xxxxx.php

     

    "xxxxx" to ciag losowych znaków dołączony do pliku.

     

    Znajdź:

    $data['last_poster'] = $data['last_poster_id'] ? IPSMember::makeProfileLink( TBGroupFormat::makeNameFormatted( $data, $data['last_poster_name'], $data['last_poster_group'], 'last_poster_id' ), $data['last_poster_id'], $data['seo_last_name'] ) : $this->settings['guest_name_pre'] . $data['last_poster_name'] . $this->settings['guest_name_suf'];
    

    Zamień na:

    /*$data['last_poster'] = $data['last_poster_id'] ? IPSMember::makeProfileLink( TBGroupFormat::makeNameFormatted( $data, $data['last_poster_name'], $data['last_poster_group'], 'last_poster_id' ), $data['last_poster_id'], $data['seo_last_name'] ) : $this->settings['guest_name_pre'] . $data['last_poster_name'] . $this->settings['guest_name_suf'];*/
    

    Zapisz i wyślij ponownie plik na serwer. Odśwież stronę i wszystko będzie grało ;)

     

     

    UWAGA: Przed edycją zrób kopię pliku!

    Jest to tylko tymczasowe rozwiązanie, dopóki autor hook'a nie wprowadzi aktualizacji dla wersji 3.4.x

     

  7. Operacja zmiany nazw w górnym menu jest bardzo prosta. Poniżej wyjaśnię to krok po kroku.

    Logujemy się do Panelu Admina

    Przechodzimy do zakładki "Aplikacje i Moduły"

    7BB9R.jpg

    Klikamy button edycji po lewej stronie (na przykładzie zakładka "Forum")

    bS7gG.jpg

    Edytujemy pole "Publiczny tytuł aplikacji" i wpisujemy własną nazwę.

    wFksV.jpg

    Następnie klikamy "Zapisz"

    Po wymienionych operacjach menu górne będzie wyglądało tak jak chcemy ;)

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.