prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Январь 2017    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Всё для вебмастера » Всё для DataLife Engine » DLE модули » Сворачивающиеся блоки 2.1 (AJAX)

Сворачивающиеся блоки 2.1 (AJAX)


Данный материал предоставлен сайтом ProWebber.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
У нас вы можете скачать бесплатно Сворачивающиеся блоки 2.1 (AJAX).


Сворачивающиеся блоки 2.1 (AJAX)


Автор: MSW
ICQ: 365-888
Версия DLE: 8.3
Пример: _http://megafile.mksat.net/_

Продолжение серии модуля: "Блоки как вконтакте"
Данный модуль позволяет создать на сайте сворачивающиеся и разворачивающиеся блоки. Каждый посетитель сайта может по собственному желанию свернуть/развернуть тот или иной блок для себя. После перезагрузки страницы блоки останутся в установленом положении.

Изменения относительно старых версий:
- динамическая подгрузка, после изменения, содержимого блока средствами AJAX
- возможность сворачивать/разворачивать содержимое тегов, по типу календарь, голосование, архив и т.д.

Установка:
Создать/отредактировать файл: /templates/ваш_шаблон/js/block.js

function block_ajax(id,z) {
    var ajax = new dle_ajax();
    ajax.setVar("action", z);
    ajax.setVar("edit", 1);
    ajax.requestFile = dle_root+"engine/modules/block/"+id+".php";
    ajax.method = 'POST';
    ajax.element = id;
    ajax.sendAJAX("");
    return false;
}

Файл: main.tpl
Найти:
</head>

Добавить выше:
<script type="text/javascript" src="{THEME}/js/block.js"></script>


Создать файл: /engine/modules/block/test.php

<?php
/*
================================
Сворачивающиеся блоки 2.1
================================
Автор: MSW
================================
ICQ: 365-888
================================
*/
//***** Настройка *** начало *****//
/*Внимание!
переменная $name_block - должна совпадать с названием файла, а также, в случае для тегов календарь, голосование и т.д. с именем этого тега!
*/
$name_block = "test";
//***** Настройка *** конец *****//
if($_REQUEST['edit']) {
    define('DATALIFEENGINE', true);
    define('ROOT_DIR', '../../..');
    define('ENGINE_DIR', '../..');
    include ENGINE_DIR . '/data/config.php';
    require_once ENGINE_DIR . '/classes/mysql.php';
    require_once ENGINE_DIR . '/data/dbconfig.php';
    require_once ENGINE_DIR . '/modules/functions.php';
    include_once ENGINE_DIR . '/classes/templates.class.php';
    include_once ENGINE_DIR . '/init.php';
    @header("Content-type: text/css; charset=windows-1251");
    if($_REQUEST["action"] == "off") {
        setcookie($name_block, 1, time()+32140800, "/");
        $cookie = 1;
    } else {
        setcookie($name_block, "", time()-60, "/");
        $cookie = 0;
    }
} else {
    $cookie = $_COOKIE["{$name_block}"];
}

$content = "<div id=\"{$name_block}\"><table>";

if($cookie == 1) {
///свёрнутый блок
$content .= <<<HTML
        <tr onclick="block_ajax('{$name_block}','on')" style="cursor:pointer;">
            <th>Заголовок блока</th>
        </tr>
HTML;
} else {
//развёрнутый блок
/* Особенности:
- В случае для архива:
$block = ($_REQUEST['edit'] == 1) ? $tpl->result["archive"] : $this->data['{archives}'];

- Для других тегов:
$n = "{".$name_block."}";
$block = ($_REQUEST['edit'] == 1) ? $tpl->result[$name_block] : $this->data[$n];

в содержимое блока выводить переменную: $block
*/
$content .= <<<HTML
        <tr onclick="block_ajax('{$name_block}','off')" style="cursor:pointer;">
            <th>Заголовок блока</th>
        </tr>
        <tr>
            <td>Содержимое блока</td>
        </tr>
HTML;
}
$content .="</table></div>";

echo $content;
?>


В нужном месте для вывода блока:
{include file="engine/modules/block/test.php"}


0
Просмотры: 17627 VIP ProWebber | Комментарии (25)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1MSW

  • 26 января 2010 15:02
  • Регистрация: 28.11.2009
  • ICQ: --
  • Комментариев: 153
P.S.: ещё пару работ своих выложу как тут кликандер уберут)))

--------------------

0

#2nsdss

  • 26 января 2010 15:47
  • Регистрация: 10.01.2010
  • ICQ: --
  • Комментариев: 457
Молодца. Надеюсь этот заработает на 8.3 версии, предыдущий неработал, и ты не ответил в той теме мне(
Неработает. Тоже самое, что и в предыдущей версии((( Я к тебе в аську стукну, поможешь?
Урааа, Реальный чел. В аське помог. Теперь все летает)

--------------------

0

#3GrOzNy

  • 26 января 2010 17:18
  • Регистрация: 13.10.2009
  • ICQ: 30986184
  • Комментариев: 125
что-то похожое уже где-то видел

0

#4MysterIoes

  • 26 января 2010 17:59
  • Регистрация: 22.11.2009
  • ICQ: --
  • Комментариев: 356
MSW,
отредактировал новость

0

#51nokia

  • 26 января 2010 18:21
  • Регистрация: 1.12.2009
  • ICQ: 1
  • Комментариев: 106
ilja, зачем делать такую подлянку - удалять комментарий MSW, в котором было сказано, что нужно поменять. Обматерить за это готов...
Я уже почти до конца отредактировал старые блоки на новый лад, думал посмотреть, что нужно подправить, а тут на тебе.
Придётся заново переделывать chok

0

#6MSW

  • 26 января 2010 18:31
  • Регистрация: 28.11.2009
  • ICQ: --
  • Комментариев: 153
1nokia,
не придётся, правка была только в местах
$content = "<div id=\"{$name_block}\"><table>";

и закрывающий тег таблицы и дива

--------------------

0

#71nokia

  • 26 января 2010 19:04
  • Регистрация: 1.12.2009
  • ICQ: 1
  • Комментариев: 106
Кстати, инструкция не совсем полная. Если нужно выводить в блоке всё время один и тот же тест, то в содержание блока вместо $block нужно вводить сам текст, а если тег, то $block.
Сейчас буду смотреть, как будет работать с инклюдами (флеш-облако тегов хочу попробовать, будет сворачиваться или нет) и куда вообще прописывать инклюд.
И ещё: как быть, если нужно, кроме тега, вывести в блоке текст?
Например,
<div ....>{тег}</div>
текст

0

#8MysterIoes

  • 26 января 2010 19:05
  • Регистрация: 22.11.2009
  • ICQ: --
  • Комментариев: 356
1nokia,
1. Я знаю что я делаю
2. Все что надо было исправить теперь в новости оформлено
3. Думайте перед тем как писать.

0

#9ProStyle

  • 26 января 2010 19:23
  • Регистрация: 26.01.2010
  • ICQ: 355205880
  • Комментариев: 1
круто ммм а чё такпафыафывавфыа

0

#101nokia

  • 26 января 2010 19:38
  • Регистрация: 1.12.2009
  • ICQ: 1
  • Комментариев: 106
Заметил небольшой косяк - если тег не стандартный, например, {ххх}, то при разворачивании блока ничего не подгружается, но при перезагрузке страницы содержимое блока отображается.

0

#11MSW

  • 26 января 2010 19:43
  • Регистрация: 28.11.2009
  • ICQ: --
  • Комментариев: 153
1nokia,
теги работают те что прописаны в index.php
по типу:
$tpl->set ( '{тег}', $tpl->result['тег'] );

а это из стандартных: calendar, archives, tags, vote, info

с остальным - экспериментируйте, пробуйте.
я за вас делать это не буду))) итак работы нашару выкладываю)))

консультации по аське, как вставить тот или иной тег, платные))

--------------------

0

#12d0z

  • 26 января 2010 19:47
  • Регистрация: 29.12.2009
  • ICQ: 913153
  • Комментариев: 455
хмм... На любых шаблонах работает?

--------------------

-1

#13MSW

  • 26 января 2010 20:13
  • Регистрация: 28.11.2009
  • ICQ: --
  • Комментариев: 153
d0z,
всё в ваших руках, правьте в коде там де
///свёрнутый блок
и
///развёрнутый блок
изменяя под свой шаблон.

Ещё раз повторю - это заготовка, базовая версия, конструктор (называйте как хотите) на основе которой каждый под себя делает свои блоки.

Включаем мозг, достаём руки и делаем именно то что вам нужно. Хоть тут уже постарайтесь подумать, это уже не сложно, самое основное и сложное за вас уже сделано. каждому индивидуально делать не буду, если нет желания думать/нет времени/нет опыта/и т.д. и т.п. - обращаемся в аську, договоримся за цену и я всё сделаю за вас)))

--------------------

0

#14pilot233

  • 26 января 2010 20:39
  • Регистрация: 17.11.2009
  • ICQ: --
  • Комментариев: 126
Вот что-то бодобное я искал!

0

#15DarkneZ

  • 26 января 2010 20:48
  • Регистрация: 13.10.2009
  • ICQ: 9115263
  • Комментариев: 120
я думаю этот сайт пойдёт только там где много блоков!

--------------------

0

#16jeff

  • 26 января 2010 21:09
  • Регистрация: 9.10.2009
  • ICQ: 927700
  • Комментариев: 24
попробую потом отпишусь...

0

#17d0z

  • 27 января 2010 04:49
  • Регистрация: 29.12.2009
  • ICQ: 913153
  • Комментариев: 455
MSW, получается самому под свой шаблон нужно настроить?

--------------------

-1

#18abatsk

  • 27 января 2010 07:10
  • Регистрация: 10.01.2010
  • ICQ: --
  • Комментариев: 42
Цитата: d0z
MSW, получается самому под свой шаблон нужно настроить?

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

0

#19DOG

  • 27 января 2010 20:07
  • Регистрация: 10.10.2009
  • ICQ: 1505837
  • Комментариев: 103
  • Выкл.
Никто не пробовал баннеры таким способом скрывать? Если да -то подскажите как.

--------------------

0

#200904

  • 28 января 2010 21:14
  • Регистрация: 24.01.2010
  • ICQ: 550570244
  • Комментариев: 18
Интересный модуль, но, блин, запарился править под шаблон :)

0
1 2
Предыдущая    Следующая
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Бро лей на лучшую партнёрку

Почти бесплатный VDS хостинг!

помещение Аренда проспект Мира

gardenmir.com


Реклама строительных материалов

Строительные материалы! Гарантия качества

prismo.ru


Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Январь 2017 (5)
Декабрь 2016 (16)
Ноябрь 2016 (9)
Октябрь 2016 (10)
Сентябрь 2016 (8)
Август 2016 (11)

Последние комментарии:

Искать людей

Ваши переписки