Хак добавляем новые теги H2, H3, H4 в форму BB панель

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Хак добавляем новые теги H2, H3, H4 в форму BB панель
Хак для DLE добавляем новые теги H2, H3, H4 в форму BB панель, комментариев и добавления новости, будет полезен веб-мастерам и журналистам, которые пишут большие тесты в которых важно выделить новый заголовок с использованием тегов H2, H3, H4.
Если вам надоело каждый раз руками писать теги, то вот решение, которое может быть использовано для добавление и других тегов в форму BB панель DataLife Engine, чтобы при выделении текста и нажатии на кнопку, выделенный кусок обёртывался в нужный тег. www.dle9.com

Установка хака для Dle добавление новых тегов H2, H3, H4 в форму BB панель делается в несколько этапов:

Заходим в engine/classes/parse.class.php

Находим:

if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[b]", "<b>", str_ireplace( "[/b]", "</b>", $source ) );  


Ниже ставим:

        $count_start = substr_count ($source, "[H2]");
        $count_end = substr_count ($source, "[/H2]");

        if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[H2]", "<H2>", str_ireplace( "[/H2]", "</H2>", $source ) );

        $count_start = substr_count ($source, "[H3]");
        $count_end = substr_count ($source, "[/H3]");

        if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[H3]", "<H3>", str_ireplace( "[/H3]", "</H3>", $source ) );

        $count_start = substr_count ($source, "[H4]");
        $count_end = substr_count ($source, "[/H4]");

        if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[H4]", "<H4>", str_ireplace( "[/H4]", "</H4>", $source ) );  


В файле engine/modules/bbcode.php находим:

<b id="b_ol" class="bb-btn" title="{$lang['bb_t_list2']}" />{$lang['bb_t_list2']}[/b]
<span class="bb-sep">|</span>  


И ниже ставим:

<div id="b_h2" class="editor_button" onclick="simpletag('H2')">H2</div>

<span class="bb-sep">|</span>
<div id="b_h3" class="editor_button" onclick="simpletag('H3')">H3</div>

<span class="bb-sep">|</span>
<div id="b_h4" class="editor_button" onclick="simpletag('H4')">H4</div>  


Дальше идём в engine/ajax/bbcode.php

Находим:

<b id="b_ol" class="bb-btn" onclick="tag_list('ol')" title="$lang[bb_t_list2]">$lang[bb_t_list2]</b>
<span class="bb-sep">|</span>  


И ниже ставим:

<div id="b_h2" class="editor_button" onclick="simpletag('H2')">H2</div>

<span class="bb-sep">|</span>
<div id="b_h3" class="editor_button" onclick="simpletag('H3')">H3</div>

<span class="bb-sep">|</span>
<div id="b_h4" class="editor_button" onclick="simpletag('H4')">H4</div>


Что бы в админке коды подключить нужно, зайти в engine/inc/include/inserttag.php

Найти:

<div id="b_ol" class="editor_button" onclick="tag_list('ol')"><img title="$lang[bb_t_list2]" src="engine/skins/bbcodes/images/ol.gif" width="23" height="25"></div>
<div class="editor_button"><img src="engine/skins/bbcodes/images/brkspace.gif" width="5" height="25"></div>

Ниже вставить:

<div id="b_h2" class="editor_button" onclick="simpletag('H2')">H2</div>

<div class="editor_button"><img src="engine/skins/bbcodes/images/brkspace.gif" width="5" height="25"></div>
<div id="b_h3" class="editor_button" onclick="simpletag('H3')">H3</div>

<div class="editor_button"><img src="engine/skins/bbcodes/images/brkspace.gif" width="5" height="25"></div>
<div id="b_h4" class="editor_button" onclick="simpletag('H4')">H4</div>  


Теперь в любом подключенном к сайту .css файле вставьте

#b_h2 {
cursor: pointer;
width: 23px;
float: left;
margin: 3px 0px 0px 5px;
}

#b_h3 {
cursor: pointer;
width: 23px;
float: left;
margin: 3px 0px 0px 5px;
}

#b_h4 {
cursor: pointer;
width: 23px;
float: left;
margin: 3px 0px 0px 5px;
}

На этом все!
www.dle9.com
Автор: Dolmatov в текстом виде скачать хак для дле по этой ссылке
  • 40
Рубрика: DLE хаки » Хак для DLE
Ранее » Хак Закладки для гостей в DLE« Далее Ссылки на следующую и предыдущую новость для DLE
Добавление комментарияОставить комментарий
  • № :15
  • 4 апреля 2015 12:44
А как сделать чтобы показывало в WYSIWYG-редакторе?
  • № :14
  • 15 января 2015 18:41
Цитата: JohnSurnet
Цитата: dle9
Цитата: JohnSurnet


если содать новый ко то всё получится?

да, если взять за основу код из версии вашего движка и только изменить бб-код на свой
Так же проблема может быть связана с этом, что данный хак разработан для низкой версии движка, поэтому лучше сделать на коде из той версии движка на которой вы хотите использовать

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


10.3 у меня

этот хак для 10.2
  • № :13
  • 15 января 2015 17:59
Цитата: dle9
Цитата: JohnSurnet


если содать новый ко то всё получится?

да, если взять за основу код из версии вашего движка и только изменить бб-код на свой
Так же проблема может быть связана с этом, что данный хак разработан для низкой версии движка, поэтому лучше сделать на коде из той версии движка на которой вы хотите использовать

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


10.3 у меня
  • № :12
  • 15 января 2015 16:13
Цитата: JohnSurnet


если содать новый ко то всё получится?

да, если взять за основу код из версии вашего движка и только изменить бб-код на свой
Так же проблема может быть связана с этом, что данный хак разработан для низкой версии движка, поэтому лучше сделать на коде из той версии движка на которой вы хотите использовать

Можно ради эксперимента попробовать вместо тега бб-кода, свой тег поставить, потом скопировать его и внести изменения
  • № :11
  • 15 января 2015 15:35
Цитата: dle9
Цитата: JohnSurnet
если вставляю так

$count_start = substr_count ($source, &#34;&#91;H4&#93;&#34;);
$count_end = substr_count ($source, &#34;&#91;/H4&#93;&#34;);

if ($count_start AND $count_start == $count_end) $source = str_ireplace( &#34;&#91;H4&#93;&#34;, &#34;&lt;h4 class=&#34;heading&#34;&gt;&#34;, str_ireplace( &#34;&#91;/H4&#93;&#34;, &#34;&lt;/h4&gt;&#34;, $source ) );


то в админке выдаёт ошибку

/public_html/engine/classes/parse.class.php on line 352

значить в коде или в добалении есть ошибка, обратите внимание там в коде есть такие похожие для других тегов коды они частично должны соподать, так как хак основан на том же принципе, что используют другие ББ-коды

И да используйте установку ил текстового файла иногда возникают ошибки при копировании кода из браузера


если содать новый ко то всё получится?
  • № :10
  • 15 января 2015 11:09
Цитата: JohnSurnet
если вставляю так

$count_start = substr_count ($source, "[H4]");
$count_end = substr_count ($source, "[/H4]");

if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[H4]", "<h4 class="heading">", str_ireplace( "[/H4]", "</h4>", $source ) );


то в админке выдаёт ошибку

/public_html/engine/classes/parse.class.php on line 352

значить в коде или в добалении есть ошибка, обратите внимание там в коде есть такие похожие для других тегов коды они частично должны соподать, так как хак основан на том же принципе, что используют другие ББ-коды

И да используйте установку ил текстового файла иногда возникают ошибки при копировании кода из браузера
  • № :9
  • 15 января 2015 10:47
если вставляю так

$count_start = substr_count ($source, "[H4]");
$count_end = substr_count ($source, "[/H4]");

if ($count_start AND $count_start == $count_end) $source = str_ireplace( "[H4]", "<h4 class="heading">", str_ireplace( "[/H4]", "</h4>", $source ) );


то в админке выдаёт ошибку

/public_html/engine/classes/parse.class.php on line 352
  • № :8
  • 15 января 2015 10:22
Цитата: dle9
Цитата: JohnSurnet
я новичок в этом
как на пример, что бы [H2][/H2] обволакивал код

<div class="basecont">
<div class="dpad">
<h2 class="heading">
текст
</div></div></h2>

напишите как сделать если не тяжело, буду благодарен!

так нельзя
лучше всего просто
&lt;h2&gt;текст &lt;/h2&gt;
для хорошей индексации, но если так нужно стили туда добавить только так
&lt;h2 class=&#34;heading&#34;&gt;
текст
&lt;/h2&gt;

внутри ДИВ никаких не должно быть и других атрибутов HTML кода
&lt;/div&gt;&lt;/div&gt;


а в какую строчку это вставлять надо?
  • № :7
  • 14 января 2015 17:29
Цитата: JohnSurnet
я новичок в этом
как на пример, что бы [H2][/H2] обволакивал код

<div class="basecont">
<div class="dpad">
<h2 class="heading">
текст
</div></div></h2>

напишите как сделать если не тяжело, буду благодарен!

так нельзя
лучше всего просто
<h2>текст </h2>
для хорошей индексации, но если так нужно стили туда добавить только так
<h2 class="heading">
текст
</h2>

внутри ДИВ никаких не должно быть и других атрибутов HTML кода
</div></div>
  • № :6
  • 14 января 2015 16:27
я новичок в этом
как на пример, что бы [H2][/H2] обволакивал код

<div class="basecont">
<div class="dpad">
<h2 class="heading">
текст
</div></div></h2>

напишите как сделать если не тяжело, буду благодарен!
  • № :5
  • 14 января 2015 14:58
Цитата: JohnSurnet
dle9 - расскажите плиз как добавить свой код например в [H2] не могу разобраться я пока начинающий. Спасибо!

тут все рассказано, как ещё можно рассказать...пишите ошибки, если неправильно, что-то делаете система выдает ошибки
  • № :4
  • 14 января 2015 11:38
dle9 - расскажите плиз как добавить свой код например в [H2] не могу разобраться я пока начинающий. Спасибо!
  • № :3
  • 4 ноября 2014 17:22
Цитата: dle9
Цитата: StAlKeR-xXl
версия 10.2
добавил по данному мануалу (только для админов, мменял файлы parse.class и inserttag) тег [p] (чтобы обрамлял в абзац нужный мне кусок текста)..
все работает.. тег вставляет.. текст в абзаце..

но если потом открыть новость на полное редактирование в админике - то я вижу в новости не [ p], а < p>... почему так?
Уточнение - в абзац обрамляю текст, который в спойлере находится...

там нужно добавить ещё допол. код, чтобы когда из БД при редактировании бралась информацию код конвертировался в [ p] из а < p>

Если взять любой тег например [ b] задать его в поиске файла parse.class найдете похожий код выше хака, и дубль вот так же нужно продублировать его. Тогда будет нормально.

нашел.. ага.. в этом месте по ходу
if( !$wysiwig ) {

			$txt = str_replace( "<b>", "[b]", str_replace( "</b>", "[/b]", $txt ) );
                        $txt = str_replace( "<p>", "[p]", str_replace( "</p>", "[/p]", $txt ) );
  • № :2
  • 4 ноября 2014 16:53
Цитата: StAlKeR-xXl
версия 10.2
добавил по данному мануалу (только для админов, мменял файлы parse.class и inserttag) тег [p] (чтобы обрамлял в абзац нужный мне кусок текста)..
все работает.. тег вставляет.. текст в абзаце..

но если потом открыть новость на полное редактирование в админике - то я вижу в новости не [ p], а < p>... почему так?
Уточнение - в абзац обрамляю текст, который в спойлере находится...


там нужно добавить ещё допол. код, чтобы когда из БД при редактировании бралась информацию код конвертировался в [ p] из а < p>

Если взять любой тег например [ b] задать его в поиске файла parse.class найдете похожий код выше хака, и дубль вот так же нужно продублировать его. Тогда будет нормально.
  • № :1
  • 4 ноября 2014 15:49
версия 10.2
добавил по данному мануалу (только для админов, мменял файлы parse.class и inserttag) тег [p] (чтобы обрамлял в абзац нужный мне кусок текста)..
все работает.. тег вставляет.. текст в абзаце..

но если потом открыть новость на полное редактирование в админике - то я вижу в новости не [ p], а < p>... почему так?
Уточнение - в абзац обрамляю текст, который в спойлере находится...