Перейти к содержимому
Русский язык для Invision Community 5

Hook. Помогите с API

Всем привет.

Пишу хук. Более-менее полной документации по API ipb 3.x.x не нашел. Может у вас есть?

Нашел прау статей по написанию хуков, но все они уж очень просты.

 

Тащем-то, сейчас нужно просто добавить чекбокс и пару текстовых полей ввода в шаблон создания новой темы на форуме. И сохранить введеные данные в таблицу форумов. Т.е. предварительно добавлю в нужную таблицу своих полей. Затем нужно в админке отобразить ту инфу, которую я сохранил в базу, вот и все :)

 

1)Для паблика получается тип хука должен быть "Skin overloader", да? Вообще, не совсем понимаю, что делает эта опция. Насколько я понял, если хочу что-то свое передать в шаблон, помимо дефолтного, нужно просто перегрузить метод класса, который отвечает за вывод данных топика, добавив то, что нужно (да?) Только до конца не пойму какой класс и какой метод за это отвечает?

skin_topic::topicViewTemplate();

//нет?

 

2)Можно ж и свой класс написать, да? На сколько я понял, в этом случае в конструктор нужно обязательно передать такое:

$this->registry = ipsRegistry::instance();
$this->settings =& $this->registry->fetchSettings();
$this->DB       = ipsRegistry::DB();

Или что-то еще нужно?

Я честно, не до конца понял как работают эти методы. Например, полез в ipsRegistry.php, а там в классе ipsRegistry:

static public function instance()
{
if ( ! self::$instance )
{
	self::$instance = new self();
}

return self::$instance;
}

Жесть! Ну ладно.

ipsRegistry::DB() - ну это скорее всего коннект к базе.

$this->settings =& $this->registry->fetchSettings(); - тоже не очень понял как этот метод работает. Но вроде как все это нужно, если я не расширяю какой-нибудь ихний класс иди не обязательно?

 

3)Мне нужно получить постом то, что пользователь ввел в мои поля. Как это правильно/лучше сделать?

$myVar1 = $this->settings['pole1'];

Так?

 

4)Дописать в таблицу (в свои поля) все это дело. Порылся в стандартных хуках ипб 3.3 но не нашел нужной мне INSERT конструкции. Может знает кто, как он должна выглядеть? Буду ооочень признателен.

 

5)Теперь нужно все это вывести в админке где-то. Вообще не очень представлю как это сделать. Хак для админки можно вообще писать?

Рекомендованные сообщения

  • Автор
По моему в pre-formatted не пишется в виде массива, а как обычная строка. Там же указано - Mixed value

Ой, точно :)

Спасибо огромное)

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.