SMF HELP!

SMF Help! - For Users SMF/TP => Style - Problemy, Integracje, Modyfikacje styli => Wątek zaczęty przez: tomeh 02.09.2009 21:22:33



Tytuł: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: tomeh 02.09.2009 21:22:33
Jak dodać     Top Stats do innej skórki niż default - prosze o pomoc

link do moda http://custom.simplemachines.org/mods/index.php?mod=1687 (http://custom.simplemachines.org/mods/index.php?mod=1687)


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: tomeh 04.09.2009 00:10:57
Poradziłem se w większej mierze tam gdzie mod pisze opis ręcznej instalacji - tylko za długie są daty. Draco jak ty to zrobiłeś że daty  u ciebie są krótsze w tym modzie?


EDIT: ok w ustawianiach wyłączamy na przykład rok i jest zmieszczone w ramki wszystko. Jak ktoś ma problem z modem niech pisze pomogę o ile zdołam.


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: roco 08.09.2009 13:12:35
Można w opcjach forum w PA ustawić sobie krótszą datę globalnie. Można również dłubnąć w samej modyfikacji.
Cieszę się, że poradziłeś sobie Tomeh, jak widzę robisz postępy ;)

Pozdrawiam :)
roco


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: tomeh 27.10.2009 22:21:03
A mam takie pytanie.

W tym modzie by mi zależało na tym aby były tylko 2 kolumny. Pierwsza to te ostatnie tematy a druga z boku tak sama duża to tematy co maja najwięcej wyświetlań.  Aby były tylko te 2 kolumny na powiedzmy 20 tematów. Pozostałe kolumny usunąć z widzenia czy się da?

(http://img2.vpx.pl/up/20091027/ind.jpg) (http://www.vpx.pl/foto,ind1.html)

W kolumnie nowej chodzi tylko o tytyły i ilosc wyświetlań tak samo jak w tym małym okienu a w oknie tym nowe wiadomości o to aby nazwy były bardziej długie czyli ścieśnić kolumnę z nazwami użytkowników i usunąć sekundy, miesiące i lata napisania aby było to czytelne w nazwach tematów.


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: Draco 30.10.2009 22:52:37
Zapewne się da usunąć tylko będzie się to wiązało z modyfikacją kodu od modyfikacji. Jeżeli chodzi o krótszą wyświetlaną datę to nie musisz usuwać roku, tylko odpowiednio skonfigurować format wyświetlanej daty w Panelu Administracyjnym. Przy: DOMYŚLNY FORMAT CZASU masz znak zapytania. Kliknij na niego i masz ładnie opisane jakie wstawić znaki aby data wyświetlała się tak jak chcesz. Ilość konfiguracji formatu wyświetlania daty jest na prawdę duża.


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: tomeh 31.10.2009 12:34:45
Z datą nie ma problemu tylko z tymi tabelami bo bardzo bym chciał mieć takie coś na forum.


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: tomeh 31.10.2009 12:35:06
Z datą nie ma problemu tylko z tymi tabelami.


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: Draco 01.11.2009 11:23:07
Czyli jesli dobrze rozumiem chcesz miec 2 kolumny: po jednej stronie kolumny z tematami. ktore sa najczesciej wyswietlane a po drugiej stronie liste najnowszych tematow?


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: tomeh 01.11.2009 12:01:57
witaj,  tak o to mi chodzi.


Tytuł: Odp: Jak dodać Top Stats do innej skórki niż default ?
Wiadomość wysłana przez: roco 01.11.2009 19:08:33
Witam! :)

Pojawię się na poważniej dopiero po grobkach, okay?

Dzięki Draco za przejaśnienie. Ciężko było sqmać co miał na myśli Tomeh.

Ja to rozumiem tak:

- Jest tabela z grubsza podzielona na dwie części (lewa i prawa)
To tu w zamyśle Tomka było zamienić je miejscami.


- Prawa część tabeli, (która ma być po lewej), składa się z 3 komórek:

1 - ostatni Topik
2 - Autor
3 - Data

To tu komórka Nr.2 (czyli Autor) --> wylatuje i zostaje tylko 1 i 3


- Lewa strona tabeli, (która ma docelowo być po prawej)
ma zawierać tylko TOP 10 tematów pod względem oglądalności i docelowo ma mieć tylko 2 komórki
czyli:

1 - Topik (o największej oglądalności)

2 - Autor --> do wycięcia

3 - Ilość wyświetleń

Czyli reasumując kształt ostateczny ma być taki

Statystyki forum
Ostatnie wiadomości            Top 10 Topics (by Views)
   Wiadomość               Data             Temat                Wyświetleń   

Zresztą tak to zrobiłem (fota w załączniku)

Dodatkowo
- poprawiłem wyświetlanie, czyli odstępy wielkość fonta, grafiki, i w lewej części jest wydłużona nazwa, natomiast tam gdzie te TOP 10 to już gościu zakombinował i dał skacacz ilości znaków do 18. Żeby to zmienić, np. ustawić tę liczbę na 50 znaków, (to w zupełności wystarczy..), to już należy wy-edytować plik z silnika SMF, tj. z katalogu Sources, plik - BoardIndex.php

Trzeba znaleźć w tym pliku wpisy od moda czyli to miejsce:

   // TopStats by www.gorselsanatlar.org (http://www.gorselsanatlar.org)

I długo poniżej będzie wpis:

GeSHi -› Code: [select]
        // Topic views top 10.
   $topic_view_result = db_query("
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.023s | speed:2.56 KB/s



I w tym wywołaniu do bazy, parę wierszy po niżej znajduje się ten ogranicznik:

GeSHi -› Code: [select]
      censorText($row_topic_views['subject']);
$row_topic_views['subject'] = shorten_subject($row_topic_views['subject'], 18);
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.023s | speed:6.43 KB/s



Widzisz na końcu liczbę 18? to tylko i wyłącznie zmień tę liczbę na 50

GeSHi -› Code: [select]
      censorText($row_topic_views['subject']);
$row_topic_views['subject'] = shorten_subject($row_topic_views['subject'], 50);
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.025s | speed:5.87 KB/s



Wtedy będziesz miał w TOP 10 dłuższą nazwę topiku.


Okay teraz i o ile dobrze Cię zrozumiałem z tą tabela i tym co ma w niej być, to pokażę Ci który kawałek kodu zamienisz na podobny ode mnie i będzie ten efekt.

Jednak zanim przejdę do rzeczy, to proponuję zadaj sobie trud i po adresie twojego forum/ dopisz - ssi_examples.php czyli: forum_tomka.pl/ssi_examples.php i dostaniesz listę funkcji SSI i zobaczysz sam, że gościu notabene Turek, bez urazy.. troszkę to ponaciągał.., a przy najmniej w twoim wypadku..

Mam niemal to samo tutaj na HOME (http://poligon.ricoroco.com/fora/smf/index1.php?action=home) - wykorzystuję funkcje SSI. Zobacz i się zastanów nad sensem tego moda, skoro można tak wiele info wyciągnąć za pomocą SSI. Wyciągnij wnioski...

A teraz do rzeczy:

W stylu default, w pliku BoardIndex.template.php znajdź wpisy od tego moda,
- a dokładnie od tego miejsca (u mnie to około ~ 282 linii):

GeSHi -› Code: [select]
        //top stats start. by [url=http://www.gorselsanatlar.org]www.gorselsanatlar.org[/url]
// --> od powyższego miejsca
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.037s | speed:3.06 KB/s





do tego miejsca:

GeSHi -› Code: [select]
    // Here's where the "Info Center" starts...
// do --> powyższego miejsca
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.046s | speed:1.66 KB/s



I to wszystko, cały zawarty tam kod, czyli pomiędzy tymi // komentarzami:

GeSHi -› Code: [select]
        //top stats start. by [url=http://www.gorselsanatlar.org]www.gorselsanatlar.org[/url]
    echo &#39;<br />
    <div class="tborder" &#39;, $context[&#39;browser&#39;][&#39;needs_size_fix&#39;] && !$context[&#39;browser&#39;][&#39;is_ie6&#39;] ? &#39;style="width: 100%;"&#39; : &#39;&#39;, &#39;>
        <div class="catbg" style="padding: 6px; vertical-align: middle; text-align: center; ">
            <a href="#" onclick="shrinkHeaderTOPS(!current_header_tops); return false;"><img id="upshrink_tops" src="&#39;, $settings[&#39;images_url&#39;], &#39;/&#39;, empty($options[&#39;collapse_header_tops&#39;]) ? &#39;collapse.gif&#39; : &#39;expand.gif&#39;, &#39;" alt="*" title="&#39;, $txt[&#39;upshrink_description&#39;], &#39;" style="margin-right: 2ex;" align="right" /></a>
            &#39;, $txt[645], &#39;
                    </div>
        <div id="upshrinkHeaderTOPS"&#39;, empty($options[&#39;collapse_header_tops&#39;]) ? &#39;&#39; : &#39; style="display: none;"&#39;, &#39;>
 <table border="0" width="100%" cellspacing="1" cellpadding="2" class="bordercolor">

    <tr>
        <td class="titlebg" width="10%" colspan="2" align="center">&#39;, $txt[302], &#39; &#39;, $txt[331], &#39;</td>
       <td class="titlebg" width="24%" colspan="2" align="center">&#39;, $txt[&#39;top_topics_views&#39;], &#39;</td>
       <td class="titlebg" width="66%" colspan="3" align="center">&#39;, $txt[214], &#39;</td>
   </tr>
    <tr>
        <td class="windowbg2" width="10%" colspan="2" valign="top"><span class="smalltext"><b>&#39;, $txt[&#39;user&#39;], &#39;</b></span><br />&#39;;
                 foreach ($context[&#39;new_members&#39;] as $poster)
       {
         echo &#39;
        <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/icons/online.gif&#39;, &#39;" width="12" height="12" />
        <span class="smalltext">&#39;,$poster[&#39;link&#39;], &#39;</span><br />&#39;;
       }
        echo &#39;
       </td>
        <td class="windowbg2" width="18%" valign="top"><span class="smalltext"><b>&#39;, $txt[64], &#39;</b></span><br />&#39;;
           foreach ($context[&#39;top_topics_views&#39;] as $topic)
       echo &#39;
       <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/email_sm.gif&#39;, &#39;" width="12" />
        <span class="smalltext">&#39;, $topic[&#39;link&#39;], &#39;</span><br />&#39;;  
       echo &#39;</td>
       <td class="windowbg2" width="6%" align="right" valign="top"><span class="smalltext"><b>&#39;, $txt[301], &#39;</b></span><br />&#39;;
           foreach ($context[&#39;top_topics_views&#39;] as $topic)
       echo &#39;
       <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/sort_up.gif" width="8" />      
        <span class="smalltext">&#39;, $topic[&#39;num_views&#39;], &#39;</span><br />&#39;;
       echo &#39;</td>
       <td class="windowbg2" width="22%" rowspan="3" valign="top"><span class="smalltext"><b>&#39;, $txt[64], &#39;</b></span><br />&#39;;
           if (!empty($context[&#39;latest_posts&#39;]))
           foreach ($context[&#39;latest_posts&#39;] as $post)
       echo &#39;
       <img src="&#39;, $settings[&#39;images_url&#39;], &#39;/email_sm.gif&#39;, &#39;" width="12" alt="" />
        <span class="smalltext"><a href="&#39;,$post[&#39;href&#39;],&#39;">&#39;, $post[&#39;short_subject&#39;], &#39;</a></span><br />&#39;;
       echo &#39;</td>
       <td class="windowbg2" width="14%" rowspan="3" valign="top"><span class="smalltext"><b>&#39;, $txt[29], &#39;</b></span><br />&#39;;
           if (!empty($context[&#39;latest_posts&#39;]))
           foreach ($context[&#39;latest_posts&#39;] as $post)
       echo &#39;
       <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/icons/online.gif&#39;, &#39;" width="12" height="12" />
        <span class="smalltext">&#39;, $post[&#39;poster&#39;][&#39;link&#39;], &#39;</span><br />&#39;;
       echo&#39;
       </td>
        <td class="windowbg2" width="20%" rowspan="3" valign="top"><span class="smalltext"><b>&#39;, $txt[317], &#39;</b></span><br />&#39;;
           if (!empty($context[&#39;latest_posts&#39;]))
           foreach ($context[&#39;latest_posts&#39;] as $post)
           echo &#39;
           <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/icons/calendar.gif&#39;, &#39;" width="12" />
            <span class="smalltext">&#39;, $post[&#39;time&#39;], &#39;</span><br />&#39;;
       echo &#39;</td>
   </tr>
    <tr>
        <td class="titlebg" width="20%" colspan="2" align="center">&#39;, $txt[&#39;top_posters&#39;], &#39;</td>
       <td class="titlebg" width="24%" colspan="2" align="center">&#39;, $txt[&#39;top_topics&#39;], &#39;</td>
   </tr>
    <tr>
        <td class="windowbg2" width="14%" valign="top"><span class="smalltext"><b>&#39;, $txt[&#39;user&#39;], &#39;</b></span><br />&#39;;
           foreach ($context[&#39;top_posters&#39;] as $poster)
       echo &#39;
     <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/icons/online.gif&#39;, &#39;" width="12" height="12" />
        <span class="smalltext">&#39;, $poster[&#39;link&#39;], &#39;</span><br />&#39;;
       echo &#39;</td>
       <td class="windowbg2" valign="top" align="right" width="6%"><span class="smalltext"><b>&#39;, $txt[21], &#39;</b></span><br />&#39;;
           foreach ($context[&#39;top_posters&#39;] as $poster)  
       echo &#39;
       <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/sort_up.gif" width="8" />
        <span class="smalltext">&#39;, $poster[&#39;num_posts&#39;], &#39;</span><br />&#39;;
       echo &#39;</td>
       <td class="windowbg2" valign="top" width="18%"><span class="smalltext"><b>&#39;, $txt[&#39;user&#39;], &#39;</b></span><br />&#39;;
           foreach ($context[&#39;top_starters&#39;] as $poster)
       echo &#39;
       <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/icons/online.gif&#39;, &#39;" width="12" height="12" />
        <span class="smalltext">&#39;, $poster[&#39;link&#39;], &#39;</span><br />&#39;;
       echo &#39;</td>
       <td class="windowbg2" valign="top" align="right" width="6%"><span class="smalltext"><b>&#39;, $txt[64], &#39;</b></span><br />&#39;;
          foreach ($context[&#39;top_starters&#39;] as $poster)
       echo &#39;
       <img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/sort_up.gif" width="8" />  
        <span class="smalltext">&#39;, $poster[&#39;num_topics&#39;], &#39;</span><br />&#39;;
       echo &#39;</td>
   </tr>
    </table>
    </div>
</div>&#39;;

    // Here&#39;s where the "Info Center" starts...
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.077s | speed:83.78 KB/s



--->> zamień w całości na ten kod:

GeSHi -› Code: [select]
        //top stats start. by [url=http://www.gorselsanatlar.org]www.gorselsanatlar.org[/url]
    echo &#39;<br />
    <div class="tborder" &#39;, $context[&#39;browser&#39;][&#39;needs_size_fix&#39;] && !$context[&#39;browser&#39;][&#39;is_ie6&#39;] ? &#39;style="width: 100%;"&#39; : &#39;&#39;, &#39;>
        <div class="catbg" style="padding: 6px; vertical-align: middle; text-align: center; ">
            <a href="#" onclick="shrinkHeaderTOPS(!current_header_tops); return false;"><img id="upshrink_tops" src="&#39;, $settings[&#39;images_url&#39;], &#39;/&#39;, empty($options[&#39;collapse_header_tops&#39;]) ? &#39;collapse.gif&#39; : &#39;expand.gif&#39;, &#39;" alt="*" title="&#39;, $txt[&#39;upshrink_description&#39;], &#39;" style="margin-right: 2ex;" align="right" /></a>
            &#39;, $txt[645], &#39;</div>
        <div id="upshrinkHeaderTOPS"&#39;, empty($options[&#39;collapse_header_tops&#39;]) ? &#39;&#39; : &#39; style="display: none;"&#39;, &#39;>
    <table width="100%" cellspacing="1" cellpadding="2" class="bordercolor">
        <tr>&#39;;

    echo &#39;
            <td class="titlebg" width="66%" colspan="2" align="center" style="border-right:2px solid #ddd;">&#39;, $txt[214], &#39;</td>
            <td class="titlebg" width="44%" colspan="2" align="center">&#39;, $txt[&#39;top_topics_views&#39;], &#39;</td>
        </tr>
        <tr>&#39;;

    echo &#39;
            <td class="windowbg2" style="min-width:50%; vertical-align:top;"><span class="smalltext" style="margin-left:15px; font-size:8pt; font-weight:500;"><b>&#39;, $txt[72], &#39;</b></span><br />&#39;;
            if (!empty($context[&#39;latest_posts&#39;]))
                foreach ($context[&#39;latest_posts&#39;] as $post)
        echo &#39;
                <span style="font-size:8pt; font-weight:500; white-space:nowrap;"><a href="&#39;,$post[&#39;href&#39;],&#39;"><img src="&#39;, $settings[&#39;images_url&#39;], &#39;/email_sm.gif&#39;, &#39;" style="height:14px; vertical-align:middle;" alt="Last Post" />&#39;, $post[&#39;subject&#39;], &#39;</a></span><br />&#39;;

    echo&#39;
            </td>
            <td class="windowbg2" style="border-right:2px solid #ddd; max-width:10%; vertical-align:top;"><span style="margin-left:20px; font-size:8pt;"><b>&#39;, $txt[317], &#39;</b></span><br />&#39;;
            if (!empty($context[&#39;latest_posts&#39;]))
                foreach ($context[&#39;latest_posts&#39;] as $post)
        echo &#39;
                <span style="margin-left:5px; font-size:8pt; font-weight:500;"><img alt="Data" style="height:14px; vertical-align:middle;" src="&#39;, $settings[&#39;images_url&#39;], &#39;/icons/last_post.gif&#39;, &#39;" />&#39;, $post[&#39;time&#39;], &#39;</span><br />&#39;;

    echo &#39;</td>
            <td class="windowbg2" style="min-width:30%; vertical-align:top;"><span style="margin-left:15px; font-size:8pt; font-weight:500;"><b>&#39;, $txt[70], &#39;</b></span><br />&#39;;
                foreach ($context[&#39;top_topics_views&#39;] as $topic)
        echo &#39;
                <span style="font-size:8pt; font-weight:500;"><img alt="Topic" src="&#39;, $settings[&#39;images_url&#39;], &#39;/email_sm.gif&#39;, &#39;" style="height:14px; vertical-align:middle;" />&#39;, $topic[&#39;link&#39;], &#39;</span><br />&#39;;

    echo &#39;</td>
            <td class="windowbg2" align="center" style="width:auto; vertical-align:top;"><span style="font-size:8pt; font-weight:500;"><b>&#39;, $txt[301], &#39;</b></span><br />&#39;;
                foreach ($context[&#39;top_topics_views&#39;] as $topic)
        echo &#39;
                <span style="line-height:1.4em; font-size:8pt; font-weight:700;"><img alt="" src="&#39;, $settings[&#39;images_url&#39;], &#39;/sort_up.gif" style="vertical-align:middle;" /> &#39;, $topic[&#39;num_views&#39;], &#39;</span><br />&#39;;

    echo &#39;</td>
        </tr>
    </table>
    </div>
</div>&#39;;

    // Here&#39;s where the "Info Center" starts...
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.077s | speed:46.98 KB/s



Jak widzisz podałem to łącznie z komentarzami, ale to dla lepszego trafienia ;)
Tomeh, podałem to naprawdę prosto, łatwizna i spoko dasz radę, okay?
I nie nadpisuj plików na servie tylko zmień straym nazwę przed wrzuceniem na FTP zmienionych plików, spoko?
Edytuj tylko edytorem do kogu php z podświetlaniem składni np. Notepad++

Posłuchasz rad to max w 3 - 5 minut z wgraniem na serva.. tyle to pracy przy tym..

Pozdrawiam i na zdrowie, jak co to pisz :)
roco