Помощь Как в 7.5 к спойлеру прикрепить картинку + и - ?

Тема в разделе "DLE", создана пользователем alkov, 22 фев 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. alkov

    alkov Создатель

    Регистр.:
    18 дек 2006
    Сообщения:
    36
    Симпатии:
    14
    Всем привет. Собственно вопрос в сабже. Я так понял что вывод спойлера задаётся в файле parse.class.php вот здесь
    Код:
     function build_spoiler($title = "") {
            global $lang;
            
            $title = trim( $title );
            
            $title = stripslashes( $title );
            $title = str_replace( "&amp;amp;", "&amp;", $title );
            $title = preg_replace( "/java script:/i", "javascript: ", $title );
            
            $id_spoiler = md5( microtime() );
            
            if( ! $title ) {
                
                return "<!--dle_spoiler--><div class=\"title_spoiler\"><a href=\"java script:ShowOrHide('" . $id_spoiler . "')\"><!--spoiler_title-->" . $lang['spoiler_title'] . "<!--spoiler_title_end--></a></div><div id=\"" . $id_spoiler . "\" class=\"text_spoiler\" style=\"display:none;\"><!--spoiler_text-->";
            
            } else {
                
                return "<!--dle_spoiler $title --><div class=\"title_spoiler\"><a href=\"java script:ShowOrHide('" . $id_spoiler . "')\"><!--spoiler_title-->" . $title . "<!--spoiler_title_end--></a></div><div id=\"" . $id_spoiler . "\" class=\"text_spoiler\" style=\"display:none;\"><!--spoiler_text-->";
            
            }
        
        }
    а сам вид в CSS.
    Как сделать что-бы до нажатия на заголовок выводилась картинка с (+), а после нажатия с (-).
     
  2. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.025
    Симпатии:
    695
    Мне кажится что это нужно делать подстравивать в файле js_edit.js, но у меня он закодирован :( и не могу нормально посмотреть, да и в яве я не силён... Есть ещё у кого идеи может какнибудь всётаки на CSS можно это реализовать?
     
  3. s2003r

    s2003r Постоялец

    Регистр.:
    13 окт 2006
    Сообщения:
    60
    Симпатии:
    4
    Да нет, там надо дописывать код ц том месте что указал alkov.
    Вот тут он реализован http://www.nulled.ws/showthread.php?t=67320&highlight=spoiler под старую версию как отдельный хак.
    я в пхп не силён и адаптировать на 7.5 у меня не получилось.

    к запросу присоединяюсь :thenks:
     
  4. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.025
    Симпатии:
    695
    Ну не знаю не знаю, попробую на днях поковырятся, авось чтонить и выйдет, хотя не уверен что это в этом файле нужно делать :-]
     
  5. eshkin

    eshkin

    Регистр.:
    13 апр 2006
    Сообщения:
    597
    Симпатии:
    255


    попобуй такую конструкцию;)

    Код:
    
            
            if( ! $title ) {
       
       return "<!--dle_spoiler--><div class=\"title_spoiler\"><div id=\"" . $id_spoiler . "plus\" class=\"text_spoiler\" onClick=\"ShowOrHide('" . $id_spoiler . "minus'), ShowOrHide('" . $id_spoiler . "plus'),  ShowOrHide('" . $id_spoiler . "')\"><img src=\"{THEME}/dleimages/plus_fav.gif\" border=\"0\"></div><div id=\"" . $id_spoiler . "minus\" class=\"text_spoiler\" style=\"display:none;\" onClick=\"ShowOrHide('" . $id_spoiler . "plus'), ShowOrHide('" . $id_spoiler . "minus'), ShowOrHide('" . $id_spoiler . "')\"> <img src=\"{THEME}/dleimages/minus_fav.gif\" border=\"0\"></div></div><div id=\"" . $id_spoiler . "\" class=\"text_spoiler\" style=\"display:none;\"><!--spoiler_text-->";
      
      } else {
       
       return "<!--dle_spoiler $title --><div class=\"title_spoiler\"><div id=\"" . $id_spoiler . "plus\" class=\"text_spoiler\" onClick=\"ShowOrHide('" . $id_spoiler . "minus'), ShowOrHide('" . $id_spoiler . "plus'),  ShowOrHide('" . $id_spoiler . "')\"><img src=\"{THEME}/dleimages/plus_fav.gif\" border=\"0\"></div><div id=\"" . $id_spoiler . "minus\" class=\"text_spoiler\" style=\"display:none;\" onClick=\"ShowOrHide('" . $id_spoiler . "plus'), ShowOrHide('" . $id_spoiler . "minus'),  ShowOrHide('" . $id_spoiler . "')\"> <img src=\"{THEME}/dleimages/minus_fav.gif\" border=\"0\"></div></div><div id=\"" . $id_spoiler . "\" class=\"text_spoiler\" style=\"display:none;\"><!--spoiler_text-->";
      
      }
     
    
     
    s2003r, ramsei, FORMAT и ещё 1-му нравится это.
  6. alkov

    alkov Создатель

    Регистр.:
    18 дек 2006
    Сообщения:
    36
    Симпатии:
    14
    Совсем чуть чуть доработал вышеуказанное решение (что-бы вместе с + и - отображалось название спойлера).
    Окончательный вариант ниже.
    Код:
            if( ! $title ) {
       
       return "<!--dle_spoiler--><div class=\"title_spoiler\"><div id=\"" . $id_spoiler . "plus\"  onClick=\"ShowOrHide('" . $id_spoiler . "minus'), ShowOrHide('" . $id_spoiler . "plus'),  ShowOrHide('" . $id_spoiler . "')\"><img src=\"{THEME}/dleimages/plus.gif\" border=\"0\">&nbsp;". $lang['spoiler_title'] ."</div><div id=\"" . $id_spoiler . "minus\" style=\"display:none;\" onClick=\"ShowOrHide('" . $id_spoiler . "plus'), ShowOrHide('" . $id_spoiler . "minus'), ShowOrHide('" . $id_spoiler . "')\"> <img src=\"{THEME}/dleimages/minus.gif\" border=\"0\">&nbsp;". $lang['spoiler_title'] ."</div></div><div id=\"" . $id_spoiler . "\" class=\"text_spoiler\" style=\"display:none;\"><!--spoiler_text-->";
      
      } else {
       
       return "<!--dle_spoiler $title --><div class=\"title_spoiler\"><div id=\"" . $id_spoiler . "plus\"  onClick=\"ShowOrHide('" . $id_spoiler . "minus'), ShowOrHide('" . $id_spoiler . "plus'),  ShowOrHide('" . $id_spoiler . "')\"><img src=\"{THEME}/dleimages/plus.gif\" border=\"0\">&nbsp;". $title ."</div><div id=\"" . $id_spoiler . "minus\" style=\"display:none;\" onClick=\"ShowOrHide('" . $id_spoiler . "plus'), ShowOrHide('" . $id_spoiler . "minus'),  ShowOrHide('" . $id_spoiler . "')\"> <img src=\"{THEME}/dleimages/minus.gif\" border=\"0\">&nbsp;". $title ."</div></div><div id=\"" . $id_spoiler . "\" class=\"text_spoiler\" style=\"display:none;\"><!--spoiler_text-->";
      
      }
    Всё работает. Я даже и не сомневался, что именно на этом форуме дадут внятное и действующее решение.
    eshkin, отдельное тебе ОГРОМНОЕ СПАСИБО !!!
     

    Вложения:

    • minus.gif
      minus.gif
      Размер файла:
      502 байт
      Просмотров:
      82
    • plus.gif
      plus.gif
      Размер файла:
      502 байт
      Просмотров:
      86
    • demo.gif
      demo.gif
      Размер файла:
      4 КБ
      Просмотров:
      12
    s2003r, ramsei и FORMAT нравится это.
  7. FORMAT

    FORMAT

    Регистр.:
    9 май 2008
    Сообщения:
    210
    Симпатии:
    45
    а я как раз таки маялся с реализацией, и ксс и скрипты подгружал %), в итоге заменил тот что в движке старым хаком... респект за реализацию, так действительно лучше
     
Статус темы:
Закрыта.