каритнки нет, зато в полной новости есть ссыка на живой пример
(код кросбраузерный, валидный, без ошибок и предупреждений)
сообственно - табы для ббкодов с запоминаем последнего активного таба (cookies для jquery)
картинки нет, зато есть ссыка на живой пример
(код кросбраузерный, валидный, без ошибок и предупреждений)
(если парсер съест код в атаче есть ридми)
[1.](редактируем парсер для табов)открываем:
после:
вставить:
[2.]перед:
вставить:
[3.] (вставляем ббкод в админку)открываем:
после:
вставить:
[4.] далее (примерно 738 строка) между строк:
вставить:
[5.]далее после строки:
вставить:
[6.]далее открываем:
после строки:
вставить:
[7.] перед:
вставить:
[8.] после строки:
вставить:
[9.] далее открываем в:
и после строк
вставить:
[10.]стили цсс
/* tabs */
span.tabs-ttl{display:block;float:left;height:25px;line-height:25px;color:#eb7800;padding:0 13px}
.tabs-section{margin:10px 0}
ul.tabs{height:28px;line-height:25px;border-bottom:1px solid #eb7800}
.tabs li{float:left;display:inline;color:#eb7800;cursor:pointer;background:#1e1e1e;border:1px solid #323232;position:relative;margin:0 1px -1px 0;padding:0 13px 1px}
.tabs li:hover,.vertical .tabs li:hover{color:#eb7800;background:#000;border:1px solid red;padding:0 13px}
.tabs li.current{color:red;background:#000;border:1px solid #eb7800;border-bottom-color:#000;padding:0 13px 2px}
.tab-box{display:none;background:#000;border:solid #eb7800;border-width:0 1px 1px;padding:3px}
.tab-box.visible{display:block}
.tabs-section.vertical{width:440px;border-left:160px solid #FFF}
.vertical .tabs{width:160px;float:left;display:inline;margin:0 0 0 -160px}
.vertical .tabs li{border:1px solid #E4E4E4;border-right:1px solid #F9F9F9;width:132px;height:25px;margin:0 0 1px;padding:0 13px}
.vertical .tabs li:hover{width:131px}
.vertical .tabs li.current{width:133px;color:#444;background:#EFEFEF;border:1px solid #D4D4D4;border-right:1px solid #EFEFEF;margin-right:-1px}
.vertical .tab-box{border-width:1px}
как бы всё, пользуемся...
пример смотрим здесь;
http://kinorim.ru/komedii/2658-chaynik-2010.html
слово "плеер" (либо своё слово) устанавливается из ббкода(если поле оставить пустым, заголовок для ббкода соответственно пропускаеться)
алгоритм таков что
[tabs-tll-block=Заголовок]титл 11
[tab-li]титл 22
[tabs-box-v]содержимое для 11
[tabs-box]содержимое для 22
[/tabs-tll-block]
кому нужно больше табов, таков
[tabs-tll-block]титл 11
[tab-li]титл 22
[tab-li]титл 33
[tab-li]титл 44
[tabs-box-v]содержимое для 11
[tabs-box]содержимое для 22
[tabs-box]содержимое для 33
[tabs-box]содержимое для 44
[/tabs-tll-block]
где элементы 33 и 44 добавляются ручками, меня так полностью устраивает,
кого нет, ждём ваших решений)))
картинки нет, зато есть ссыка на живой пример
(код кросбраузерный, валидный, без ошибок и предупреждений)
(если парсер съест код в атаче есть ридми)
[1.](редактируем парсер для табов)открываем:
/engine/classes/parse.class.php
после:
$source = preg_replace( "#\[(left|right|center)\](.+?)\[/\\1\]#is", "<div align=\"\\1\">\\2</div>", $source );
вставить:
$count_start = substr_count ($source, "[tabs-tll-block");
$count_end = substr_count ($source, "[/tabs-tll-block]");
if ($count_start AND $count_start == $count_end) {
$source = preg_replace( "#\[tabs-tll-block\]#ie", "\$this->build_tabs_block('')", $source );
$source = preg_replace( "#\[tabs-tll-block=(.+?)\]#ie", "\$this->build_tabs_block('\\1')", $source );
$source = preg_replace( "#\[/tabs-tll-block\]#i", "<!--close_tabs_block--></div></div><!--/dle_tabs_block-->", $source );
$source = str_replace("[tab-li]", "</li><!--dle_tab_li--><li>", $source);
$source = str_replace("[tabs-box-v]", "<!--end_tabs_ul--></li></ul><!--dle_tabs_box_v--><div class=\"tab-box visible\">", $source);
$source = str_replace("[tabs-box]", "</div><!--dle_tabs_box--><div class=\"tab-box\">", $source);
}
$count_end = substr_count ($source, "[/tabs-tll-block]");
if ($count_start AND $count_start == $count_end) {
$source = preg_replace( "#\[tabs-tll-block\]#ie", "\$this->build_tabs_block('')", $source );
$source = preg_replace( "#\[tabs-tll-block=(.+?)\]#ie", "\$this->build_tabs_block('\\1')", $source );
$source = preg_replace( "#\[/tabs-tll-block\]#i", "<!--close_tabs_block--></div></div><!--/dle_tabs_block-->", $source );
$source = str_replace("[tab-li]", "</li><!--dle_tab_li--><li>", $source);
$source = str_replace("[tabs-box-v]", "<!--end_tabs_ul--></li></ul><!--dle_tabs_box_v--><div class=\"tab-box visible\">", $source);
$source = str_replace("[tabs-box]", "</div><!--dle_tabs_box--><div class=\"tab-box\">", $source);
}
[2.]перед:
function build_audio($url) {
вставить:
function build_tabs_block($title = "") {
$title = trim( $title );
$title = stripslashes( $title );
$title = str_replace( "&amp;", "&", $title );
$title = preg_replace( "/javascript:/i", "javascript: ", $title );
if( ! $title ) {
return "<!--open_tabs_block--><script type=\"text/javascript\" src=\"{THEME}/js/jquery/tabs.cookies.js\"></script><div class=\"tabs-section\"><ul class=\"tabs\"><li class=\"current\"><!--end_tabs_block-ttl-->";
} else {
return "<!--open_tabs_block $title --><script type=\"text/javascript\" src=\"{THEME}/js/jquery/tabs.cookies.js\"></script><div class=\"tabs-section\"><span class=\"tabs-ttl\"><!--dle_tabs_ttl-->" . $title . "<!--dle_tabs_ttl_end--> »</span><ul class=\"tabs\"><li class=\"current\"><!--end_tabs_block-ttl-->";
}
}
$title = trim( $title );
$title = stripslashes( $title );
$title = str_replace( "&amp;", "&", $title );
$title = preg_replace( "/javascript:/i", "javascript: ", $title );
if( ! $title ) {
return "<!--open_tabs_block--><script type=\"text/javascript\" src=\"{THEME}/js/jquery/tabs.cookies.js\"></script><div class=\"tabs-section\"><ul class=\"tabs\"><li class=\"current\"><!--end_tabs_block-ttl-->";
} else {
return "<!--open_tabs_block $title --><script type=\"text/javascript\" src=\"{THEME}/js/jquery/tabs.cookies.js\"></script><div class=\"tabs-section\"><span class=\"tabs-ttl\"><!--dle_tabs_ttl-->" . $title . "<!--dle_tabs_ttl_end--> »</span><ul class=\"tabs\"><li class=\"current\"><!--end_tabs_block-ttl-->";
}
}
[3.] (вставляем ббкод в админку)открываем:
/engine/inc/include/inserttag.php
после:
var bb_t_col = "{$lang['bb_t_col']}";
вставить:
var text_enter_ttl = "$lang[bb_tabs]";
[4.] далее (примерно 738 строка) между строк:
</SCRIPT>
HTML;
HTML;
вставить:
<script type="text/javascript" src="engine/classes/js/bbcodes_plus.js"></script>
[5.]далее после строки:
<div id="b_ol" class="editor_button" onclick="tag_list('ol')"><img src="engine/skins/bbcodes/images/ol.gif" width="23" height="25" border="0"></div>
вставить:
<div class="editor_button" onclick="tag_tabs()"><img title="$lang[bb_t_tabs]" src="engine/skins/bbcodes/images/tabs.gif" width="23" height="25" border="0" alt="" /></div>
[6.]далее открываем:
/engine/modules/bbcode.php
после строки:
<div id="b_ol" class="editor_button" onclick="tag_list('ol')"><img src="{THEME}/bbcodes/ol.gif" width="23" height="25" border="0"></div>
вставить:
<div class="editor_button" onclick="tag_tabs()"><img title="$lang[bb_t_tabs]" src="{THEME}/bbcodes/tabs.gif" width="23" height="25" border="0" alt="" /></div>
[7.] перед:
<script language="javascript" type="text/javascript">
вставить:
<script type="text/javascript" src="engine/classes/js/bbcodes_plus.js"></script>
[8.] после строки:
var text_enter_list = "{$lang['bb_list_item']}";
вставить:
var text_enter_ttl = "$lang[bb_tabs]";
[9.] далее открываем в:
/language/Russian/website.lng
/language/Russian/adminpanel.lng
/language/Russian/adminpanel.lng
и после строк
'wysiwyg_language' => "ru",
вставить:
'bb_tabs' => "общий заголовок для вкладок (можно оставить пустым)",
'bb_t_tabs' => "Вкладки",
'bb_t_tabs' => "Вкладки",
[10.]стили цсс
/* tabs */
span.tabs-ttl{display:block;float:left;height:25px;line-height:25px;color:#eb7800;padding:0 13px}
.tabs-section{margin:10px 0}
ul.tabs{height:28px;line-height:25px;border-bottom:1px solid #eb7800}
.tabs li{float:left;display:inline;color:#eb7800;cursor:pointer;background:#1e1e1e;border:1px solid #323232;position:relative;margin:0 1px -1px 0;padding:0 13px 1px}
.tabs li:hover,.vertical .tabs li:hover{color:#eb7800;background:#000;border:1px solid red;padding:0 13px}
.tabs li.current{color:red;background:#000;border:1px solid #eb7800;border-bottom-color:#000;padding:0 13px 2px}
.tab-box{display:none;background:#000;border:solid #eb7800;border-width:0 1px 1px;padding:3px}
.tab-box.visible{display:block}
.tabs-section.vertical{width:440px;border-left:160px solid #FFF}
.vertical .tabs{width:160px;float:left;display:inline;margin:0 0 0 -160px}
.vertical .tabs li{border:1px solid #E4E4E4;border-right:1px solid #F9F9F9;width:132px;height:25px;margin:0 0 1px;padding:0 13px}
.vertical .tabs li:hover{width:131px}
.vertical .tabs li.current{width:133px;color:#444;background:#EFEFEF;border:1px solid #D4D4D4;border-right:1px solid #EFEFEF;margin-right:-1px}
.vertical .tab-box{border-width:1px}
как бы всё, пользуемся...
пример смотрим здесь;
http://kinorim.ru/komedii/2658-chaynik-2010.html
слово "плеер" (либо своё слово) устанавливается из ббкода(если поле оставить пустым, заголовок для ббкода соответственно пропускаеться)
алгоритм таков что
[tabs-tll-block=Заголовок]титл 11
[tab-li]титл 22
[tabs-box-v]содержимое для 11
[tabs-box]содержимое для 22
[/tabs-tll-block]
кому нужно больше табов, таков
[tabs-tll-block]титл 11
[tab-li]титл 22
[tab-li]титл 33
[tab-li]титл 44
[tabs-box-v]содержимое для 11
[tabs-box]содержимое для 22
[tabs-box]содержимое для 33
[tabs-box]содержимое для 44
[/tabs-tll-block]
где элементы 33 и 44 добавляются ручками, меня так полностью устраивает,
кого нет, ждём ваших решений)))