Posted July 17, 20213 yr comment_170645 Лазаю по php файлам, не могу найти. В каком файле расположена функция. Которая сохраняет свежедобавленный пост? Что за имя данной функции?
July 17, 20213 yr Author comment_170647 В поле forums_post, добавил поле. В данное поле необходимо вносить значение. Вопрос в том, где именно данные код. Где возможно прописать переменную со значением и значение которое попадет в данное поле... То есть как при создании темы, так и при постинге...
October 9, 20213 yr Author comment_173281 Как в данной функции достать данные о форуме? В переменной $item, содержится вся необходимая инфа, а в $item->container->_data. Содержится информация о форуме, но она закрыта :protected. В данном случаи как достать информацию из нее?
October 9, 20213 yr Author comment_173282 public static function create( $item, $comment, $first=FALSE, $guestName=NULL, $incrementPostCount=NULL, $member=NULL, \IPS\DateTime $time=NULL, $ipAddress=NULL, $hiddenStatus=NULL ) { $comment = parent::create( $item, $comment, $first, $guestName, $incrementPostCount, $member, $time, $ipAddress, $hiddenStatus ); if ( !$comment->hidden() ) { $item->rebuildPopularTime(); } return $comment; } Запутался. В данной функции не сохраняем, а передаем данные пред сохранение куда та еще... Не совсем понятно, где именно данная которые передаем parent::create, Где их обрабатывают, где именно тот самый запрос к таблице forums_posт за счет которого и добавляется запись в таблицу? Где еще та самая функция, которая вносит изменения в таблицу core_members, при добавлении поста?
October 9, 20213 yr comment_173283 1 час назад, Zuldek сказал: Запутался. В данной функции не сохраняем, а передаем данные пред сохранение куда та еще... Вам понятие "классов" хоть чуть-чуть знакомо? Если нет, то лучше в эту область движка не влезать, ничего не получится.
October 9, 20213 yr Author comment_173284 Чуть чуть совсем.... Я как любитель, не более. Прошу помощи всего навсего.
October 9, 20213 yr comment_173285 Проблема в том, что ни в одном файле вы не найдете места, где происходит сохранение вашего сообщения в том виде, в котором вы его ожидаете увидеть. Все комменты на форуме - дети класса IPS\Patterns\ActiveRecords, соответственно, все ваши изменения-дополнения должны быть в концепции этого класса (или его наследников). class _Post extends \IPS\Content\Comment abstract class _Comment extends \IPS\Content - тут живет функция public static function create(...), но я очень не советую в нее лезть. abstract class _Content extends \IPS\Patterns\ActiveRecord Про ActiveRecords можно прочитать тут: https://invisioncommunity.com/developers/docs/fundamentals/active-records-r22/
October 9, 20213 yr comment_173287 В 17.07.2021 в 15:44, Zuldek сказал: Что за имя данной функции имя save()
October 10, 20213 yr Author comment_173306 abstract class _Comment extends \IPS\Content - тут живет функция public static function create(...), но я очень не советую в нее лезть. Функции, вроде что надо. Да там заносим в переменные данные перед сохранением. Но, моя задача заключается В данной функции как вытащить, скажем наименование форума(ветки). Ведь все данные в объекте закрыты protect в переменной $item Я так понимаю в каком то файле необходимо дописать функцию которая будет возвращать наименовании форума в public static function create Уже вызвать данную функцию для того, чтобы достать наименование форума. Вопрос в том что за функцию необходимо прописать и где и как в дальнейшем ее вызвать?
October 10, 20213 yr comment_173309 Zuldek млин, еще раз. Функция, которая "сохраняет свежедобавленный пост" называется save() Ты хоть бы нормально описал, Что ты хочешь.
October 10, 20213 yr comment_173310 1 час назад, Zuldek сказал: В данной функции как вытащить, скажем наименование форума(ветки). В $item сообщения нет id форума, только id топика. Это не приватное свойство, получите его, по нему загрузите топик, из него получите id форума и тоже загрузите, получите название форума в $forum->_title()
October 10, 20213 yr comment_173316 Зачем вам всё это? У вас есть $item в функции create, там есть почти всё, что надо. Даже название форума.. \IPS\Member::loggedIn()->language()->get('forums_forum_' . $item->container()->id);
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.