В этом уроке мы вкратце познакомимся с основными папками и файлами SMF 2.1, чтобы знать, за что они отвечают.
Вы конечно можете спросить на каком-нибудь форуме, где найти то-то и то-то, а потом сидеть и ждать ответа. Но гораздо проще иметь подобную информацию перед глазами.
Корневая директория
Директория | Описание |
---|---|
attachments | Файлы, загруженные пользователями (вложения) |
avatars | Наборы аватарок, установленные на форуме |
cache | Временные файлы (если включено файловое кэширование) |
custom_avatar | Аватарки, загруженные пользователями |
exports | Экспортированные данные профилей (когда пользователь делает экспорт данных профиля) |
Packages | Файлы загруженных модификаций |
Smileys | Наборы смайликов, установленные на форуме |
Sources | Исходные файлы движка (бизнес-логика) |
Themes | Установленные шаблоны (темы SMF, включая стандартную Curve) |
Файл | Описание |
---|---|
cron.php | Файл, используемый для выполнения фоновых и запланированных задач форума |
index.php | Ключевой файл, точка входа — здесь регулируются все маршруты форума |
Settings.php | Файл базовых настроек форума (логин/пароль пользователя базы данных, текущий язык и пр.) |
Settings_bak.php | Резервный файл настроек |
SSI.php | Коллекция функций для доступа к информации форума через внешние файлы (скрипты, CMS и пр.) |
ssi_examples.php | Пример использования функций из файла SSI.php (перейдите в браузере по адресу https://ваш_форум/ssi_examples.php для просмотра) |
Папка темы по умолчанию (Themes/default
)
Если вы захотите поменять какой-то элемент интерфейса, обязательно загляните в эту папку — Themes/default
. При использовании нестандартной темы оформления многие файлы (если они отсутствуют в директории используемой темы) загружаются из папки темы по умолчанию. Например, если вы используете тему Other
, и в директории Themes/Other
есть файл Admin.template.php
, то при посещении админки будет использоваться именно он. Если же такого файла там нет, загрузится аналогичный файл из темы по умолчанию — Themes/default/Admin.template.php
. Именно поэтому директорию Themes/default
лучше не трогать, даже если вы не пользуетесь темой по умолчанию.
Однако не спешите менять файлы шаблонов — для начала создайте копию используемой темы (Конфигурация => Оформление => Создать копию используемой по умолчанию темы), выберите её как основную, скопируйте в папку этой копии файл, который решили поменять — и только потом открывайте его для редактирования. Таким образом вы защитите себя от возможной «поломки» форума, а также от потери сделанных изменений при очередном обновлении движка.
Директория | Описание |
---|---|
css | Файлы стилей темы оформления по умолчанию |
fonts | Шрифты темы оформления по умолчанию |
images | Изображения, используемые темой оформления по умолчанию |
languages | Языковые файлы |
scripts | Файлы скриптов JS/jQuery темы оформления по умолчанию |
Файлы стилей (Themes/default/css
)
По сути, это первая папка, с которой стоит начинать, если вы просто хотите изменить оформление некоторых деталей темы оформления. Главный файл для экспериментов — index.css
.
Языковые файлы (Themes/default/languages
)
Это первое место, откуда вам следует начинать поиски, если вы захотите поменять какой-либо текст, используемый темой оформления. Для добавления собственных переменных используйте файл Themes/default/languges/Modification.{ваш_язык}.php
.
Кроме того, для быстрого редактирования этих файлов в админке доступен соответствующий редактор по адресу _Конфигурация => Настройка языков => Редактировать_ (отдельная кнопка для каждого языка).
Для внесения поправок в русскую локализацию разумнее всего присоединиться к проекту на Crowdin.
Файл | Описание |
---|---|
Admin.template.php | Основной шаблон для страниц админки |
Agreement.template.php | Шаблон регистрационного соглашения |
BoardIndex.template.php | Шаблон главной страницы форума (список разделов и т. п.) |
Calendar.template.php | Шаблон календаря |
Display.template.php | Шаблон страницы отдельной темы на форуме |
Errors.template.php | Шаблон страницы ошибок (404 и т. д.) |
GenericControls.template.php | Шаблон, отвечающий за вывод визуального редактора и кнопок под формой ввода |
GenericList.template.php | Шаблон, отвечающий за интерфейс таблиц в админке |
GenericMenu.template.php | Шаблон, отвечающий за вывод кнопок и выпадающих списков в различных менюшках админки |
Help.template.php | Шаблон справочной информации |
index.template.php | Основной макет текущей темы оформления |
Likes.template.php | Шаблон, отвечающий за отображение контейнера с лайками («Мне нравится» и т. п.) под сообщениями |
Login.template.php | Шаблон страницы авторизации |
ManageAttachments.template.php | Шаблон секции управления вложениями в админке |
ManageBans.template.php | Шаблон секции управления банами в админке |
ManageBoards.template.php | Шаблон секции управления категориями и разделами в админке |
ManageCalendar.template.php | Шаблон секции управления настройками календаря в админке |
ManageLanguages.template.php | Шаблон секции управления локализациями (языками) в админке |
ManageMail.template.php | Шаблон секции управления очередью сообщений в админке |
ManageMantenance.template.php | Шаблон секции управления обслуживанием форума в админке |
ManageMembergroups.template.php | Шаблон секции управления группами пользователей в админке |
ManageMembers.template.php | Шаблон секции управления пользователями в админке |
ManageNews.template.php | Шаблон секции управления новостями форума в админке |
ManagePaid.template.php | Шаблон секции управления платными подписками в админке |
ManagePermissions.template.php | Шаблон секции управления правами доступа в админке |
ManageSchedulesTasks.template.php | Шаблон секции управления запланированными задачами в админке |
ManageSearch.template.php | Шаблон секции управления настройками поиска в админке |
ManageSmileys.template.php | Шаблон секции управления наборами смайликов а админке |
Memberlist.template.php | Шаблон списка пользователей форума |
MessageIndex.template.php | Шаблон страницы со списком тем внутри просматриваемого раздела |
ModerationCenter.template.php | Шаблон центра модерации |
MoveTopic.template.php | Шаблон страницы перемещения темы из одного раздела в другой |
Notify.template.php | Шаблон страницы настроек уведомлений |
Packages.template.php | Шаблон страницы менеджера пакетов в админке |
PersonalMessage.template.php | Шаблон страницы со списком личных сообщений |
Poll.template.php | Шаблон страницы создания и редактирования опросов |
Post.template.php | Шаблон страницы создания и редактирования сообщений на форуме |
Printpage.template.php | Шаблон страницы печатной версии просматриваемой темы на форуме |
Profile.template.php | Шаблон страницы профиля |
Recent.template.php | Шаблон странц последних сообщений и непросмотренных тем |
Register.template.php | Шаблон страницы регистрации |
Reminder.template.php | Шаблон страницы напоминания пароля |
ReportedContent.template.php | Шаблон страницы просмотра всех присланных жалоб |
Reports.template.php | Шаблон страницы управления отчётами в админке |
ReportToMod.template.php | Шаблон страницы отправки жалобы на просматриваемый контент |
Search.template.php | Шаблон страницы поиска |
Settings.template.php | Шаблон страницы с настройками текущей темы оформления |
SplitTopics.template.php | Шаблон страницы разделения просматриваемой темы |
Stats.template.php | Шаблон страницы статистики форума |
Themes.template.php | Шаблон секции управления списком и настройками установленных тем оформления |
Who.template.php | Шаблон страницы «Кто онлайн» |
Xml.template.php | Этот файл содержит различные xml-шаблоны, используемые движком |
Исходные файлы движка (Sources
)
Как правило, если вы не разработчик или не создатель каких-либо модификаций, в эту папку вам не стоит заглядывать. Менять что-либо вручную в этих файлах в настоящее время считается дурным тоном. Лучше используйте модификации на основе хуков.
Инструментарий
Чтобы быстро найти нужный текст в языковых (и не только) файлах, воспользуйтесь соответствующими приложениями. Сгодится любой файловый менеджер (например, Unreal Commander или Total Commander), или текстовый редактор, который умеет открывать целые директории — к примеру, Visual Studio Code или Notepad++. А дальше просто с помощью встроенного поиска находите нужную вам строчку и изменяете её.