Sylwia Studzińska - blog

Opcje backoffice (Panelu Admina) w Magento - [Część 2]

Gdy już pomówiliśmy o opcjach "Panelu Admina" w Magento (Opcje backoffice (Panelu Admina) w Magento - [Część 1]), przejdźmy wreszcie do praktyki. W poprzedniej części pojawiła się informacja o tym, że możesz dodać do menu własne elementy. Ta możliwość przydaje się, gdy dopisujesz moduły i chcesz nimi zarządzać - oczywiście możesz stworzyć nowy element menu po to, by zmieniać ustawienia już istniejących funkcjonalności. Zatem - do dzieła ;)

Przede wszystki potrzebujemy nowego modułu. Możesz skorzystać z tego, który dołączyłam, to moduł napisany specjalnie do zaprezentowania tego, co opiszę. Będzie wyświetlał aktualny czas na podstawie wybranego przez ciebie formatu. Powinien być poprawnym argumentem funkcji date() w PHP.

Dodanie elementu następuje w pliku config.xml. Potrzebujemy d tego następujących linii:

<adminhtml>
    <menu>
        <example translate="title" module="adminhtml">
            <title>Set Time Format</title>
            <sort_order>60</sort_order>
            <children>
                <set_time>
                    <title>Set It!</title>
                    <action>example/index</action>
                </set_time>
            </children>
        </example>
    </menu>
</adminhtml>

Ten kod utworzy element menu o tytule Set Time Format z podmenu Set It!, które będzie prowadzić do modułu o identyfikatorze example, kontrolera index, akcji index. To wszystko, co jest potrzebne. Sprawdź efekt w Panelu Admina - 'Set Time Format' powinno pojawić się pomiędzy Catalog i Customers. Jeśli tak nie jest - wyczyść cache.

Dane przechowuję wspólnie z ustawieniami konfiguracyjnymi Magento. Nie jest to dobre rozwiązanie w przypadku profesjonalnego projektu, jednak zdecydowałam się na nie, aby nie tworzyć więcej kodu, niż było to konieczne.

Element zarządzający ustawieniami można dodać również na stronie System->Configuration. Wymaga to nieco innego podejścia, które zostanie opisane w części 3.

Dodawawanie tłumaczeń w Magento

Tłumaczenia pomiędzy językami są całkiem proste do zrealizowania w Magento. Dla doświadczonego programisty PHP, który pracował już z frameworkami, nie ma nawet o czym wspominać. Jednak osoba, która stawia pierwsze kroki w budowaniu wielojęzycznej aplikacji. może potrzebować kilku słów wprowadzenia. Teksty, które przeznaczone są do tłumaczenia, przechowywane są w plikach CSV, w katalogu /app/locale/[kod_jezyka]. Część ścieżki oznaczona jako [kod_jezyka] to na przykład 'pl_PL'.

Przyjrzyjmy się teraz zawartości któregoś z tych plików - każdy z nich ma tę samą strukturę. Linie w każdym pliku zawierają dwa teksty oddzielone przecinkiem: jeden w twoim domyślnym języku i jeden w języku docelowym. Aby móc używać tych plików - nazywanych też słownikami - trzeba zadeklarować je w pliku konfiguracyjnym danego modułu (config.xml). Poniższy kod musi zostać umieszczony wewnątrz znacznika frontendu lub admina - zależnie od tego, dla której części sklepu przeznaczone są tłumaczenia.

<translate>
        <modules>
                <nazwafirmy_nazwamodulu>
                        <files>                 <default>NazwaFirmy_NazwaModulu.csv</default>
                        </files>
                </nazwafirmy_nazwamodulu>
        </modules>
</translate>

To wszystko ;) Teraz, aby użyć tekstu, który ma zostać przetłumaczony, napisz:

echo $this->__('tekst do przetłumaczenia');

Magento sprawdzi czy w słownikach znajduje się tekst o treści 'tekst do przetłumaczenia' i wyświetli odpowiadające mu tłumaczenie w języku aktualnego sklepu.

Opcje backoffice (Panelu Admina) w Magento - [Część 1]

Jeśli rozpoczynasz dopiero swoją przygodę z Magento, możesz być przerażony ilością opcji, którą oferuje ci backoffice (nazywany też "Panelem Admina"). Po typowej instalacji dostępne są: Dashboard, Sales, Catalog, Customers, Promotions, Newsletter, CMS, Reports, and System (jeśli nie wszystkie z nich widzisz, upewnij się, że jesteś zalogowany z uprawnieniami administratora). W dalszych częściach omówimy też dodawanie własnych elementów menu. Wszystkie z tych elementów, które widzisz, zawierają podmenu - wyjątkiem jest tylko Dashboard. Czas, aby przyjrzeć się niektórym z nich.

Dashboard to strona domyślna "Panelu Admina". Możesz na niej zobaczyć zestawienie najważniejszych informacji na temat wybranego sklepu - dane najnowszych zamównień, najnowsze zamówienia z wybranego zakresu czasu, kwotę zamówień z wybranego zakresu czasu, najlepiej sprzedające się produkty, produkty najczęściej oglądane, nowych klientów... Jest to zatem właśnie to, czego można się spodziewać po domyślnej stronie "Panelu Admina". Sales umożliwia ci zarządzanie zamówieniami (Orders), fakturami (Invoices), dostawami (Shipments) i podatkami nakładanymi na produkty (Tax). Właśnie tu możesz przyjrzeć się lub modyfikować zamówienia, składane przez twoich klientów. Możesz je przeglądać, odwoływać, wstrzymywać i drukować. Czego trudniej się domyślić, ta sekcja zawiera także możliwość ustalenia warunków sprzedaży (Terms and Conditions).

Kolejny element menu to System. Zawiera kilka opcji wartych zapamiętania. Tools pozwoli ci na wykonanie kopii zapasowej. Chyba nie trzeba nikogo przekonywać, że warto korzystać z tej opcji ;) Jest tu też Cache Management, czyli zarządzanie pamięcią podręczną. A na końcu - konfiguracja (Configuration). Zajrzyj do zakładki określającej wygląd twojego sklepu (Design). Tutaj wybierasz skórkę dla sklepu(skin), rozmieszczenie elementów (layout) i domyślny motyw graficzny (theme). Magento wybierze motyw domyślny wtedy, gdy nie znajdzie tego, który wybierzesz. Możesz też wybrać znak wodny dla obrazków używanych w sklepie. No i w końcu - ustawienie, którego używam najczęściej.

Zajrzyj do zakładki Developer, wewnątrz Configuration. Wybierz swój sklep jako zakres konfiguracyjny (Current Configuration Scope) w polu po lewej. Zauważysz, że sekcja Debug będzie teraz zawierać pola Wskazówki dla ścieżek szablonów (Template Path Hints), and Dodaj do wskazówek nazwę bloku (Add Block Names to Hints). Odznacz Użyj strony web(Use website) i ustaw oba na Yes. Teraz wróć do frontoffice i odśwież stronę (upewnij się, że znajdujesz się w tym sklepie, który wybrałeś w Configuration Scope e Panelu Admina). Otrzymasz nazwy szablonów (template'ów), użytych do wyświetlenia strony, razem z odpowiadającymi im nazwami bloków. Przerywane linie wyznaczają granice szablonów. Wierz mi - warto zapamiętać tę opcję ;)