RamonRa
Участники
- Сообщения
- 8
- Реакции
- 1
- Баллы
- 60
Вопрос по написанию своего аддона.
Решил попробовать себя в написании аддонов для xenForo 2. Для начала взялся просто сделать аддон, который бы увеличивал максимальное количество символов в названии узла. На поприще интернета нашел только
В файлах своего аддона я создал структуру, как и было описано в офф. документации
А в коде я экстедился от этого класса, и скопировал ВЕСЬ код нужной мне функции, буквально только поменяв одну цифру ('maxLength' => 50 на 150). Вот кусок кода
Собственно вопрос - после обновления xenForo основной класс ведь может поменяться. Мне теперь после каждого обновления нужно копировать эту функцию себе, меняя только одну цифру? Это правильно? Возможно нужно было как-то по другому сделать столь незначительное изменение?
Т.к. в будущем планирую создавать более сложные вещи, хотел бы сразу понять, правильно ли так копипастить целые функции ядра, буквально меняя пару вещей.
Решил попробовать себя в написании аддонов для xenForo 2. Для начала взялся просто сделать аддон, который бы увеличивал максимальное количество символов в названии узла. На поприще интернета нашел только
У Вас недостаточно прав для просмотра ссылок.
Вход или Регистрация
, который это делает. Сделал все по их
У Вас недостаточно прав для просмотра ссылок.
Вход или Регистрация
, создал свой установочник, изменил БД, нашел нужный мне класс в ядре, от которого нужно экстендится. В общем в итоге все заработало. Но возник вопрос, правильно ли я это реализовал, т.к. нутром чую, что возможно нужно делать иначе.В файлах своего аддона я создал структуру, как и было описано в офф. документации
А в коде я экстедился от этого класса, и скопировал ВЕСЬ код нужной мне функции, буквально только поменяв одну цифру ('maxLength' => 50 на 150). Вот кусок кода
Код:
class Node extends XFCP_Node
{
public static function getStructure(Structure $structure)
{
$structure->table = 'xf_node';
$structure->shortName = 'XF:Node';
$structure->primaryKey = 'node_id';
$structure->contentType = 'node';
$structure->columns = [
'node_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],
'title' => ['type' => self::STR, 'maxLength' => 150,
.........................
Собственно вопрос - после обновления xenForo основной класс ведь может поменяться. Мне теперь после каждого обновления нужно копировать эту функцию себе, меняя только одну цифру? Это правильно? Возможно нужно было как-то по другому сделать столь незначительное изменение?
Т.к. в будущем планирую создавать более сложные вещи, хотел бы сразу понять, правильно ли так копипастить целые функции ядра, буквально меняя пару вещей.
первая тема на форуме, если создал не в том разделе - извиняюсь и прошу модеров переместить. Принимаю любую конструктивную критику, спасибо.