przepis na: New menu in admin panel

korekkorek

Avatar: korekkorek

2011-04-12 22:46

Witam.
Zrobiłem sobie taki mod dodający własną zakładkę w panelu admina.
Wygląda to tak:
http://img638.imageshack.us/i/admintf.jpg/

Być może komuś się przyda.

Uprzedzam krytyków, że nie jestem programmerem (wręcz odwrotnie), więc darujciesobuie texty typu" czemu tak a nie inaczej" itp.
Kod nie jest zbyt clean, ale działa i o to chodzi.
Wakacje idą, więc na "oczyszczenie" go szkoda mi czasu, toteż daję go takim jakim ja mam.

Więc zaczynamy.


============================================
1. otwieramy: templates/admin/container.tpl
============================================

tuż nad linią:
<!-- menu under_logo bar end -->


wklejamy:


<li onmouseover="return buttonClick( event, 'stats' ); buttonMouseover( event, 'stats' );"><a href="?p=stats-list"><span class="stats">$lang['Stats']</span></a></li>


======================================
2. otwieramy: lang/pl.php oraz en.php
======================================

wklejamy:

$lang['Stats'] = "Statystyki";



======================================
3. otwieramy katalog templates/admin/
======================================

tworzymy plik o nazwie: stats.tpl

o zawartości:


<!-- BEGIN STATS_HEAD -->
<table cellspacing="1" class="mainTable" id="stats">


<tbody>
<!-- END STATS_HEAD -->
<!-- BEGIN LANG_FOOT --></tbody></table><!-- END STATS_FOOT -->


<!-- BEGIN LIST_TITLE -->
<h1><img src="$config[dir_templates]admin/img/ico_stats.gif" alt="$lang[Stats]" />$lang[Stats]</h1><!-- END LIST_TITLE -->



<!-- BEGIN HEAD -->
<table id="list" class="stats" cellspacing="1">
<thead>
<tr>
<td class="stats">


</td>
</tr>

</table>
<!-- BEGIN LIST --><!-- END LIST -->

tu wklejasz kod statystyk


</td>
</tr>
</thead>
<tbody>
<!-- END HEAD -->

<!-- BEGIN FOOT --></tbody></table><!-- END FOOT -->


====================================
4. otwieramy katalog actions_admin/
====================================


tworzymy plik: stats.php

o awartości:

<?php
if( $a == 'list' ){
if( isset( $sOption ) )
$content .= $oTpl->tbHtml( 'messages.tpl', 'DONE' );

$content .= $oTpl->tbHtml( 'stats.tpl', 'LIST_TITLE' );
$sList = listLanguages( 'stats.tpl' );
$content .= !empty( $sList ) ? $sList : $oTpl->tbHtml( 'messages.tpl', 'EMPTY' );
}

if( isset( $sOption ) )
$content .= $oTpl->tbHtml( 'messages.tpl', 'DONE' );

$content .= $oTpl->tbHtml( 'stats.tpl', 'LIST_TITLE' );
$content .= listLangVariables( 'stats.tpl', $sLanguage );

?>

=============================
5. otwieramy plik: index.php
=============================

i wstawiamy:

require_once DIR_CORE.'stats.php';


================================
6. tworzymy ikonę ico_stats.gif
================================

ikona może mieć wymiary: 16x16 i wrzucamy ją do katalogu: templates\admin\img

=============================================
7. otwieramy plik: templates/admin/style.css
=============================================

pod fragmentem:

/* menu bar - icons */

wklejamy:

#menuBar .stats{background:url( 'img/ico_stats.gif' ) no-repeat 8px 6px;}


/////////////////////////////////////

to wszystko.

NIe sprawdzałem jeszcze we wszystkich przeglądarkach, więc lepiej przed modyfikacją zróbcie sobie backup.
Wszelkie próby "usprawnienia" kodu mile widziane ;-)



a w następnym odcinku zapodam przepis na buttona z zapytaniem o produkt który wygląda tak:

http://img203.imageshack.us/f/askfor.jpg/

Pozdrowienia.

» Quick.Cart v4.x

Q. C 4.0

korekkorek

Avatar: korekkorek

2011-04-12 23:03

He he ostrożnie z tym kodem, bo panel chodzi, ale sklep mi wywaliło ;-).
Nic, coś się namieszało ;-)

Q. C 4.0

korekkorek

Avatar: korekkorek

2011-04-12 23:21

Trochę zabałaganiłem.

coś namieszałem z fragmentem:


require_once DIR_CORE.'stats.php';

powyższego nie wstawiać!

krok 5. proszę ominąć :-)

Teraz już powinno działać.

Q. C 4.0

korekkorek

Avatar: korekkorek

2011-04-12 23:24

tzn. działa :-)

Q. C 4.0

korekkorek

Avatar: korekkorek

2011-05-07 16:20

jeszcze sprostowanie do pk 4.

nieco poprawiłem kod.

Zatem by wyświetlanie zawartości statystyk było bardziej "przejrzyste"

plik: stats.php

powinien mieć taką zawartość":


<?php
if( $a == 'list' ){
if( isset( $sOption ) ){
$content .= $oTpl->tbHtml( 'messages.tpl', 'DONE' );
}

$content .= $oTpl->tbHtml( 'stats.tpl', 'LIST_TITLE' );
$sList = $oOrder->listCarriersAdmin( 'stats.tpl' );
$content .= !empty( $sList ) ? $sList : $oTpl->tbHtml( 'messages.tpl', 'EMPTY' );
}

?>

to wszystko.

Q. C 4.0

Do góry
o nas | kontakt