• Автор:

    Flesha
  • Добавлено:

    янв 22, 2015
  • Комментариев:

    0
  • Просмотров:

    1 351

Модуль {AJAX FULL-STORY} 1.2.4

Модуль {AJAX FULL-STORY} 1.2.4

Модуль {AJAX FULL-STORY} 1.2.4 позволяет организовать на сайте под управлением DataLife Engine быстрый просмотр полной новости на AJAX. А благодаря правильному кешированию он работает очень эффективно.

Особенности модуля:

• Не требует каких-либо правок движка.
• Учёт прав доступа к новости. Если пользователю по каким то причинам запрещено просматривать полную новость в настройках - он не сможет её посмотреть.
• Подсчёт количества просмотров. Модуль учитывает настройки DLE и если требуется - засчитывает просмотр новости.
• Корректная очистка кеша модуля. Кеш модуля очищается в соответствии с правилами автоочистки кеша DLE, поэтому в быстром просмотре новость будет всегда актуального содержания.
• Поддержка всех тегов. Модуль поддерживает все теги шаблона fullstory.tpl. Если тег не нужен в быстром просмотре - вместо него будет пустота. (форма добавления комментариев, сами комментарии).
• Кеширование на стороне клиента. Модуль отдаёт правильные заголовки. Если включено кеширование на сайте и пользователь повторно вызовет быстрый просмотр новости - браузер получит в ответ 304 статус и отдаст пользователю закешированную (в браузере) страницу.

Что нового в {AJAX FULL-STORY} 1.2.4 (13.01.15):
-Исправлена ошибка с неработающими допполями

Установка:

1. Распаковать содержимое папки upload в корень сайта.

2. В нужном месте любого шаблона вставить минимальный код:
<span data-afs-id="{news-id}">Быстрый просмотр</span>


Где {news-id} - ID новости (обязательный параметр).

Так же можно использовать дополнительные атрибуты:
<span data-afs-id="{news-id}" data-afs-template="mytemplate" data-afs-preset="mypreset">Быстрый просмотр</span>


data-afs-template="mytemplate" - путь к шаблону модуля относительно текущей папки с шаблоном сайта.
Если на сайте разрешена смена скина, то путь будет построен относительно активного в данный момент шаблона сайта.
По умолчанию: **{THEME}/ajax/fullstory**. (Необязательный параметр).


data-afs-preset="mypreset" - путь к файлу с настройками модуля. По умолчанию не используется.


3. В js файл шаблона вставить:
$(document).on('click', '[data-afs-id]', function () {
var $this = $(this),
$data = $this.data();

$.ajax({
url: dle_root + 'engine/ajax/full-story.php',
type: 'GET',
dataType: 'html',
data: {
newsId: $data.afsId, // Обязательная переменная
preset: ($data.afsPreset) ? $data.afsPreset : '', // Название файла с настройками (необязательно)
template: ($data.afsTemplate) ? $data.afsTemplate : '', // Название файла с шаблоном (необязательно)
},
})
.done(function (data) {
var $html = $(data);

// Данные получены, можно заняться разбором и показать их в диалоге
// Ниже простейший пример вывода контента в стандартном модальном окне DLE

var modalId = 'afs-' + $data.afsId + '-' + $data.afsPreset + '-' + $data.afsTemplate;
modalId = modalId.replace(///g, "-");

var $modalBlock = $('<div style="display: none;"><div id="' + modalId + '"></div></div>');

$modalBlock
.appendTo('body') // Добавляем блок на страницу
.find('#' + modalId) // Ищем интересующий нас селектор
.html($html) // Вставляем в него полученный код
.dialog({ // Показываем модальное окно
width: 800
});

})
.fail(function () {
console.log("full-story error");
});
});


4. В CSS-файл шаблона вставить код для стилизации выводимых ошибок:
.afs-error {
/*Общий стиль для всех ошибок*/
padding: 20px;
background: #fff;
color: #424242;
}
.afs-news-error {
/*Стиль ошибки, если новость не найдена*/
background: #eceff1;
}
.afs-tpl-error {
/*Стиль ошибки, если не найден шаблон*/
color: #b71c1c;
}
.afs-perm-error {
/*Стиль ошибки, если не достаточно прав для просмотра полной новости*/
background: #e65100;
color: #F5F5F5;
}


Готово! Не забудьте подправить JS и CSS код под оформление своего сайта .

Параметры, принимаемые модулем:
Модуль принимает через GET-запросы следующие параметры:
newsId - обязательный параметр. ID новости для показа.


template - путь к шаблону модуля относительно текущей папки с шаблоном сайта.
Если на сайте разрешена смена скина, то путь будет построен относительно активного в данный момент шаблона сайта.
По умолчанию: {THEME}/ajax/fullstory


preset - путь к файлу с настройками модуля. По умолчанию не используется.


Настройки модуля:
Настройки модуля хранятся в отдельном файле, это сделано для безопасной передачи настроек и уменьшения нагрузки на хостинг.
Для хранения настроек был выбран формат шаблона т.к. его можно отредактировать через админпанель.

При формировании настроек необходимо соблюдать следующий синтаксис:
- Параметры необходимо писать по одному в строке.
- Имя параметра и его значение необходимо разделять знаком равенства.

На данный момент возможно использование следующих параметров:
fields - поля, отбираемые из БД.
Доступны следующие поля для запроса: short_story, full_story, xfields, comm_num, fixed, tags.
Так же можно использовать поле all, тогда будут отобраны все возможные поля новости из БД. Аналогичный результат будет, если не передавать в модуль переменную preset или передать её пустой.


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


Версия DLE: 9.6-10.3
Автор: ПафНутиЙ
Сайт: pafnuty.name

Внимание! У Вас нет прав для просмотра скрытого текста.
dle
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.