Jump to content

Опубликовать скрытую тему

Featured Replies

Posted
comment_156657

Здравствуйте. Каким кодом можно опубликовать скрытую тему?

Что-то типа

\IPS\content\show($id);

 

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

q.png.b8abf9c73e4cbd5618513781489c7221.png

comment_156659
1 час назад, Налик сказал:

Здравствуйте. Каким кодом можно опубликовать скрытую тему?

Что-то типа


\IPS\content\show($id);

 

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

q.png.b8abf9c73e4cbd5618513781489c7221.png

Можно так

IPS\forums\Topic::unhide($member)	

 

comment_156660
2 минуты назад, accop сказал:

Можно так

Так нельзя.

*44 - ид сообщения если что.

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

comment_156662

Это было для сообщений. Для тем также - загрузить ид темы потом вызвать unhide, он не является статическим методом. Ваш пример не является правильным, и речь не о том какой параметр принимает функция, сама форма записи не является корректной.

$topic = \IPS\forums\Topic::load(ид_темы);
$topic->unhide(FALSE);

 

comment_156663

Честно говоря, я в замешательстве

30 минут назад, siv1987 сказал:

$post = \IPS\forums\Topic\Post::load(44); $post->unhide(FALSE);

проверял? 

14 минут назад, siv1987 сказал:

$topic = \IPS\forums\Topic::load(ид_темы); $topic->unhide(FALSE);

вот это работает

comment_156664
10 минут назад, accop сказал:

вот это работает

Вы плохо читаете сообщения. Оба варианта рабочие, просто для разных сущностей. В принципе по названию переменных уже можно догадаться что и для чего предназначено - $post и $topic.

comment_156665
4 минуты назад, siv1987 сказал:

Вы плохо читаете сообщения. Оба варианта рабочие, просто для разных сущностей. В принципе по названию переменных уже можно догадаться что и для чего предназначено - $post и $topic.

и правда

  • 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);
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.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.