Перейти к содержанию

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


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

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

Что-то типа

\IPS\content\show($id);

 

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

q.png.b8abf9c73e4cbd5618513781489c7221.png

Ссылка на комментарий
Поделиться на другие сайты

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

или

$post->queued = 0;
$post->save()

 

Ссылка на комментарий
Поделиться на другие сайты

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

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

Что-то типа


\IPS\content\show($id);

 

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

q.png.b8abf9c73e4cbd5618513781489c7221.png

Можно так

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

 

Ссылка на комментарий
Поделиться на другие сайты

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

Можно так

Так нельзя.

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

Ссылка на комментарий
Поделиться на другие сайты

Только что, 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

Ссылка на комментарий
Поделиться на другие сайты

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

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

 

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

проверял? 

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

и правда

Ссылка на комментарий
Поделиться на другие сайты

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);
Ссылка на комментарий
Поделиться на другие сайты

 

25 минут назад, Налик сказал:

Только честно говоря не понял какое булевое значение подавать правильно, хоть TRUE, хоть FALSE - открывают сообщение/топик.

Эта функция только скрывает сообщения. Принимает только один аргумент от кого опубликовано сообщение, если это
instance of \IPS\Member
NULL - от текущего пользователя
FALSE - нет пользователя

Для скрытия используется метод hide с аналогичным параметром, а также второй - reason (выше есть ссылка на документацию, которую любезно предоставил аккоп)

Только что, siv1987 сказал:

только скрывает сообщения

Открывает. Оговорился.

Ссылка на комментарий
Поделиться на другие сайты

siv1987 теперь понял, спасибо)

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...