Как да добавите бутон, бърлогата на мечка
Този материал е посветен на създаването на произволни бутони SMF: от главното меню, в участъци, в темите.
По този начин, куката - лосион, модата, без да се променят файловете на двигателя.
Новите функции са описани в един файл, който показва данните, които трябва най-предварително определените места на форума.
Основни елементи от менюто
Така например, искате да добавите бутон в главното меню. Преди това, което трябваше да направя? Качи се в index.template.php. да се търси, за да се изключи. И ако на форума е била използвана много теми? Редактирайте index.template.php във всяка една от тях? След това ситуацията се промени, е било необходимо, за да редактирате един файл - Subs.php.
Но един файл, а броят на модове, които са направили промени по него, с всеки изминал ден се увеличава. И когато инсталирате всяка от следващата очакваната поява на проблеми и грешки. Поради това, разработчиците са дошли с една кука integrate_menu_buttons - функция, която приема като параметър масив от бутоните на менюто.
Първо, описан от набор от куки, от които се нуждаем, а след това принудени чрез функцията масив add_integration_function. След това, настройките на масата на основата на новата линия ще бъдат информация: integrate_pre_include със стойност от $ sourcedir / ЖЪЛТИ-MyMod.php и integrate_menu_buttons на example_menu_buttons стойност.
ЖЪЛТИ-MyMod.php място файл в папката източници. Този файл описва функционалните example_menu_buttons.
Възползвай се от създаването на индивида включва файлове, които няма да бъдат загубени и не се нулират в следващата актуализация офлайн - полезна практика.
Обърнете внимание на началото на файла. Ако не искате форума проби файла, който е създаден, не забравяйте да включите тези редове:
Ние ще продължим. Цел: да се добави нов бутон в менюто. example_menu_buttons функция приема като параметър бутони масив $. така че трябва да създадете нов елемент в масива:
Използвани текстови променливи - в този случай $ TXT [ 'mybutton_text'] и $ TXT [ 'mybutton_link'] - не забравяйте да се опише и съхраняват в езиковия файл (например, в Modifications.russian-utf8.php). Тъй като ние работим с куки, по-добре е да се свържете езикови файлове поотделно, без да засяга тези, които имат. Запазване променлива мода в PHP файл, наречен тъй като искаме (това е по-добре да име съвпада с името на бъдещето на модата, за да се избегне объркване), трансфер до таткото езици (в рамките на темата по подразбиране) и след това се свързват чрез loadLanguage на функция. когато това се изисква:
Да, ние добавите бутон, но тя се появява само в края. И ако имате нужда от заключение, след като елементът "Търси"? Можете:
Продължавай. Искам да променят елементи от менюто готови ли сте? Например, добавете целта атрибут = "_ празно" към бутона "Help":
Една по-лесно да добавяте вложени елементи от менюто. Например, добавете алинея "Сайт", който се появява, когато щракнете върху "Начало":
Имена на бутони и връзки трябва да се съхраняват в езикови файлове, вместо да сочи право в кода. След това в бъдеще (и за кого, и в настоящето), ще бъде много лесно, например, за всеки език за показване на отделна връзка: за български mysite.ru, за английски :. Mysite.ru/en и така нататък.
Добавянето на един бутон в рамките на участъците
С помощта на друг полезен кука - integrate_messageindex_buttons - са бутоните на секцията на страницата:
Останалите бутони
По същия начин, за да добавите към страниците на бутоните (кука integrate_display_buttons):

Бутона в долната част на страницата са едни и същи. Само че този път се използва кука integrate_mod_buttons. както и входен параметър се масив от $ mod_buttons:
Като пример, погледнете TopicRenamer.
Освен това, никой забранява използването на куки, не по предназначение, както е описано по-горе. Например, за да се покаже конкретен текст в секцията на страницата, точно под описанието, използват едни и същи кука integrate_messageindex_buttons:
Тъй като ние не се променят и не добавите бутони, не се изисква въвеждане на параметър (масив $ normal_buttons). И резултатът на екранната снимка:
Подобен извод се използва на страниците.
В режима на Дзен блок и Тема Оценка Бар integrate_display_buttons куки и integrate_messageindex_buttons просто използва нестандартен начин.