Клик на ник - ник в форме ответа?!

Автор UHAHAN, 31 октября 2005, 10:57:18

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

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

UHAHAN

Запостил это на офф-форуме, но что-то активность там не очень...
============================================
Вот такая проблема - надо что бы при клике на ник в топике, он попадал в форму быстрого ответа окруженный "жирным" ввс, а не уходить в профиль пользователя... Если кто сможет мне помочь, буду безмерно благодарен;-}
============================================
Постараюсь поподробнее, мож кого заинтересует и проблема решится;-}
Требуется эта функция для того, что иногда (а в реале часто), требуется ответить в одном посте конкретному пользователю или нескольким, но цитировать их сообщения не целесообразно, поэтому не имеея функции "ник в ФО" приходится писать "2ник" или еще как извращаться, вместо того, что бы кликнуть на нике и получить его в ФО, что-нить типа "НИК", может быть еще и цвет другой (на phpBB у меня вставлялся жирный и серого цвета).
Как это реализованно в phpBB.
Весь код я приводить не буду, просто положу ссылку на зазипованный мод. ( Качаем/смотрим )
===============================
Вот строчки, которые отвечают за функцию, я уже всяка-разна пробовал их вкрутить в СМФ, них не получается...
Это замена функции "клик на ник - профиль":
#-----[ REPLACE WITH ]------------------------------------
#
<a href="javascript:emoticon('[b]{postrow.POSTER_NAME}[/b], ')">{postrow.POSTER_NAME}</a>

Это вроде как сам скрипт:
        function emoticon(text) {
                if (document.post.message.createTextRange && document.post.message.caretPos) {
                        var caretPos = document.post.message.caretPos;
                        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
                        document.post.message.focus();
                } else {
                        document.post.message.value  += text;
                        document.post.message.focus();
                }
        }

======================
Моих знаний и умений конкретно не хватает для решения этой проблемы, я просто немного продвинутый пользователь, единственное оружие - метод ненаучного тыка (но иногда результаты впечатляют;-})...
Умельцы (левши), я не прошу все делать за меня (для меня), прошу найти решение и доступно (для продвинутого чайника) объяснить... Уверен, очень многие заинтересованны в подобной функции - большинство сталкивались с оверквотингом, когда какой-нить Левматьеготолстой в сообщении накатает войну-и-мир-II, а пара-тройка почитателей таланта жмыхнут кнопку "цитировать", только для того, что бы поставить пару дурацких смайликов...
Может быть стоит запостить все это в анг-части форума, но я писать не умею по англицки, тока читаю (эт не шутка, так бывает).
С уважением и надеждой, Демьян Рычков
-=UHAHAN=-
=========
PS готов даж обсудить некоторую финансовую поддержку:-}

Mavn

Вещь конечно хорошая но на реализацию у нас пока нет времени :) так что прейдется либо ждать либо писать самому, если и будем реализовывать такую фишку то это произойдет не скоро...
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

Dimyan

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

Mavn

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

lodyr

этот мод подходит для 1.1rc2 или только для 1.1rc1?

lodyr

при установке этого мода на 1.1 RC2 выдается ошибка в админ панели в файле Display.template.php
я так понимаю, не получается выполнить следующий код при установке мода, так как  function onDocReceived(XMLDoc) в файле Display.template.php просто нет, может кто-нибудь знает что-делать?
хотя сам мод вроде работает, может где потом вылезет ошибка
<operation>

<search position="after"><![CDATA[function onDocReceived(XMLDoc)
]]></search>
<add><![CDATA[function doName(messageid)
        {
                if (currentSwap)
                        window.location.href = "', $scripturl, '?action=post;quote=" + messageid + ";topic=', $context['current_topic'], '.', $context['start'], ';sesc=', $context['session_id'], '";
                else
                {
                        window.open("', $scripturl, '?action=quotename;quote=" + messageid + ";sesc=', $context['session_id'], '", "quote", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,top=40,left=40,width=240,height=90,resizable=no;");
                        if (navigator.appName == "Microsoft Internet Explorer")
                                window.location.hash = "quickreply";
                        else
                                window.location.hash = "#quickreply";
                }
        }
]]></add>
</operation>

Xansen

У меня RC1 и мод не работает. В чем может быть проблема?

форум был интегрирован в джумла 1.0.8

Sedoy

такая фишка реализована на _http://forum.joom.ru но у них smf 1.1.rc1
можешь там спросить как это реализовано

Mavn

Цитировать<b><a href="javascript:void(0)" onClick="replaceText(\'',
$message['member']['name'],
'
\', document.postmodify.message);">',
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

PaXaN

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

эНДжей

Неужели так никто и не разобрался?

SAS


эНДжей

Спасибо, я уже разобрался. Точнее, мне помогли:)

Knish

Цитата: эНДжей от 01 сентября 2006, 15:19:28
Спасибо, я уже разобрался. Точнее, мне помогли:)
Ну, а ты своё решение не раскроеш?

Avdenago

Господа вещь хорошая и нужная. пробовал сделать так как везде советовали - ничего не получилось.
Кто может поделится решением данной задачи?

эНДжей

Цитата: Knish от 01 сентября 2006, 15:25:36
Цитата: эНДжей от 01 сентября 2006, 15:19:28
Спасибо, я уже разобрался. Точнее, мне помогли:)
Ну, а ты своё решение не раскроеш?
вот здесь взял http://www.simplemachines.org/community/index.php?topic=102711.msg665831#msg665831 и ещё лично переговорил с автором:)

Avdenago

Да читал я ту ветку. и вроде пробовла все сделать как там написано. Но результат - никакой.

SAS

1. делай как написано в теме - http://www.simplemachines.org/community/index.php?topic=54787.msg621237#msg621237
2. если не получилось, см. пунт 1-й

P.S. фсё заработало с первова раза у миня, паэтому попробуй заново переделать...

Avdenago

#18
А может быть дело в браузере?

И еще. Вот этого
Цитироватьв том же файле, после загрузки формы быстрого ответа
<textarea class="editor" name="'

вот тут нету
http://www.simplemachines.org/community/index.php?topic=102711.0

SAS

это ты где вычитал ?

может у тибя RC3 ?

Avdenago

у меня RC2

вычитал тут
http://www.simplemachines.org/community/index.php?topic=54787.msg621237#msg621237


А вообще давно пора мод замутить.
Там Grek делал, но он только на RC1

SAS

зачем мутить мод из-за двух строк, хотя это дело Greka :)

прочитай здесь а, третий рас уже сцылку эту даю - http://www.simplemachines.org/community/index.php?topic=102711.msg665831#msg665831

Alex_T

Все просто - и так по порядку
1. окрываем Display.template.php Текущей темы
2. ишем там

// Show information about the poster of this message.
echo '
<table width="100%" cellpadding="5" cellspacing="0">
<tr>
<td valign="top" width="15%" rowspan="2">
<b>', $message['member']['link'], '</b><br />
<span class="smalltext">';

а лучше строку строчку <b>', $message['member']['link'], '</b><br />
3. и заменяем её (строчку всю) на <b><a href="javascript:void(0)" onClick="replaceText(\'[b]', $message['member']['name'], '[/b]\', document.postmodify.message);">', $message['member']['name'],'</a></b><br />

Вот и все .... ;)

Avdenago

Хорошо. То есть потом кликнув по нику мы уже в профиль не попадем ни при каких условиях?

Mavn

Alex_T
угу все работает только в 1.1 RC3 в дефолтовой теме нет <br /> так что соответственно код будет таким

<b>', $message['member']['link'], '</b>


заменить на

<b><a href="javascript:void(0)" onClick="replaceText(\'[b]', $message['member']['name'], '[/b]\', document.postmodify.message);">', $message['member']['name'],'</a></b>

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

rols

Mavn
я исправил код как ты написал выше, всё работало прекрасно O0. Но через две минуты в меню "TinyPortal" я попробовал открыть статью и ни одна статья просто не показывается на страничке :'(
У меня так же выведен на тех же страницах RSS  и он выдает такую ошибку  XML error: Invalid character at line 8
Посмотрел "Логи ошибок форума" там ничего нет :-\
поставил всё на место а статьи так и не показываются Help!!!

rols

Просмотрел ещё разок всё >:(
Отключил RSS и тогда всё заработало!

Mavn
Не ужели этот код как-то навредил RSS ??


Mavn

Я не программист я всего лишь переработал код для дефолтовой темы если обратите внимание то убрал только один тэг <br />
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

Alex_T

Avdenago ну почему - в профиль можно попасть нажав на книпочку (если включена в админке естественно), которая под аваторкой находится, тут вот такая

Avdenago

Понятно. просто интересно получается удобство одним в ущерб привычек других... 

Alex_T

.... ну тут как всегда - или шашечки или ехать :(

Julax

А вот вопрос... а если у темы НЕТУ файла Display.template.php ??? Боюсь, я уже знаю ответ...
Кстати, тема "Black Rain", во всем мне симпатичная.

Alex_T

Цитата: Julax от 25 ноября 2006, 07:14:53
А вот вопрос... а если у темы НЕТУ файла Display.template.php ??? Боюсь, я уже знаю ответ...
Кстати, тема "Black Rain", во всем мне симпатичная.
Тогда она использует Display.template.php темы Default ;) 99% вероятности - меняй там :)

Julax


Alex_T


Alex_T

Кстати уточнение - если вы используете возможность выбора темы пользователями, то незабудте внести эти изменения в каждую тему (при наличии естественно в ней Display.template.php)

Julax


vladok

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

Выкрутился путем вставки строчки кода под кол-вом сообщений в темплате Display.template.php

echo '<a href="javascript:void(0)" onClick="replaceText(\'[b]', $message['member']['name'], '[/b],\', document.postmodify.message);">', 'ник в сообщение >','</a><br /><br />';

Есть более элегантные решения? В случае работы мода расцвечивания ников юзеров?
Харе кришна, май либер зольдат...

Julax

Хороший, нужный мод. Надо бы его адаптировать к финальной версии :)
Или я уже что-то пропустила?

Alex_T

ЦитироватьЕсть более элегантные решения? В случае работы мода расцвечивания ников юзеров?
посуольку данный мод не использую (пока) - то к сожеоению помочь не могу :(

Thresh

в 1.1 RC3  в темах/скинах  от Tspyder'a всё работает с <br />
Two beer or not two beer...

Mavn

vladok
ссылку на мод приведи 

Julax
уже все адаптированно

Thresh
То решение что я привел оно для default тему оформления о чем было написано, а вообще код от темы к теме оформления может менятся так что не стоит бездумно использовать то что написано мод всегда можно адаптировать под любую тему оформления
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

vladok

"Member Color Link" -это название несовместимого с этим /см. выше чем/  мода, а вот ссылку...  http://mods.simplemachines.org/index.php?mod=111
Харе кришна, май либер зольдат...

Mavn

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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

Mrak

Такой момент - метод "ник - имя в форме ответа" дает сбой в объединении с "цитировать выделенное". А именно - если набрать цитат в форму ответа, не поставив в неё курсор, то нажатие на ник пользователя заменяет все содержимое формы на ник пользователя.

<b><a href="javascript:void(0)" onClick="replaceText(\'[b]', $message['member']['name'], '[/b]\', document.postmodify.message);">', $message['member']['name'],'</a></b><br />
Может быть, дело в onClick="replaceText?"

G00dvin

Цитироватьугу все работает только в 1.1 RC3 в дефолтовой теме нет <br /> так что соответственно код будет таким
Код:
<b>', $message['member']['link'], '</b>
заменить на
Код:
<b><a href="javascript:void(0)" onClick="replaceText(\'', $message['member']['name'], '\', document.postmodify.message);">', $message['member']['name'],'</a></b>

Mavn - Пасиб все получилось как написал. При нажатии на ник, он выделенный появляется в быстром ответе. У мя Powered by SMF 1.1.2

Gover

Цитата: Mrak от 26 декабря 2006, 17:14:16
Такой момент - метод "ник - имя в форме ответа" дает сбой в объединении с "цитировать выделенное". А именно - если набрать цитат в форму ответа, не поставив в неё курсор, то нажатие на ник пользователя заменяет все содержимое формы на ник пользователя.
Может быть, дело в onClick="replaceText?"
В этом проблемы никакой не должно быть. Только что проверил - все работает нормально. На нашем форуме установлен и "клик на ник" и "цитата выделенного" и при использовании их одновременно ничего в форме быстрого ответа не пропадает.
Как много лишних слов, как мало лишниг денег...<br />Все победы в жизни начинаются с победы над собой.

stretch

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

Gover

А оно вроде сразу и тегами обрамляется, если нет, то используй следующий код
<a href="javascript:void(0)" onClick="replaceText(\'[b]', $message['member']['name'], '[/b]\', document.postmodify.message);">', $message['member']['name'],'</a>
Как много лишних слов, как мало лишниг денег...<br />Все победы в жизни начинаются с победы над собой.

Golden Dragon

как сделать чтобы курсор переходил на след строчку?

"
User,
|
"
| - курсор