Хаки скинов дают возможность изменять и дополнять  данные, передаваемые в скин. Вы можете полностью изменить контент, генерируемый оригинальным шаблоном скина или изменить подготовленные скриптом данные так, как вам нужно.

Сначала нужно создать и настроить хак в Админке. На закладке “Hook Files” укажите имя файла и класса, выберите действие “Skin Overloader” и определите имя класса, (skin_ *), который нужно перегрузить.

Попробуем создать что-то полезное, вместо бестолкового примера из мануала IPB - несложный хак, добавляющий рекламную область после первого и последнего сообщения в теме для рекламных объявлений Yandex Direct.
Читать запись полностью »

187190 / 42096

  • Comments Off

Для работы с пользовательскими аккаунтами в IP.Board 3 существует класс IPSMember. Методы класса доступны везде, все необходимые действия по синхронизации связанного с аккаунтом контента (аватары, изображения профиля и прочее) производятся автоматически и нет необходимости задумываться о чистке контента после удаления пользователя. Также методы класса могут использоваться для получения и отображения информации о пользователе.

Физически класс обитает в admin/sources/base/core.php, в конце файла.

Добавление аккаунта - метод ::create

Параметры:
1. array - поля для сохранения в формате: array (’имя таблицы’ => array (’поле’ => ‘значение’))
array( ‘members’ => array( ‘email’ => ‘test@test.com’)

Допустимые таблицы: members, pfields_content, profile_portal.

Читать запись полностью »

197265 / 46877

  • Comments Off

Нет времени.

182484 / 43182

Файл предназначен для загрузки значений в таблицы core_sys_settings_titles и core_sys_conf_settings, т.е. для загрузки системных настроек приложения. Формат xml файла полностью соответствует полям таблиц базы, структуры для обеих таблиц находятся в одном файле.
Значение тега<conf_is_title>1</conf_is_title> описывает данные для первой таблицы, записи с тегом <conf_is_title>0</conf_is_title> - для второй.

Заполнять эту структуру руками тяжело, да и не нужно. В админке вы можете создать и группу настроек и конкретные настройки для вашего приложения через стандартные экранные формы, проверить их работу и выгрузить в XML файлы.

Читать запись полностью »

205092 / 49900

Файл cache/skin_cache/masterMap.php предназначен для связи ID скина с директориями  master*, используемых при работе админки в режиме разработчика.

Более простое объяснение: если щелкнуть по выпадающему меню скина (в режим разработчика), то у скинов xml и lofi можно увидеть дополнительные пункты import и export. У скина html (skin_key=’default’) и любого созданного вами этого меню нет.

Второе важное значение этого файла (этого почему-то нигде не написано): при переключении в режим разработчика нужно выгружать в master директории не только файлы скинов, но и файлы css, в противном случае форум отобразится без стилей.

Читать запись полностью »

208433 / 50048

Дополнение по теме редактирования языковых файлов в режиме разработчика.

В IP.Board 3.0 радикально изменился подход к редактированию lang файлов. Если раньше (в версии 2.x) для внесения изменений достаточно было отредактировать соответствующий файл в директории cache/lang_cache/xx, то теперь увы, все языковые конструкции хранятся в базе. Файлы на диске, в директории cache/lang_cache/~id~, представляют собой кешированные данные, внесение в них изменений не имеет смысла, данные будут обновлены при обновлении кешей. Также теперь нет директорий en и ru, директории называются по индексу языкового пакета.

В обычном режиме админки вы можете только добавлять языковые файлы для своего и других приложений, но не можете экспортировать их в формате XML для включания в инсталляционный пакет. Переключание в режим разработчика включает необходимые функции экспорта и импорта.

Читать запись полностью »

212054 / 51101

  • Comments Off

В IP.Board 3 есть полезная для разработчика фича, переключение в режим ‘developer mode‘, в котором можно более просто редактировать скины и языки. Также включаются некоторые недоступные в стандартном режиме функции (экспорт различных настроек и др.) Переключение в этот режим описано ниже.

1. Редактирование conf_global.php.

Найти:
define( ‘IN_DEV’, 0 );

Заменить на
define( ‘IN_DEV’, 1 );

Если этой строчки нет в вашем conf_global.php (это бывает после апгрейда на версию 3.0) - добавьте ее самостоятельно в любое место до закрывающего тэга “?>”.
Также может оказаться полезным включить вывод предупреждений и ошибок PHP, добавив еще одну строку в файл conf_global.php

ini_set(’display_errors’,1);

Читать запись полностью »

218464 / 51520

  • Comments Off

В админке ip.board есть удобный инструментарий для автоматизации рутинных операций создания структуры приложения и структур модулей.

Первым создается приложение.

Зайдите в админку, закладка System и кликните на строке Manage Applications & Modules. Вы попадете в модуль управления приложениями. В таблице показаны уже установленные приложения, они сгруппированы следующим образом:

Root Applications - системные приложения, основные модули форума.
IPS Add Ons - приложения, разработанные фирмой IPS.
Third Party Add Ons - пользовательские приложения.

Приложение, создаваемое пользователем всегда помещается в раздел Third Party Add Ons.

Читать запись полностью »

205401 / 49841

Приношу свои извинения за утерянные комментарии.

Включил регистрацию и возможность комментирования.

205047 / 46726

Этот файл (admin/applications_addon/other/[app]/setup/versions/install/knownsettings.php) отвечает за присвоение значений переменным System Settings, которые задаются ключами ‘conf_key’ в файле xml/[app]_settings.php, если нужно установить значения, которые могут зависить от конкретного форума и неизвестны разработчику приложения.

Данные в файле должны содержаться в массиве $knownSettings:

$knownSettings = array(
‘myapp_path’        =>  ipsRegistry::$settings['upload_dir'],
‘myapp_url’        =>  ipsRegistry::$settings['upload_url'],
);

Соответственно, в файле xml/[app]_settings.xml должны быть записи <conf_key>myapp_path</conf_key> и <conf_key>myapp_url</conf_key>.

Импорт файла производится только если найден файл  xml/[app]_settings.xml, элементы массива $knownSettings, для которых нет соответствия, отбрасываются.

193709 / 46696

  • Comments Off