Re: [TopFirstPost] - Мод закрепления сообщения

Автор Loac, 21 марта 2007, 01:22:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Loac


M[e]D1uM

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

deadbead

И где его "закрепить"? в середине темы? Или все таки речь о необходимости создания шапки темы после создания темы? Тогда эта проблема обсуждается парой постов выше... Думаем...
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

M[e]D1uM

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

usama

Установил TopFirstPost v1.1.1_UTF-8. Так как тема используется нестандартная, поэтому пришлось в коде вручную модить. При закреплении поста в теме, все посты данной темы перестают отображаться, отображается лишь шапка темы. Все становится на свои места когда закрепление отменяешь (через базу данных).
Нашел проблемный участок кода в скрипте Display.Template :

$reply_button = create_button('quote.gif', 145, 'smf240', align="middle"');
$modify_button = create_button('modify.gif', 66, 17, 'align="middle"');
$remove_button = create_button('delete.gif', 121, 31, 'align="middle"');
$split_button = create_button('split.gif', 'smf251', 'smf251', 'align="middle"');
//Этот участок кода был добавлен вручную, как и требовалось
if($context['TopFirstPost_isSticky']){
$sticky_button = create_button('sticky.gif', 'TopFirstPost_unsticky_note', 'TopFirstPost_unsticky', 'align="middle"');
} else {
$sticky_button = create_button('sticky.gif', 'TopFirstPost_sticky_note', 'TopFirstPost_sticky', 'align="middle"');
}

// Time to display all the posts
echo '
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="bordercolor">';

    // Get all the messages...
//Вот условие, которое выполняется, если первый пост в теме не закреплен, и //не выполняется в противном случае
   while ($message = $context['get_message']())

{
       ...............


Помогите разобраться плз.

Loac



M[e]D1uM

Еще раз прошу, скажите, как сделать шапкой темы любой пост, поясняю, кто то создал тему, но первый пост выглядит не так как надо, так вот например кто нибудь другой сделал специально для шапки темы пост, ну а потом я его прикрепляю как шапку! Пожалуйста, это очень нужно, для дальнейшего продвижения моего форума, мне без этого ни как...

digger®

Цитата: M[e]D1uM от 17 апреля 2008, 19:05:51
Еще раз прошу, скажите, как сделать шапкой темы любой пост, поясняю, кто то создал тему, но первый пост выглядит не так как надо, так вот например кто нибудь другой сделал специально для шапки темы пост, ну а потом я его прикрепляю как шапку! Пожалуйста, это очень нужно, для дальнейшего продвижения моего форума, мне без этого ни как...
http://www.simplemachines.ru/index.php/board,41.0.html

Loac

Странно, у меня все нормально отображается.

зы: а че атач так «классно» уменьшился? :)

Nemo000

Цитата: Loac от 08 марта 2008, 22:52:51
В файле Display.php найди строчки

// Compose the memory eat- I mean message array.
$output = array(

Добавь перед ними

$can_modify_first_msg = (array_intersect ($user_info['groups'], array(4, 10)) && $context['topic_first_message'] == $message['ID_MSG']);

В этой строке есть цифры: (4, 10) — это индексы групп, которым можно править первые сообщения. Вписывай свои.

Найди строку (чуть ниже)

'can_modify' => (!$context['is_locked'] || allowedTo('moderate_board')) && (allowedTo('modify_any') || (allowedTo('modify_replies') && $context['user']['started']) || (allowedTo('modify_own') && $message['ID_MEMBER'] == $ID_MEMBER && (empty($modSettings['edit_disable_time']) || $message['posterTime'] + $modSettings['edit_disable_time'] * 60 > time()))),

и добавь в конце, перед запятой

|| $can_modify_first_msg


Открой файл Post.php

Найди строку. Там их три.

if ($row['ID_MEMBER'] == $ID_MEMBER && !allowedTo('modify_any'))

Замени все на

if ($row['ID_MEMBER'] == $ID_MEMBER && !allowedTo('modify_any') || $can_modify_first_msg)

Добавь перед первой

$can_modify_first_msg = ($_REQUEST['msg'] == $ID_FIRST_MSG) && array_intersect ($user_info['groups'], array(4, 10));

Перед второй и третей

$can_modify_first_msg = ($_REQUEST['msg'] == $row['ID_FIRST_MSG']) && array_intersect ($user_info['groups'], array(4, 10));

Не забудь везде поменять (4, 10) на свои индексы.

Очень прошу помочь с доработкой. Суть в следующем. Я часто создаю много новых групп. Очень хочеться не лезть в файлы и писать индексы груп вручную, а добавить возможность для группы через админку. Надеюсь, что поможете с решением данной задачи.
Спасибо за внимание.

Loac

Постараюсь помочь, но чуть позже, сейчас напряженно со временем.

Loac

Получилось довольно много, запихал все в файлик.

После всех изменений в настройках сообщений должен появиться список групп.

Не забудь сделать резервные копии файлов :)

Nemo000

Loac, спасибо тебе огромное. Ты суперский чел.

MrCreatoR

Поддержка SMF 1.1.5 будет? (или уже есть? ???)

Попытался поставить изменив <install for="..., 1.1.5">, но при попытке установки выдаёт ошибку в Display.php:

ЦитироватьИзменение файла   ./Sources/Display.php   Неудачно

Что я могу сам вручную изменить в этом файле чтобы заработало? Я установли не смотря на эту ошибку, но все темы отображают только первое сообщение :)

Спасибо.

Loac

Поставил мод (без изменений) на чистый smf 1.1.5. Все нормально.

Видимо, у вас конфликт с другими модами.

Откройте файл install.xml и посмотрите, какие строки он меняет в Display.php. Попробуйте изменить их вручную.

MrCreatoR

Я удалил мод, чтобы поставить по новой, и поправить что нужно в Display.php, но при попытке установить (даже с ошибкой) выдаётся сообщение:

ЦитироватьDuplicate entry 'TopFirstPost' for key 1
Файл: /home/bitcent4/public_html/forum/Packages/temp/install.php
Строка: 8

Примечание: Возможно Вашей базе данных требуется обновление. Версия файлов Вашего форума SMF 1.1.5, тогда как версия Вашей базы данных 1.1.4. Для устранения ошибки обновите, пожалуйста, форум.

Другие моды устанавливаются нормально, это проблема мода, или действительно в базе данных форума?

Loac

База данных форума тут не причем.

Моды, которые у вас установлены изменили некоторые строки в Display.php. Отсюда ошибка установки TopFirstPost

MrCreatoR

Цитата: Loac от 27 мая 2008, 19:29:49
База данных форума тут не причем.

Моды, которые у вас установлены изменили некоторые строки в Display.php. Отсюда ошибка установки TopFirstPost
Спасибо за помощь (и за мод естественно :) ), проблему решили! (правкой Display.php).

lilula

а можно поподробнее что изменили у меня та же проблема :(
Я-мама!

MrCreatoR

Цитата: lilula от 27 мая 2008, 22:29:48
а можно поподробнее что изменили у меня та же проблема :(
Какая из них? :) Проблема с установкой? или с сообщением «Duplicate entry 'TopFirstPost' for key 1»?

По первой...
В Display.php ищется строка:

ORDER BY ID_MSG" . (empty($options['view_newest_first']) ? '' : ' DESC'), __FILE__, __LINE__);

А другой мод там изменил эту строку и добавил ещё пару (это у нас на форуме), можно попробовать искать так (это в самом моде нужно менять перед установкой):

ORDER BY ID_MSG" . (empty($options['view_newest_first']) ? '' : ' DESC')

Но нужно смотреть ваш конкретный случай, я в этом далеко не спец.

Nemo000

Хотелось бы увидеть данный мод под SMF 2.0 Beta 3.1.

Или увидеть инструкцию по ручной установки под эту версию...

Loac



dm_mb

угу.. давно жду конца лета :)) очень нужный мод.

Serifa

Цитата: Loac от 05 декабря 2007, 17:53:31
Очень просто. Мод будет работать на любой теме, просто надо добавить кнопочку для прикрепления сообщений и разделитель на второй и далее страницах.......В файле Display.template.php (в папке с твоей темой)

Я нашла классную тему оформления для форума. Не Вавилон, но на основе Вавилона. И все хорошо (почти), акромя прикрепления постов.
Указанный способ не помогает, пишет: ошибка шаблона, нелады какие-то с этим Display.template.php.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

Loac

Прикрепи тему оформления. Посмотрю.

Цитироватьугу.. давно жду конца лета ) очень нужный мод.
Да, да. Надо бы заняться  ::)

Serifa

измененный файлик Display.template.php не сохранился, только вот это:
плюс сама тема:
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

Loac

Измененный Display.template.php для твоей темы.

Изменения можно проследить сравнив старый и новый файлы. Например с помощью WinMerge

Serifa

Благодарю Вас, сударь. Проверю и напишу, что и как.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!


Mr. Anviss

Нужен сильно мод? Могу переписать под SMF 2.0 public 3.1 за вознаграждение.


Mr. Anviss

Цитата: digger от 11 сентября 2008, 13:52:48
Cпасибо, посмеялся :)

Наздоровье. Смех продлевает жизнь. Только что в моем посте смешного? Может вместе посмеёмся? :)

digger®

Цитата: anviss от 11 сентября 2008, 13:59:58
Наздоровье. Смех продлевает жизнь. Только что в моем посте смешного? Может вместе посмеёмся? :)
Я такой мод сам могу за вечер написать, не надо меня на деньги разводить :)

Mr. Anviss

Ах какой маладец ! Так помоги людям бесплатно. А то только ирония. :'(


Serifa

Офф-топ: Камрады, не ссорьтесь, на всех всего хватит. Хлеба и зрелищ тоже. И модов. Спокойствие, только спокойствие.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

catHD



catHD

да вот проблема с тема ми то остается, т.е не во всех "шаблонах" работает :( , хотелось бы услышать мнение специалистов , может есть какой то общий способ ?:)

digger®

Цитата: catHD от 04 октября 2008, 10:55:25
да вот проблема с тема ми то остается, т.е не во всех "шаблонах" работает :( , хотелось бы услышать мнение специалистов , может есть какой то общий способ ?:)
Ставить вручную на нужную тему.

catHD

такой ответ выглядит как " вот вам PHP, давайте ребята , нужен мод - вот вперед :)

Mr. Anviss

Ну что вы на парня давите. Возьмите и переделайте мод сами. Чай не высшая математика.

digger®

Цитата: catHD от 05 октября 2008, 12:49:53
такой ответ выглядит как " вот вам PHP, давайте ребята , нужен мод - вот вперед :)
Нужен мод - пилите разработчиков SMF, чтобы сделали шаблоны оформления независимыми от кода, тогда моды будут работать на любой теме.

narcolog

Обнаружилась досадная бага с AJAX Instant Quick Reply
В теме с прикрепленным первым постом если использовать быстрый ответ, то аякс подгружает не текущее написанное сообщение, а первый прикрепленный пост темы. Если после этого сделать рефрэш страницы, то все становится на свои места. Гляньте, это только у меня так или это лечить надо?

Шаннар

И можно ли как-то сделать отображение и вложений к прикреплённому сообщению на всех страницах? Было бы значительно удобней, как по мне.

lilula

под 1.1.7 не работает вообще.. :( эх
научите как ставить то?
Я-мама!


Mr. Anviss

Цитата: Шаннар, 2:463/587 от 15 октября 2008, 12:48:38
И можно ли как-то сделать отображение и вложений к прикреплённому сообщению на всех страницах? Было бы значительно удобней, как по мне.

Вот переделал мод TopFirstPost 1.1.1 Теперь и вложения также отображаются с прикрепленным сообщением на всех страницах.