Posted 10 апреля, 20195 yr comment_156657 Здравствуйте. Каким кодом можно опубликовать скрытую тему? Что-то типа \IPS\content\show($id); В конечном итоге хочу написать скрипт, который будет смотреть все скрытые темы на форуме и публиковать их если наступило время открытия.
10 апреля, 20195 yr comment_156658 $post = \IPS\forums\Topic\Post::load(44); $post->unhide(FALSE); или $post->queued = 0; $post->save()
10 апреля, 20195 yr comment_156659 1 час назад, Налик сказал: Здравствуйте. Каким кодом можно опубликовать скрытую тему? Что-то типа \IPS\content\show($id); В конечном итоге хочу написать скрипт, который будет смотреть все скрытые темы на форуме и публиковать их если наступило время открытия. Можно так IPS\forums\Topic::unhide($member)
10 апреля, 20195 yr comment_156660 2 минуты назад, accop сказал: Можно так Так нельзя. *44 - ид сообщения если что.
10 апреля, 20195 yr comment_156661 Только что, siv1987 сказал: Так нельзя. *44 - ид сообщения если что. Ты наверно про метод load который действительно принимает айди темы, а метод unhide принимает параметр $member Цитата \IPS\Member | NULL | FALSE$memberThe member doing the action (NULL for currently logged in member, FALSE for no member) Согласно официальной документации https://codingjungle.com/phpdoc/40200/d2/db7/classIPS_1_1forums_1_1Topic.html#af69419b80af8e28dd9747c01c939d03e
10 апреля, 20195 yr comment_156662 Это было для сообщений. Для тем также - загрузить ид темы потом вызвать unhide, он не является статическим методом. Ваш пример не является правильным, и речь не о том какой параметр принимает функция, сама форма записи не является корректной. $topic = \IPS\forums\Topic::load(ид_темы); $topic->unhide(FALSE);
10 апреля, 20195 yr comment_156663 Честно говоря, я в замешательстве 30 минут назад, siv1987 сказал: $post = \IPS\forums\Topic\Post::load(44); $post->unhide(FALSE); проверял? 14 минут назад, siv1987 сказал: $topic = \IPS\forums\Topic::load(ид_темы); $topic->unhide(FALSE); вот это работает
10 апреля, 20195 yr comment_156664 10 минут назад, accop сказал: вот это работает Вы плохо читаете сообщения. Оба варианта рабочие, просто для разных сущностей. В принципе по названию переменных уже можно догадаться что и для чего предназначено - $post и $topic.
10 апреля, 20195 yr comment_156665 4 минуты назад, siv1987 сказал: Вы плохо читаете сообщения. Оба варианта рабочие, просто для разных сущностей. В принципе по названию переменных уже можно догадаться что и для чего предназначено - $post и $topic. и правда
10 апреля, 20195 yr Author comment_156666 siv1987 accop Спасибо) //Открыть сообщение core_search_index //$post = \IPS\forums\Topic\Post::load(272); //$post->unhide(TRUE); //Открыть топик forums_topics $topic = \IPS\forums\Topic::load(60); $topic->unhide(FALSE); Первый код открывает сообщение, но при этом топик в списке тем остается скрытым. Второй код открывает топик и сообщение, как раз то что нужно. По названию переменных все логично, спасибо большое! :) Только честно говоря не понял какое булевое значение подавать правильно, хоть TRUE, хоть FALSE - открывают сообщение/топик. $topic->unhide(FALSE);
10 апреля, 20195 yr comment_156668 25 минут назад, Налик сказал: Только честно говоря не понял какое булевое значение подавать правильно, хоть TRUE, хоть FALSE - открывают сообщение/топик. Эта функция только скрывает сообщения. Принимает только один аргумент от кого опубликовано сообщение, если это instance of \IPS\Member NULL - от текущего пользователя FALSE - нет пользователя Для скрытия используется метод hide с аналогичным параметром, а также второй - reason (выше есть ссылка на документацию, которую любезно предоставил аккоп) Только что, siv1987 сказал: только скрывает сообщения Открывает. Оговорился.
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.