• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь javascript и статичная страница

Статус
В этой теме нельзя размещать новые ответы.

gruppastimul

Ваш
Регистрация
22 Окт 2006
Сообщения
800
Реакции
149
Хочу для статичной страницы сделать споллер

вида

PHP:
Текст текст текст

<a title="Подробнее" href="javascript:ShowOrHide('podrobnee');">Подробнее</a>

<div id="podrobnee" style="display:none;"> Текст текст</div>
Но при добавлении в редакторе в статичную страницу ссылки вида
PHP:
href="javascript:ShowOrHide('podrobnee');"
javascript съедается (фильтруется)

остается только
PHP:
<a title="Подробнее">Подробнее</a>
как сделать чтоб такая связка всё же работала при добавлении из редактора в статичные страницы


PHP:
Текст текст текст

<a title="Подробнее" href="javascript:ShowOrHide('podrobnee');">Подробнее</a>

<div id="podrobnee" style="display:none;"> Текст текст</div>

тоесть упор - сделать чтобы не фильтровался

PHP:
href="javascript:ShowOrHide('podrobnee');"
 
parse.class.php нужно копать, вообще вариант через sql запрос напрямую в базу
 
лучше поставь хак спойлер и не парься.
 
тоже парился со статическими страницами
вышел наверное как всегда через задницу ;-)
написал обычный html, сохранил как tpl, забросил в шаблоны,
создал пустую статическую страницу, применил к ней данный шаблон
 
тоже парился со статическими страницами
вышел наверное как всегда через задницу ;-)
написал обычный html, сохранил как tpl, забросил в шаблоны,
создал пустую статическую страницу, применил к ней данный шаблон

это не подходит для тех, у кого много шаблонов - например для меня :)
 
лучше поставь хак спойлер и не парься.

Подскажите тогда хак(мод) спойлера под мои нужды - чтобы было так, как я описал

только чтоб он 100 % работал под 7.3 и выполнял то, что я описал.
 
Ну а что мешает запихать статическую страницу в шаблон, и в шаблоне прописать скрипт?
 
Получается придётся открыть js скрипт в новостях, а лучше так не делать... Мало ли кто новость добавит.
 
Подскажите тогда хак(мод) спойлера под мои нужды - чтобы было так, как я описал

только чтоб он 100 % работал под 7.3 и выполнял то, что я описал.

вот что лежит у меня в архивах:
Полная (обновленная) инструкция по установке. Хак тестировался на 6.5.

1. Копируем файлы из архива:

файл spoiler.gif в папку /templates/ВАШ_ШАБЛОН/bbcodes/ и /engine/skins/bbcodes/images/
файлы plus.jpg и minus.jpg в папку /templates/ВАШ_ШАБЛОН/dleimages/

2. Для установки хака нам нужен НЕ закодированный файл /engine/ajax/bbcodes.js, его можно взять из папки developer архива с движком.

Открываем /engine/ajax/bbcodes.js

2.1 ищем

var quote_open = 0;

вставляем НИЖЕ,

var spoiler_open = 0;

3 Открываем /engine/ajax/js_edit.js

3.1 ищем

function ShowOrHide(d1) {

вставляем ВЫШЕ

function SpoilerShowOrHide(d1, d2) {
if (d1 != ''){
DoDiv(d1);
}

if (d2 != ''){
DoDiv(d2);
}
};

4.1 Открываем /engine/classes/parse.class.php (для версий datalife ниже 6.3 /engine/modules/parse.class.php)

4.1 ищем

$source = preg_replace( "#\[s\](.+?)\[/s\]#is", "<s>\\1</s>", $source );

вставляем НИЖЕ

$source = preg_replace( "#\[spoiler\](.+?)\[/spoiler\]#ie", "\$this->build_spoiler('\\1')", $source );
$source = preg_replace( "#\
(.+?)\[/spoiler\]#ie", "\$this->build_spoiler('\\2', '\\1')", $source );

4.2 ищем

$txt = preg_replace( "#<u>(.+?)</u>#is" , "\\1" , $txt );

вставляем НИЖЕ

$txt = preg_replace( "#<!--SpoilerBegin-->(.+?)<!--SpBodyBegin-->#", '
' , $txt );
$txt = preg_replace( "#<!--SpoilerWTBegin-->(.+?)<!--SpTitleBegin-->(.+?)<!--SpTitleEnd-->(.+?)<!--SpBodyBegin-->#", "
" , $txt );
$txt = preg_replace( "#<!--SpBodyEnd-->(.+?)<!--SpoilerEnd-->#", '
' , $txt );

4.3 ищем

function code_tag($txt="")

вставляем ВЫШЕ

function build_spoiler( $text="", $title="")
{
global $lang;

$spoiler_id = time().mt_rand(0,1024);

if ($title == '')

return "<!--SpoilerBegin--><div class=\"title_spoiler\"><a href=\"javascript:SpoilerShowOrHide('".$spoiler_id."', '".$spoiler_id."-open');\" id=\"".$spoiler_id."-open\" onclick=\"javascript:SpoilerShowOrHide('".$spoiler_id."-close')\"><img src=\"{THEME}/dleimages/plus.jpg\"></a><a href=\"javascript:SpoilerShowOrHide('".$spoiler_id."', '".$spoiler_id."-close');\" id=\"".$spoiler_id."-close\" style=\"display: none;\" onclick=\"javascript:SpoilerShowOrHide('".$spoiler_id."-open')\"><img src=\"{THEME}/dleimages/minus.jpg\"></a>&nbsp;{$lang['i_spoiler']}</div><div id=\"".$spoiler_id."\" class=\"spoiler\" style=\"display:none;\"><!--SpBodyBegin-->".$text."<!--SpBodyEnd--></div><!--SpoilerEnd-->";
else
return "<!--SpoilerWTBegin--><div class=\"title_spoiler\"><a href=\"javascript:SpoilerShowOrHide('".$spoiler_id."', '".$spoiler_id."-open');\" id=\"".$spoiler_id."-open\" onclick=\"javascript:SpoilerShowOrHide('".$spoiler_id."-close')\"><img src=\"{THEME}/dleimages/plus.jpg\"></a><a href=\"javascript:SpoilerShowOrHide('".$spoiler_id."', '".$spoiler_id."-close');\" id=\"".$spoiler_id."-close\" style=\"display: none;\" onclick=\"javascript:SpoilerShowOrHide('".$spoiler_id."-open')\"><img src=\"{THEME}/dleimages/minus.jpg\"></a>&nbsp;<!--SpTitleBegin-->".$title."<!--SpTitleEnd--></div><div id=\"".$spoiler_id."\" class=\"spoiler\" style=\"display:none;\"><!--SpBodyBegin-->".$text."<!--SpBodyEnd--></div><!--SpoilerEnd-->";
}

5.1 Открываем /engine/modules/bbcode.php

5.1.1 ищем ПЕРВЫЙ

<div id="b_quote" class="editor_button" onclick="simpletag('quote')"><img title="$lang[bb_t_quote]" src="{THEME}/bbcodes/quote.gif" width="23" height="25" border="0"></div>

вставляем НИЖЕ

<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img title="$lang[bb_t_spoiler]" src="{THEME}/bbcodes/spoiler.gif" width="23" height="25" border="0"></div>

5.2 Открываем /engine/ajax/bbcode.php

5.2.1 ищем

<div id="b_quote" class="editor_button" onclick="simpletag('quote')"><img title="$lang[bb_t_quote]" src="{THEME}/bbcodes/images/quote.gif" width="23" height="25" border="0"></div>

вставляем НИЖЕ

<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img title="$lang[bb_t_spoiler]" src="{THEME}/bbcodes/images/spoiler.gif" width="23" height="25" border="0"></div>

6.1 Открываем /templates/Default/css/engine.css

ищем

.title_quote {

вставляем ВЫШЕ

.title_spoiler {
color: #636363;
background-color: #f2f2f2;
border: 1px solid #bebebe;
font-weight: bold;
padding: 5px;
}

.title_spoiler img{
border: 0;
}

.spoiler {
color: #757575;
background-color: #f2f2f2;
border: 1px dotted #bebebe;
border-top: 0;
text-align: justify;
padding: 5px;
}

стили вольно править как вам угодно, индивидуально под свой шаблон

7.1 Открываем /language/russian/website.lng & adminpanel.lng

ищем

'charset' => "windows-1251",

вставляем на строчку НИЖЕ

'bb_t_spoiler' => "Вставить спойлер",
'i_spoiler' => "cкрытый текст",
'bb_spoiler' => "Использование:
Здесь Ваш Спойлер..
",
'bb_b_spoiler' => " Спойлер ",

8. Открываем engine\inc\inserttag.php

8.1 ищем

var quote_open = 0;

вставляем НИЖЕ,

var spoiler_open = 0;

8.2 ищем

<div id="b_quote" class="editor_button" onclick="simpletag('quote')"><img title="$lang[bb_t_quote]" src="engine/skins/bbcodes/images/quote.gif" width="23" height="25" border="0"></div>

вставляем НИЖЕ

<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img title="$lang[bb_t_spoiler]" src="engine/skins/bbcodes/images/spoiler.gif" width="23" height="25" border="0"></div>


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

Вложения

  • minus.jpg
    minus.jpg
    10,8 KB · Просмотры: 45
  • plus.jpg
    plus.jpg
    10,8 KB · Просмотры: 47
  • spoiler.gif
    spoiler.gif
    1 KB · Просмотры: 45
Parse error: syntax error, unexpected T_STRING in engine/classes/parse.class.php on line 577


там идет
PHP:
return "<!--SpoilerBegin--><div class=\"title_spoiler\"><a href=\"javascript:SpoilerShowOrHide('".$spoiler_id ."', '".$spoiler_id."-open');\" id=\"".$spoiler_id."-open\" onclick=\"javascript:SpoilerShowOrHide('".$spoiler _id."-close')\"><img src=\"{THEME}/dleimages/plus.jpg\"></a><a href=\"javascript:SpoilerShowOrHide('".$spoiler_id ."', '".$spoiler_id."-close');\" id=\"".$spoiler_id."-close\" style=\"display: none;\" onclick=\"javascript:SpoilerShowOrHide('".$spoiler _id."-open')\"><img src=\"{THEME}/dleimages/minus.jpg\"></a>&nbsp;{$lang['i_spoiler']}</div><div id=\"".$spoiler_id."\" class=\"spoiler\" style=\"display:none;\"><!--SpBodyBegin-->".$text."<!--SpBodyEnd--></div><!--SpoilerEnd-->";

Добавлено через 47 минут
поправил сам теперь тег работает но он не работает для моей схемы


мне нужно чтобы работала схема таким образом

PHP:
<a href="javascript:ShowOrHide('1');">Услуги</a>

<div id="1" style="display:none;"> Текст текст</div>  


<a href="javascript:ShowOrHide('2');">Информация</a>

<div id="2" style="display:none;"> Текст текст</div>  



<a href="javascript:ShowOrHide('3');">Контакты</a>

<div id="3" style="display:none;"> Текст текст</div>
а сейчас везде просто написано скрытый текст

может есть способ заставить работать javascript:ShowOrHide('2')

в статических и пусть и новостях
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху