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

teez

Użytkownik
  • Postów

    2 077
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    10

Odpowiedzi opublikowane przez teez

  1. Od bardzo dawno przymierzam się do napisania tego poradnika - jeżeli można go tak nazwać. Tak na prawdę to "przetłumaczę" w skrócie ten poradnik. Screenami posłużę się oryginalnymi ( bez spolszczenia ), ale najważniejsze elementy spróbuję wyjaśnić. No to zaczynajmy! :)

    Zacznijmy od utworzenia folderu naszej aplikacji z następującą strukturę ( wybrane tylko potrzebne katalogi w tym przykładzie. W następnych poradnikach będę opisywał kolejno pozostałe foldery ):

    admin/applications_addon/other/*

    • klucz aplikacji ( u nas będzie to "helloworld" )
    • modules_public - główny katalog w którym znajdowały się będą nasze moduły publiczne,

    To są główne foldery z których aktualnie będziemy korzystać. Dobra, skoro już to mamy za soba to możemy przejść do utworzenia aplikacji, ale jeszcze zanim to zrobimy to powinniśmy ustawić tryb DEVELOPER w conf_global.php. Wklejamy kod:

    if( IN_ACP ) // jeżeli jesteśmy w panelu administracyjnym ustawia tryb dev na włączony { define('IN_DEV', 1); } else // jeżeli nie jesteśmy w panelu to jest on wyłączony - tutaj jest nie potrzebny. { define('IN_DEV', 0); }

    Dobra, przechodzimy teraz:
     

    Admin CP --> System --> Manage Applications & Modules --> Add New Application

    ccs-108264-0-88381200-1328197401.jpg

    Tutaj chyba nie ma za dużo do opisywania:

    • Title - tytuł aplikacji,
    • Public title - publiczny tytuł ( czyli ten, który będzie wyświetlał się m.innymi w menu ),
    • Directory - nazwa folderu w applications_addon/other/,

    Dobra, tutaj gotowe. Przejdźmy teraz do utworzenia naszego modułu publicznego.
     

    Admin CP --> System --> Manage Applications & Modules --> Manage PUBLIC modules --> Add New Public Module

    ccs-108264-0-69921200-1328268036.jpg


     

    • Title - tytuł modułu,
    • Description - opis,
    • Key - unikalne ID modułu. W naszym przypadku będzie to example

    Jeżeli już utworzyliśmy nasz moduł to wracamy spowrotem do naszych katalogów. W modules_public tworzymy folder example( to unikalne ID, które wcześniej podaliśmy ), a następnie w nim pliki:

    • example.php - główny plik na którym za moment będziemy działać,
    • defaultHeader.php - "router" jeżeli można go tak nazwać. Ustanawiamy w nim głowną sekcję aplikacji ( o sekcjach za moment ).

    Na początku deafultSection.php

    <?php $DEFAULT_SECTION = 'example';

    Dobra, czym są te sekcje? W każdym module może być nieskonczenie wiele sekcji. Jeżeli utworzyliśmy moduł example to w nim możemy utworzyć wiele sekcji, które póniej będziemy mogli "odtworzyć" w adresie:
     

    index.php?app=Klucz Aplikacji&module=Klucz modułu&section=Nazwa sekcji

    Podam to na przykładzie. Tworzymy blog, który składa się z:

    • strony z artykułami,
    • strona z formularzem,
    • strona z artykułem,

    Aby wszystko było ładnie to potrzebujemy w tym przypadku 3 sekcje dla jednego modułu czyli tworzymy moduł "blog", a w nim pliki:

    • show.php - strona z artykułem,
    • send.php - strona z formularzem,
    • index.php - strona z artykułami,
    • defaulSection.php z oznaczeniem, że główną sekcją jest index.php (aby po przejściu na index.php?app=aplikacja&module=blog standardową sekcją była strona z artykułami )

    Można oczywiście to zrobić w postaci 3 modułów ale będzie straszny nieład przy tworzeniu większych aplikacji.

    Dobra, to mamy za sobą - przejdźmy do pliku example.php.

    <?php /** * Nazwa klasy (typ ( public/admin )_(klucz aplikacji)_(moduł)_(sekcja) */ class public_helloworld_example_example extends ipsCommand { public function doExecute( ipsRegistry $registry ) { // Ustawienie tytułu ( <title> </title> ) naszej sekcji. $this->registry->output->setTitle( 'Witaj Swiecie' ); // Wywołanie szablonu $this->registry->output->addContent($this->registry->output->getTemplate('helloworld')->example()); $this->registry->output->sendOutput(); } }

    Czas na utworzenie szablonu. Przejdźmy do:
     

    Admin CP --> Look & Feel --> Skin --> HTML --> Add new bit

    I dodajmy bit example do nowej grupy skin_helloworld

    Jeżeli już to zrobimy, wypełnijmy go czymś ( choćby Hello World ). Następnie przejdźmy do adresu:
     

    index.php?app=helloworld&module=example

    Powinniśmy ujrzeć
    ccs-46197-0-98938900-1337282285.png


    I to chyba na tyle. :) Oryginalny poradnik: http://www.invisionpower.com/support/guides/_/advanced-and-developers/application/start-here-creating-an-application-r145
     

    Dla invisionize.pl mojego autorstwa, zakaz kopiowania.

  2. Przy poprawnie wykonanej aktualizacji z IPB 3.4.8 na IPB 4.X nie ma żadnych problemów, co najwyżej dodatki i styl mogą być niekompatybilne. I kodowanie znaków, ale od tego jest konwerter. Od rozwiązywania problemów jest support IPS oraz http://forum.invisionize.pl/. A między Bugiem a prawdą, aktualnie większym problemem niż migracja, jest samo IPS 4.X  ;)

     

    Dodatki, niekompatybilny styl oraz kodowanie znaków to rzeczywiście żaden problem. 

×
×
  • 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ę.