Hogyan adjunk egy gombot, a medve barlangjába
Ezt az anyagot szentelt létrehozását tetszőleges gomb SMF: a főmenüben, részekben a témákat.
Így a horog - a krém, a divat, anélkül, hogy megváltoztatná a motor fájlokat.
Az új funkciók vannak leírva egyetlen fájl, amely megjeleníti a szükséges adatokat előre meghatározott helyeken a fórum.
Fő menüpontok
Például szeretnénk hozzáadni egy gombot a főmenübe. Ezt megelőzően, meg kellett csinálni? Bemászni index.template.php. keresni, hogy a szabály. És ha a fórum óta használják sok témát? Szerkesztése index.template.php mindegyikben? Aztán változott a helyzet, szükséges volt, hogy szerkeszteni egy fájlt - Subs.php.
De egy fájlt, és a szám a mod, hogy változtatások történtek meg, napról-napra növekszik. És amikor telepíti minden a következő várható előfordulását hibákat. Ezért a fejlesztők már felér egy horog integrate_menu_buttons - egy funkciója, amely paraméterként egy sor menü gomb.
Először által leírt egy sor horgok, amelyek van szükségünk, majd átnyomódik a tömb add_integration_function funkciót. Ezt követően, az asztal beállításait, hogy az alap az új vonal lesz az adatok: integrate_pre_include értékű $ sourcedir / Subs-MyMod.php és integrate_menu_buttons értéke example_menu_buttons.
Subs-MyMod.php helye fájlt a Sources mappában. Ez a fájl írja a funkció example_menu_buttons.
Megszokja a létrehozását az egyes közé fájlt, ami nem vész el, és nem nullázódik a következő frissítést nem elérhető - hasznos gyakorlat.
Ügyeljen arra, hogy az elején a fájlt. Ha nem akarjuk, hogy a fórum áttörte a létrehozott fájlt, győződjön meg róla, hogy ezeket a sorokat:
Mi továbbra is. Cél: egy új gomb a menüben. example_menu_buttons függvény paraméterként egy tömb $ gombokat. így van, hogy hozzon létre egy új elem a tömbben:
Használt szöveges változók - ebben az esetben $ txt [ „mybutton_text”] és $ txt [ „mybutton_link”] - biztos, hogy írják le és tárolja a nyelvi fájlban (például Modifications.russian-utf8.php). Mivel dolgozunk horgok, akkor jobb, ha csatlakozni nyelvi fájlok külön befolyásolása nélkül azokat, amelyek. Mentsd változó divat egy php nevű fájlt, ahogy mi akarjuk (érdemesebb neve megegyezik a neve a jövőben a divat, a félreértések elkerülése végett), transzfer a papa nyelv (az alapértelmezett téma), majd keresztül csatlakozik a funkció loadLanguage. ha szükséges:
Igen, adjunk hozzá egy gombot, de ez csak akkor jelenik meg a végén. És ha szüksége van egy következtetés elem után a „Keresés”? Tudod:
Menj előre. Szeretném megváltoztatni a menüpontok kész? Például adja a target = „_ blank” a gomb „Súgó”:
Egy könnyen hozzá beágyazott menüpontok. Például, adjunk hozzá egy bekezdés „Site”, amely úgy tűnik, ha rákattint a „Home”:
A gombokat és linkeket kell tárolni nyelvi fájlokat, ahelyett, rámutatva egyenesen a kódot. Majd a jövőben (és kinek, és a jelen), akkor nagyon könnyű, például az egyes nyelvek megjelenítéséhez külön linken: magyar mysite.ru, az angol :. Mysite.ru/en és így tovább.
Gomb hozzáadása a szakaszok
Segítségével további hasznos horog - integrate_messageindex_buttons - a gombok a részben az oldalon:
A többi gombot
Hasonlóképpen, hozzáadni a lapok a gombok (hook integrate_display_buttons):

Gombra az oldal alján ugyanaz. Csak ezúttal használt horgot integrate_mod_buttons. valamint egy bemeneti paramétere vesz egy sor $ mod_buttons:
Példaként nézd TopicRenamer.
Ezen kívül, senki nem tiltja a horgok, nem a kívánt célra, a fent leírt. Például megjelenítéséhez adott szöveget a részben az oldalon, csak alul a leírást, használja ugyanazt a horgot integrate_messageindex_buttons:
Mivel mi nem változik, és ne adjon hozzá gombokat, bemeneti paraméter (tömb $ normal_buttons) nincs szükség. És az eredmény a képen:
Hasonló következtetésre használják az oldalakon.
A Zen blokk módok és Topic Vélemények Bar integrate_display_buttons horgok és integrate_messageindex_buttons csak használni nem szabványos módon.