maclader777 1 06/25/2007 07:55 PM (edited) Поиск по форуму не помог( Установил мод Translit все ок! только это модуль есть в Ответе. Как ещё добавить его чтобы данная кнопка была в Быстром ответе. Зарание спасибо хочу ещё сюда :) оч прошу :) поменяйте в коде что надо чтобы была кнопка в быстром ответе см код: Изменяемые файлы: ./jscripts/ips_text_editor.js //-------------------------------------------------------------------------------- // Открыть ./jscripts/ips_text_editor.js //-------------------------------------------------------------------------------- ================================================================================ = Отличить сжатую версию JS от несжатой очень просто: в сжатой версии все написано в одну строку, без пробелов, а в несжатой используются пробелы, табы и прочее для читаемости кода. ================================================================================ = Если вы используете сжатую версию JS, то добавить в конец файла: ================================================================================ = var rus_lr2=('Е-е-О-о-Ё-Ё-Ё-Ё-Ж-Ж-Ч-Ч-Ш-Ш-Щ-Щ-Ъ-Ь-Э-Э-Ю-Ю-Я-Я-Я-Я-ё-ё-ж-ч-ш-щ-э-ю-я-я').split('-');var lat_lr2=('/E-/e-/O-/o-ЫO-Ыo-ЙO-Йo-ЗH-Зh-ЦH-Цh-СH-Сh-ШH-Шh-ъ'+String.fromCharCode(35)+'-ь'+String.fromCharCode(39)+'-ЙE-Йe-ЙU-Йu-ЙA-Йa-ЫA-Ыa-ыo-йo-зh-цh-сh-шh-йe-йu-йa-ыa').split('-');var rus_lr1=('А-Б-В-Г-Д-Е-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Х-Ц-Щ-Ы-Я-а-б-в-г-д-е-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-х-ц-щ-ъ-ы-ь-ь-я').split('-');var lat_lr1=('A-B-V-G-D-E-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-X-C-W-Y-Q-a-b-v-g-d-e-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-x-c-w-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-'+String.fromCharCode(96)+'-q').split('-');function translit(){var obj_ta=document.REPLIER.Post;if((ua_vers>=4)&&is_ie&&is_win){if(obj_ta.isTextEdit){obj_ta.focus();var sel=document.selection;var rng=sel.createRange();rng.colapse;if((sel.type=="Text"||sel.type=="None")&&rng!=null){rng.text=dotranslate(rng.text)}}else{obj_ta.value=dotranslate(obj_ta. alue)}}else if(obj_ta.selectionEnd){var ss=obj_ta.selectionStart;var st=obj_ta.scrollTop;var es=obj_ta.selectionEnd;if(es<=2){es=obj_ta.textLength}var start=(obj_ta.value).substring(0,ss);var middle=(obj_ta.value).substring(ss,es);var end=(obj_ta.value).substring(es,obj_ta.textLength);if(obj_ta.selectionEnd-obj_ta.selectionStart>0){middle=dotranslate(middle)}obj_ta.value=start+middle+end;var cpos=ss+(middle.length);obj_ta.selectionStart=cpos;obj_ta.selectionEnd=cpos;obj_ a.scrollTop=st}else{obj_ta.value=dotranslate(obj_ta.value)}obj_ta.focus();return function dotranslate(text){var txtnew="";var symb=0;var subsymb="";var trans=1;for(kk=0;kk<text.length;kk++){subsymb=text.substr(kk,1);if((subsymb=="[")||(subsymb=="<")){trans=0}if((subsymb=="]")||(subsymb==">")){trans=1}if(trans){symb=transsymbtocyr(txtnew.substr(txtnew.length-1,1),subsymb)}else{symb=txtnew.substr(txtnew.length-1,1)+subsymb}txtnew=txtnew.substr(0,txtnew.length-1)+symb}return txtnew}function transsymbtocyr(pretxt,txt){var doubletxt=pretxt+txt;var code=txt.charCodeAt(0);if(!(((code>=65)&&(code<=123))||(code==35)||(code==39)))return doubletxt;var ii;for(ii=0;ii<lat_lr2.length;ii++){if(lat_lr2[ii]==doubletxt)return rus_lr2[ii]}for(ii=0;ii<lat_lr1.length;ii++){if(lat_lr1[ii]==txt)return pretxt+rus_lr1[ii]}return doubletxt} ================================================================================ = Если вы используете несжатую версию JS, то добавить в конец файла: ================================================================================ = //translit var rus_lr2 = ('Е-е-О-о-Ё-Ё-Ё-Ё-Ж-Ж-Ч-Ч-Ш-Ш-Щ-Щ-Ъ-Ь-Э-Э-Ю-Ю-Я-Я-Я-Я-ё-ё-ж-ч-ш-щ-э-ю-я-я').split('-'); var lat_lr2 = ('/E-/e-/O-/o-ЫO-Ыo-ЙO-Йo-ЗH-Зh-ЦH-Цh-СH-Сh-ШH-Шh-ъ'+String.fromCharCode(35)+'-ь'+String.fromCharCode(39)+'-ЙE-Йe-ЙU-Йu-ЙA-Йa-ЫA-Ыa-ыo-йo-зh-цh-сh-шh-йe-йu-йa-ыa').split('-'); var rus_lr1 = ('А-Б-В-Г-Д-Е-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Х-Ц-Щ-Ы-Я-а-б-в-г-д-е-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-х-ц-щ-ъ-ы-ь-ь-я').split('-'); var lat_lr1 = ('A-B-V-G-D-E-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-X-C-W-Y-Q-a-b-v-g-d-e-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-x-c-w-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-'+String.fromCharCode(96)+'-q').split('-'); //translit //========================================== // TRANSLITIRATE (Main) //========================================== function translit() { var obj_ta = document.REPLIER.Post; //---------------------------------------- // It's IE! //---------------------------------------- if ( (ua_vers >= 4) && is_ie && is_win) { if (obj_ta.isTextEdit) { obj_ta.focus(); var sel = document.selection; var rng = sel.createRange(); rng.colapse; if((sel.type == "Text" || sel.type == "None") && rng != null) { rng.text = dotranslate(rng.text); } } else { obj_ta.value = dotranslate(obj_ta.value); } } //---------------------------------------- // It's MOZZY! //---------------------------------------- else if ( obj_ta.selectionEnd ) { var ss = obj_ta.selectionStart; var st = obj_ta.scrollTop; var es = obj_ta.selectionEnd; if (es <= 2) { es = obj_ta.textLength; } var start = (obj_ta.value).substring(0, ss); var middle = (obj_ta.value).substring(ss, es); var end = (obj_ta.value).substring(es, obj_ta.textLength); //----------------------------------- // text range? //----------------------------------- if (obj_ta.selectionEnd - obj_ta.selectionStart > 0) { middle = dotranslate(middle); } obj_ta.value = start + middle + end; var cpos = ss + (middle.length); obj_ta.selectionStart = cpos; obj_ta.selectionEnd = cpos; obj_ta.scrollTop = st; } //---------------------------------------- // It's CRAPPY! //---------------------------------------- else { obj_ta.value = dotranslate(obj_ta.value); } obj_ta.focus(); return; } //========================================== // TRANSLITIRATE (String convertion) //------------------------------------------ // Original code from translit.ru // by Igor Ilyin (2002-2004) //========================================== function dotranslate(text) { var txtnew = ""; var symb = 0; var subsymb = ""; var trans = 1; for (kk=0;kk<text.length;kk++) { subsymb = text.substr(kk,1); if ((subsymb=="[") || (subsymb=="<")) { trans = 0; } if ((subsymb=="]") || (subsymb==">")) { trans = 1; } if (trans) { symb = transsymbtocyr(txtnew.substr(txtnew.length-1,1), subsymb); } else { symb = txtnew.substr(txtnew.length-1,1) + subsymb; } txtnew = txtnew.substr(0,txtnew.length-1) + symb; } return txtnew; } //========================================== // TRANSLITIRATE (Symbol convertion) //------------------------------------------ // Original code from translit.ru // by Igor Ilyin (2002-2004) //========================================== function transsymbtocyr(pretxt,txt) { var doubletxt = pretxt+txt; var code = txt.charCodeAt(0); if (!(((code>=65) && (code<=123))||(code==35)||(code==39))) return doubletxt; var ii; for (ii=0; ii<lat_lr2.length; ii++) { if (lat_lr2[ii]==doubletxt) return rus_lr2[ii]; } for (ii=0; ii<lat_lr1.length; ii++) { if (lat_lr1[ii]==txt) return pretxt+rus_lr1[ii]; } return doubletxt; } ================================================================================ = //-------------------------------------------------------------------------------- // Открыть Админцентр -> ВНЕШНИЙ ВИД -> * -> Изменить HTML фрагменты -> skin_editors (редактор сообщений) -> ips_editor // (Admin CP -> LOOK & FEEL -> * -> Edit Template HTML -> skin_editors -> ips_editor) //-------------------------------------------------------------------------------- Найти: ================================================================================ = <td><div class="rte-normal" id="{$editor_id}_cmd_underline"><img src="{$images_path}rte-underlined.png" alt="{$this->ipsclass->lang['js_tt_underline']}" title="{$this->ipsclass->lang['js_tt_underline']}" ></div></td> ================================================================================ = Добавить ниже: ================================================================================ = <td><div class="rte-normal"><a href="java script:translit()"><img src="{$images_path}rte-translit.gif" alt="Translit" title="Translit" ></a></div></td> ================================================================================ = //-------------------------------------------------------------------------------- // Скопировать rte-translit.gif в папку ./style_images/<папка_скина>/folder_editor_images/ //-------------------------------------------------------------------------------- у меня жатая версия.. Edited June 25, 2007 by SomehaiN Share this post Link to post
Sannis 2 06/25/2007 08:01 PM Поместите код в тег [codebox] [/codebox] :) Share this post Link to post
somehain 5 06/25/2007 08:30 PM Админцентр -> ВНЕШНИЙ ВИД -> Ваш_стиль -> Редактировать HMTL фрагменты -> skin_topic (просмотр темы) -> quick_reply_box_open. Найти: <td><div class="rte-normal" id="{$editor_id}_cmd_underline"><img src="{$images_path}rte-underlined.png" alt="{$this->ipsclass->lang['js_tt_underline']}" title="{$this->ipsclass->lang['js_tt_underline']}" ></div></td> Добавить ниже: <td><div class="rte-normal"><a href="java script:translit()"><img src="{$images_path}rte-translit.gif" alt="Translit" title="Translit" ></a></div></td> p.s. даже если у вас и сжатый js, то вставляйте код в самый конец файла. Share this post Link to post
maclader777 1 06/25/2007 08:33 PM > Sannisобъясни пожалуйста подробнее(( где этот тег ... куда нада заходить Share this post Link to post
somehain 5 06/25/2007 08:35 PM > Sannisобъясни пожалуйста подробнее(( где этот тег ... куда нада заходить Имелось ввиду тело 1 сообщения заключить в этот bb-код. :) Share this post Link to post
maclader777 1 06/25/2007 08:58 PM нечерта не понял((угу.. чтобы ещё в "Быстрый ответ" добавился мод транслит Share this post Link to post
maclader777 1 06/26/2007 08:13 AM сделал..рисунок не отоброжается, и транслит не работает "Ошибка на странице" Share this post Link to post
somehain 5 06/26/2007 08:18 AM 1) Вы не загрузили изображение в папку ./folder_editor_images/;2) jаvаscriрt пишется вместе! (английскими буквами). Share this post Link to post
maclader777 1 06/26/2007 10:38 AM сделал так: <td><div class="rte-normal"><a href="java script:translit()"><img src="style_images/<#IMG_DIR#>/folder_editor_images/rte-translit.gif" alt="Translit" title="Translit" ></a></div></td> изображение есть.. только Транслит не работает((( ошибка на странице Так кажется что путь не верный(( в Ответе работает. А быстрый ответ нет(( может путь надо ещё указать для быстрого ответа? Загрузил инструкцию..translit.txt Share this post Link to post
andaril 4 06/26/2007 11:43 AM Просто файл с кодом транслита не подгружается. Можете, например, в шаблоне topic_page_top (skin_topic) указать путь к скрипту с транслитом, и все должно забаротать.SomehaiN, а вы попробуйте слитно в тэге code написать javascript в якоревот пример:<a href="java script:translit()"> Share this post Link to post
maclader777 1 06/26/2007 12:35 PM > andarilесли я мог бы указать путь :) открыл "topic_page_top" в АЦне знаю что туда добавить :) Загрузил сюда topic_page_top … добавьте туда пжлс нужный путь чтобы транслит работал в Быстром Ответе. <script type="text/javascript"> <!-- var ipb_lang_tt_prompt = "{$this->ipsclass->lang['tt_prompt']}"; var ipb_lang_js_del_1 = "{$this->ipsclass->lang['js_del_1']}"; var ipb_lang_js_del_2 = "{$this->ipsclass->lang['js_del_2']}"; var addquotebutton = "{$this->ipsclass->vars['img_url']}/p_mq_add.gif"; var removequotebutton = "{$this->ipsclass->vars['img_url']}/p_mq_remove.gif"; var unselectedbutton = "{$this->ipsclass->vars['img_url']}/topic_unselected.gif"; var selectedbutton = "{$this->ipsclass->vars['img_url']}/topic_selected.gif"; var lang_gobutton = "{$this->ipsclass->lang['f_go']}"; var lang_suredelete = "{$this->ipsclass->lang['cp_js_delete']}"; var js_error_no_permission = "{$this->ipsclass->lang['js_error_no_permission']}"; var js_no_empty_post = "{$this->ipsclass->lang['js_no_empty_post']}"; //--> </script> <script type="text/javascript" src="jscripts/ipb_topic.js"></script> <script type="text/javascript" src="jscripts/ips_text_editor_lite.js"></script> <script type='text/javascript'> //<![CDATA[ topic_rate = new topic_rate(); //]]> </script> <a name="top"></a> <!--IBF.FORUM_RULES--> <if="$threaded == 0"> <table class='ipbtable' cellspacing="0"> <tr> <td style='padding-left:0px' width="40%" valign="middle" nowrap="nowrap"><div>{$data['TOPIC']['SHOW_PAGES']} {$data['TOPIC']['go_new']}</div></td> <td class='nopad' style='padding:0px 0px 5px 0px' align="right" width="60%" valign="middle"><!--IBF.TOPIC_REPLY--><a href="{$this->ipsclass->base_url}act=post&do=new_post&f={$data['FORUM']['id']}" title="{$this->ipsclass->lang['start_new_topic']}"><{A_POST}></a></td> </tr> </table> </if> <div class="borderwrap"> <div class="maintitle" style='padding:4px'> <!-- TABLE FIX FOR MOZILLA WRAPPING--> <table width='100%' style='padding:0px' cellspacing='0' cellpadding='0'> <tr> <td width='99%' style='word-wrap:break-word;'><div><{CAT_IMG}> <b>{$data['TOPIC']['title']}</b>{$data['TOPIC']['description']}</div></td> <td width='1%' align='right' nowrap='nowrap'> <if="$data['TOPIC']['_allow_rate'] != 0"> <div class='popmenubutton' id='topic-rating'> <a href='#topicrating'>{$this->ipsclass->lang['topic_rating']}</a> {$data['TOPIC']['_rate_img']} <img src='{$this->ipsclass->vars['img_url']}/menu_action_down.gif' alt='V' title='{$this->ipsclass->lang['global_open_menu']}' border='0' /> </div> <else /> <if="$data['TOPIC']['_rate_show'] == 1 AND $data['TOPIC']['_rate_img'] != ''"> <div class='popmenubutton' id='topic-rating'> {$this->ipsclass->lang['topic_rating']} {$data['TOPIC']['_rate_img']} <img src='{$this->ipsclass->vars['img_url']}/menu_action_down.gif' alt='V' title='{$this->ipsclass->lang['global_open_menu']}' border='0' /> </div> </if> </if> <if="$data['TOPIC']['_allow_rate'] != 0"> <div id='topic-rating_menu' class='popupmenu-new' style='display:none;width:140px'> <div class='popupmenu-item'> <div id='topic-rating-wrapper'></div> </div> <div class='popupmenu-item'> {$this->ipsclass->lang['you_have_rated_x']} <span id='topic-rating-my-rating'>{$data['TOPIC']['_rating_value']}</span> </div> <div class='popupmenu-item-last'> {$this->ipsclass->lang['total_ratings']} <span id='topic-rating-hits'>{$data['TOPIC']['topic_rating_hits']}</span> </div> </div> <script type='text/javascript'> ipsmenu.register( "topic-rating" ); </script> </if> </td> <td width='1%' align='right' nowrap='nowrap'> <div class='popmenubutton' id='topicmenu-options'><a href='#topicoptions'>{$this->ipsclass->lang['topic_options']}</a> <img src='{$this->ipsclass->vars['img_url']}/menu_action_down.gif' alt='V' title='{$this->ipsclass->lang['global_open_menu']}' border='0' /></div> </td> </tr> </table> </div> <!--{IBF.POLL}--> <script type="text/javascript"> <!-- menu_build_menu( "topicmenu-options", new Array( img_item + " <a href='{$this->ipsclass->base_url}act=usercp&CODE=start_subs&method=topic&tid={$data['TOPIC']['tid']}'>{$this->ipsclass->lang['track_topic']}</a>", img_item + " <a href='{$this->ipsclass->base_url}act=Forward&f={$data['FORUM']['id']}&t={$data['TOPIC']['tid']}'>{$this->ipsclass->lang['forward']}</a>", img_item + " <a href='{$this->ipsclass->base_url}act=Print&client=printer&f={$data['FORUM']['id']}&t={$data['TOPIC']['tid']}'>{$this->ipsclass->lang['print']}</a>", img_item + " <a href='{$this->ipsclass->base_url}act=Print&client=choose&f={$data['FORUM']['id']}&t={$data['TOPIC']['tid']}'>{$this->ipsclass->lang['av_title']}</a>", img_item + " <a href='{$this->ipsclass->base_url}act=usercp&CODE=start_subs&method=forum&fid={$data['FORUM']['id']}'>{$this->ipsclass->lang['ft_title']}</a>", "~~NODIV~~<div class='popupmenu-category' align='center'>{$this->ipsclass->lang['dd_display_modes']}</div>", img_item + " {$data['TOPIC']['to_button_threaded']}", img_item + " {$data['TOPIC']['to_button_standard']}", img_item + " {$data['TOPIC']['to_button_linearpl']}" ) ); topic_rate.settings['allow_rating'] = parseInt("{$data['TOPIC']['_allow_rate']}"); topic_rate.settings['default_rating'] = parseInt("{$data['TOPIC']['_rate_int']}"); topic_rate.settings['img_base_url'] = ipb_var_image_url + '/folder_topic_view'; topic_rate.settings['div_rating_wrapper'] = 'topic-rating-wrapper'; topic_rate.settings['text_rating_image'] = 'topic-rating-img-'; topic_rate.languages['img_alt_rate'] = "{$this->ipsclass->lang['js_img_alt_rate']}"; topic_rate.languages['rate_me'] = "{$this->ipsclass->lang['js_rate_me']}"; topic_rate.init_rating_images(); --> </script> Share this post Link to post
andaril 4 06/26/2007 03:47 PM в самом верху добавьте, изменяя слова "ПУТЬ К СКРИПТУ С ТРАНСЛИТОМ", на путь к скрипту, который отвечает за транслит.<script type="text/javascript" src="ПУТЬ К СКРИПТУ С ТРАНСЛИТОМ"></script> Share this post Link to post
maclader777 1 06/26/2007 05:11 PM Большое спасибо за оперативную помощь!! Постараюсь сделать. Ещё одна помощь)) больше не буду надоедать.Как сделать чтобы админы – были красного цвета \ а модераторы - синего. см. скриншот Share this post Link to post
andaril 4 06/26/2007 06:32 PM Эх... Ладно народ не читает документацию, но по админке можно хоть немного полазить. Есть такое понятие, префикс и суффикс группы, что в управлении группами. Там ставите span'ы и все. Share this post Link to post