Ищу Раскрывающаяся краткая новость

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

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

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

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

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.378
    7.3, нулл мидтим. С перспективой на 8 нулл пока не знаю чей :)
    мне нужно выставить много новостей на страницу. Но если просто выставить то получится простыня на десяток экранов высотой, а это не удобно и не правильно. А чтоб правильно и удобно, хочу сделать примерно так:
    в краткой новости у меня идет сверху категория и название. я перенесу туда линку на полную статью и линку на предпросмотр. Когда жмеш на предпросмотр то раскрывается кророткая новость.
    Примерно как это сделано на yellow-pages.ru при просмотре списка организаций.
    Я так понимаю, что в код краткой новости нужно вставить скрипт на яве который будет ее раскрывать и подгружать то что нужно. Но не знаю как это сделать. Сам шаблон краткой новости без проблем можно разделить на 2 части совсем краткую и нормальную краткую просто убрав кусок кода из него.
    Кто нибудь может помочь?
     
  2. minych

    minych Прохожие

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

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.378
    Вот я знаю что теоретически можно. А если постораться, то там вообще даже запрос на короткую новость не будет к базе делаться пока не раскроеш ее. Типа нагрузку снизит даже. Только кто сделать это может.
     
  4. WySteR

    WySteR Создатель

    Регистр.:
    23 июл 2008
    Сообщения:
    17
    Симпатии:
    2
    вот посмотри http://azbest.org.ua/templates/119-element-01.html
    шаблон реализован по такому типу, там на ява новости раздвигаются и блоки меню, можеш вытянуть и зделать так у себя)
     
    lift нравится это.
  5. cocacola

    cocacola Постоялец

    Регистр.:
    4 апр 2006
    Сообщения:
    137
    Симпатии:
    48
    Тебе то как необхомо?
    Чтобы запрос был при загрузки страницы или чтобы после клика на открывашку?

    Если сразу то стучи в асю подскажу и помогу если с кодом не работал!:bc:
     
  6. kwin

    kwin

    Регистр.:
    22 авг 2007
    Сообщения:
    413
    Симпатии:
    167
    а как насчет xttp://4dle.ru/mods/1147156191-allnews-1.2.html
     
    lift нравится это.
  7. raven4eg

    raven4eg Бесяцая птича

    Регистр.:
    14 дек 2007
    Сообщения:
    151
    Симпатии:
    19
    Allnews 1.3 - в нём предпросмотр краткой новости реализован на аяксе по клику.
    зы код мода слегка пугает)
     
    lift нравится это.
  8. lift

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.378
    Разодрал на части шаблон element, он мне подходит. Короткую новость сделал под такую навигацию (шаблон), выдрал рабочие части из того шаблона тоже без достаточно легко, все настроил, осталась одна проблема:
    В main.tpl идет вот такой ява скрипт чтоб все работало:
    PHP:
    <SCRIPT language="JavaScript">
    var 
    img1 = new Image();
    img1.src "{THEME}/design/aside-title-js.gif";
    var 
    img2 = new Image();
    img2.src "{THEME}/design/aside-title.gif";

    function 
    doOutline() {
      var 
    srcIdsrcElementtargetElement;
      
    srcElement window.event.srcElement;
      if (
    srcElement.className.toUpperCase() == "LEVEL1" || srcElement.className.toUpperCase() == "FAQ") {
             
    srcID srcElement.id.substr(0srcElement.id.length-1);
             
    targetElement document.all(srcID "s");
             
    srcElement document.all(srcID "i");

          if (
    targetElement.style.display == "none") {
                     
    targetElement.style.display "";
                      if (
    srcElement.className == "LEVEL1"srcElement.src img2.src;
             } else {
                     
    targetElement.style.display "none";
                     if (
    srcElement.className == "LEVEL1"srcElement.src img1.src;
         }
      }
    }

    document.onclick doOutline;

    </SCRIPT>
    и все пашет нормально, но есть 1 НО:
    В этом коде при открытии страници по умолчанию идет все короткие новости раскрытые, а мне нужно чтоб шли закрытые и кому надо их сам раскрывал.

    И еще, я по ходу работ сейчас посмотрел, мне эти имиджи из скрипта сильно не к месту. убрал их. а в скрипте как их корректно убрать?

    п.с. за модуль спасибо, но начав читать ридми и на третей строчки увидев горячие приветы Коту так долго смеялся что сил на то чтоб сам модуль ставить не осталось уже ))))
     
  9. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    PHP:
    <SCRIPT language="JavaScript">
    var 
    img1 = new Image();
    img1.src "{THEME}/design/aside-title-js.gif";
    var 
    img2 = new Image();
    img2.src "{THEME}/design/aside-title.gif";

    function 
    doOutline() {
      var 
    srcIdsrcElementtargetElement;
      
    srcElement window.event.srcElement;
      if (
    srcElement.className.toUpperCase() == "LEVEL1" || srcElement.className.toUpperCase() == "FAQ") {
             
    srcID srcElement.id.substr(0srcElement.id.length-1);
             
    targetElement document.all(srcID "s");
             
    srcElement document.all(srcID "i");

          if (
    targetElement.style.display == "none") {
                     
    targetElement.style.display "block";
                      if (
    srcElement.className == "LEVEL1"srcElement.src img2.src;
             } else {
                     
    targetElement.style.display "none";
                     if (
    srcElement.className == "LEVEL1"srcElement.src img1.src;
         }
      }
    }

    document.onclick doOutline;

    </SCRIPT>
     
  10. lift

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.378
    Не прошел вариант
     
Статус темы:
Закрыта.