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

Поиск Раскрывающаяся краткая новость

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

lift

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

Тебе то как необхомо?
Чтобы запрос был при загрузки страницы или чтобы после клика на открывашку?

Если сразу то стучи в асю подскажу и помогу если с кодом не работал!:bc:
 
а как насчет xttp://4dle.ru/mods/1147156191-allnews-1.2.html
 
  • Нравится
Реакции: lift
Allnews 1.3 - в нём предпросмотр краткой новости реализован на аяксе по клику.
зы код мода слегка пугает)
 
  • Нравится
Реакции: lift
Разодрал на части шаблон 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 srcId, srcElement, targetElement;
  srcElement = window.event.srcElement;
  if (srcElement.className.toUpperCase() == "LEVEL1" || srcElement.className.toUpperCase() == "FAQ") {
		 srcID = srcElement.id.substr(0, srcElement.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 НО:
В этом коде при открытии страници по умолчанию идет все короткие новости раскрытые, а мне нужно чтоб шли закрытые и кому надо их сам раскрывал.

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

п.с. за модуль спасибо, но начав читать ридми и на третей строчки увидев горячие приветы Коту так долго смеялся что сил на то чтоб сам модуль ставить не осталось уже ))))
 
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 srcId, srcElement, targetElement;
  srcElement = window.event.srcElement;
  if (srcElement.className.toUpperCase() == "LEVEL1" || srcElement.className.toUpperCase() == "FAQ") {
		 srcID = srcElement.id.substr(0, srcElement.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>
 
Не прошел вариант
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху