Перейти к контенту

[2.3.x] Pinned Post in the topic


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

BigVOVA
на 2.2.2 помогло. В ближайших планах 2.3.5 попробовать. Отпишу результат.
отлично работает на 2.3.5
Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 173
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

gerbud запрос в /sources/lib/func_topic_linear.php

кроме как прописать данній код в данном файле еще нужно что-то для данной цели (при создании чтобі автоматом первій пост крепился) ?

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

как сделать что б при создании темы первый пост автоматически становился прикрепленным?

(при стандартном отображении темы)

да, біло бі очень неплохо знатЬ!

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

как сделать что б при создании темы первый пост автоматически становился прикрепленным?

(при стандартном отображении темы)

 

:D;):)

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

как сделать что б при создании темы первый пост автоматически становился прикрепленным?

(при стандартном отображении темы)

Делаем первый пост темы прикреплённым по умолчанию

Открываем ./sources/classes/post/class_post_new.php, находим:

//-----------------------------------------
// Update topic with firstpost ID
//-----------------------------------------

$this->ipsclass->DB->simple_construct( array( 'update' => 'topics',
			'set'    => "topic_firstpost=".$this->post['pid'][b].", pinned_post=".$this->post['pid'][/b],
			'where'  => "tid=".$this->topic['tid']
		)      );
Ссылка на комментарий
Поделиться на других сайтах

Господин Саннис. после данной операции все же останется главное действие мода - прикрепление любого поста первым?

No comments.

 

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

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

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

 

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

thanks. :D

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

  • 2 недели спустя...
Подскажите, куда добавить 'SHOW_PAGES' что бы при прикреплённом посте, номера страниц отображались не только снизу темы, но и сверху?
Ссылка на комментарий
Поделиться на других сайтах

Господин Саннис. после данной операции все же останется главное действие мода - прикрепление любого поста первым?

No comments.

 

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

А где поставить Вид: Линейный и что изменится?Подскажите пожалуйста...

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

  • 1 месяц спустя...
как сделать что б при создании темы первый пост автоматически становился прикрепленным?

(при стандартном отображении темы)

Делаем первый пост темы прикреплённым по умолчанию

Открываем ./sources/classes/post/class_post_new.php, находим:

//-----------------------------------------
// Update topic with firstpost ID
//-----------------------------------------

$this->ipsclass->DB->simple_construct( array( 'update' => 'topics',
			'set'    => "topic_firstpost=".$this->post['pid'][b].", pinned_post=".$this->post['pid'][/b],
			'where'  => "tid=".$this->topic['tid']
		)      );

 

 

есть одна проблема... если в настройках добавлены custom profile fielfs и пост пользователя делается поднятым, то под аватарой отображается всё кроме дополнительных полей причем во всей теме, это можно как то пофиксить?

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

  • 2 недели спустя...
  • 3 недели спустя...
ALTER TABLE `ibf_topics` ADD `pinned_post` BIGINT(20) NOT NULL DEFAULT '0';

 

Duplicate column name 'pinned_post'

 

 

Сопстно я не совсем понимаю откуда это взялось, так как не припомню, чтобы создавал такие поля.

 

 

И не могу прикрепленое сообщение открепить

 

Вам запрещено использование этой функции
Изменено пользователем Mortymer
Ссылка на комментарий
Поделиться на других сайтах

Такой вопрос а можно совместить этот мод с модом Thanks mod (кнопка "Спасибо") от AVol

.

В данный момент при использовании мода Спасибо и Pinned Post в теме где есть закрепленное сообщение количество сказавших спасибо не показываться.

 

Т.е. если я автор и мой пост закреплен я не вижу сколько людей мне сказали спасибо.

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

  • 2 недели спустя...
Может быть поможет:

Найти:

			$this->output = $this->class_attach->render_attachments( $this->output, $this->attach_pids );

Добавить перед:

			if( $this->topic['pinned_post'] )
		{
			$this->attach_pids = array_unique(array_merge($this->attach_pids, array($this->topic['pinned_post'])));
		}

 

сделал изменения в topics.php аттачи как не работали, так и не стали, что ещё можно попробывать?

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

  • 4 недели спустя...
прикрепляет любое сообщение темы вверху так, что оно остается видно, даже если перешел на другую страницу темы (обычно прикрепляют первое сообщение, чтобы был виден вопрос, заданный автором, и обсуждение не скатывалось в флейм)
Ссылка на комментарий
Поделиться на других сайтах

Ну ё-маё, программисты. тут делов для Вас на 10 минут (для меня часа как минимум на 4). Ну сделайте, чтобы не кнопка была, а в модераторской панели было сообщение "Прикрепить, Открепить"
Ссылка на комментарий
Поделиться на других сайтах

Итак, разобрался.

Если вы установили мод "Pinned...", а после него установили мод "СПАСИБО" из ЭТОЙ ТЕМЫ, то для решения описанной выше проблемы необходимо:

 

1. Открыть файл: /sources/lib/func_topic_linear.php

Найти:

// Vic'er -> Pinned Post in the topic {
            if ( $this->topic['pinned_post'] and ($ibforums->vars['pin_p'] == 0) ) {
                if ( $this->ipsclass->vars['custom_profile_topic'] == 1 )
                {
                    $this->ipsclass->DB->query("SELECT p.*, pp.*,
                m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
                me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name,
                pc.*
                    FROM ".SQL_PREFIX."posts p
                          LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
                          LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
                          LEFT JOIN ".SQL_PREFIX."pfields_content pc ON (pc.member_id=p.author_id)
                        LEFT JOIN ".SQL_PREFIX."profile_portal pp ON (m.id=pp.pp_member_id)
                    WHERE p.post_pinned='1' and p.queued !='1' and p.topic_id=".$this->topic['tid']);
                } else {
                    $this->ipsclass->DB->query("SELECT p.*,
                                        m.id,m.name,m.mgroup,m.email,m.joined,m.
posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
                                        me.msnname,me.aim_name,me.icq_number,me.
signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name
                                FROM ".SQL_PREFIX."posts p
                                    LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
                                    LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
                                WHERE p.post_pinned='1' and p.queued !='1' and p.topic_id=".$this->topic['tid']);
                }
                                $pinned_post = $this->ipsclass->DB->fetch_row();
            }
            // Vic'er -> Pinned Post in the topic }

И ЗАМЕНИТЬ на:

// Vic'er -> Pinned Post in the topic {
            if ( $this->topic['pinned_post'] and ($ibforums->vars['pin_p'] == 0) ) {
                if ( $this->ipsclass->vars['custom_profile_topic'] == 1 )
                {
                    $this->ipsclass->DB->query("SELECT p.*, pp.*,
                m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
                me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name,
                pc.*,m.thanks_point
                    FROM ".SQL_PREFIX."posts p
                          LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
                          LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
                          LEFT JOIN ".SQL_PREFIX."pfields_content pc ON (pc.member_id=p.author_id)
                        LEFT JOIN ".SQL_PREFIX."profile_portal pp ON (m.id=pp.pp_member_id)
                    WHERE p.post_pinned='1' and p.queued !='1' and p.topic_id=".$this->topic['tid']);
                } else {
                    $this->ipsclass->DB->query("SELECT p.*,
                                        m.id,m.name,m.mgroup,m.email,m.joined,m.
posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
                                        me.msnname,me.aim_name,me.icq_number,me.
signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name,m.thanks_point
                                FROM ".SQL_PREFIX."posts p
                                    LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
                                    LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
                                WHERE p.post_pinned='1' and p.queued !='1' and p.topic_id=".$this->topic['tid']);
                }
                                $pinned_post = $this->ipsclass->DB->fetch_row();
            }
            // Vic'er -> Pinned Post in the topic }

 

Учитывая, что не все свободно (как и я) владеют знаниями по ПХП, я привел весь кусок кода. На самом же деле, я всего лишь добавил в запрос в этом блоке поле:  ,m.thanks_point

Удачи!

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

  • 2 недели спустя...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.