dle.in.ua » Хаки » ббкод для табов + cookies на jquery (запоминание посленей вкладки) ... п.с. в предыдущем посте забыл архив приатачить, тут с атачем

ббкод для табов + cookies на jquery (запоминание посленей вкладки) ... п.с. в предыдущем посте забыл архив приатачить, тут с атачем

Автор: demix от 24-03-2011, 23:27
сообственно - табы для ббкодов с запоминаем последнего активного таба (cookies для jquery)
каритнки нет, зато в полной новости есть ссыка на живой пример

(код кросбраузерный, валидный, без ошибок и предупреждений)
сообственно - табы для ббкодов с запоминаем последнего активного таба (cookies для jquery)
картинки нет, зато есть ссыка на живой пример

(код кросбраузерный, валидный, без ошибок и предупреждений)


(если парсер съест код в атаче есть ридми)

[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);

            
            
        }


[2.]перед:
function build_audio($url) {


вставить:

    function build_tabs_block($title = "") {
        
        $title = trim( $title );
        
        $title = stripslashes( $title );
        $title = str_replace( "&amp;amp;", "&amp;", $title );
        $title = preg_replace( "/javascript:/i", "javascript&#58; ", $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-->&nbsp;&raquo;</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;

вставить:

<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


и после строк
'wysiwyg_language'        =>  "ru",


вставить:
'bb_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 добавляются ручками, меня так полностью устраивает,
кого нет, ждём ваших решений)))


tabs.rar [6,12 Kb] (cкачиваний: 35)
  • Группа: User
  • Icq: --
  • Комментариев: 26
  • Публикаций: 7
  • неплохо!
    • ruthless
    • Регистрация: 7.08.2008
    • Репутация: (0|0|0)
    • 25 марта 2011 14:58
    • 1
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 14
  • Публикаций: 0
  • Да же пример посмотрел, но так и не понял, что это за зверь и с чем его едят.

    --------------------
    • tish88
    • Регистрация: 14.01.2010
    • Репутация: (0|0|0)
    • 30 июля 2011 15:39
    • 2
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 44
  • Публикаций: 0
  • Цитата: tish88
    http://kinorim.ru/komedii/2658-chaynik-2010.html

    я тоже нехрена не понял, а сайт хороший только если бы реклама была по тематике а не продажа телефонов на кино сайте

    --------------------
    • maksim123
    • Регистрация: 14.04.2010
    • Репутация: (0|0|0)
    • 28 октября 2011 07:48
    • 3
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.