Skip to content

Commit

Permalink
Merge pull request #9 from dle-modules/2.0.0
Browse files Browse the repository at this point in the history
2.0.0
  • Loading branch information
pafnuty authored Jan 18, 2021
2 parents 83f6b26 + 401e92e commit 456adc8
Show file tree
Hide file tree
Showing 13 changed files with 2,061 additions and 1,044 deletions.
93 changes: 15 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# {AJAX FULL-STORY} DLE
# DLE-AjaxFullStory
![Release version](https://img.shields.io/github/v/release/dle-modules/DLE-AjaxFullStory?style=flat-square)
![DLE](https://img.shields.io/badge/DLE-14.x-green.svg?style=flat-square "DLE Version")
![License](https://img.shields.io/github/license/dle-modules/DLE-AjaxFullStory?style=flat-square)

Бесплатный модуль для загрузки полной новости в DLE средствами AJAX

## Требования
- Версия DLE: **10.2+** (на более старых не проверялся, но должен работать вплоть до 9.6)
- Версия DLE: **14.x**

## Особенности модуля
- Не требует каких-либо правок движка
Expand All @@ -13,8 +17,14 @@
- Кеширование на стороне клиента (модуль отдаёт правильные заголовки)

## Установка
- Если сайт работает в кодировке windows-1251, необходимо перекодировать файлы модуля в эту кодировку.
- Залить содержимое папки **upload** в корень сайта.
- Устанавливаем как обычный плагин, файл **[afs_plugin.zip](https://github.com/dle-modules/DLE-AjaxFullStory/releases/latest)** содержит всё необходимое для автоматической установки.
- В нужном месте прописать стили и скрипты модуля (если у вас уже есть magnificpopup - второй раз прописывать не нужно)
```html
<link href="{THEME}/ajax/fullstory.css" type="text/css" rel="stylesheet">
<link href="{THEME}/ajax/magnificpopup.css" type="text/css" rel="stylesheet">
<script src="{THEME}/ajax/magnificpopup.js"></script>
<script src="{THEME}/ajax/fullstory.js"></script>
```
- В нужном месте любого шаблона вставить минимальный код:
``` html
<span data-afs-id="{news-id}">Быстрый просмотр</span>
Expand All @@ -31,77 +41,4 @@
+ `data-afs-template="mytemplate"` - Путь к шаблону модуля относительно текущей папки с шаблоном сайта. Если на сайте разрешена смена скина, то путь будет построен относительно активного в данный момент шаблона сайта. По умолчанию: **{THEME}/ajax/fullstory**. (Необязательный параметр).
+ `data-afs-preset="mypreset"` - Путь к файлу с настройками модуля. По умолчанию не используется.
Подробнее о параметрах читайте в документации.

- В js файл шаблона вставить:
``` javascript
$(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");
});
});
```

- В CSS-файл шаблона вставить код для стилизации выводимых ошибок:
``` 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;
}
```

## Документация
- Документация по модулю находится на [этой странице](https://github.com/pafnuty/ajax-full-story-DLE/blob/master/DOCUMENTATION.md)

## Контакты
- URL: http://pafnuty.name/
- twitter: https://twitter.com/pafnuty_name
- google+: http://gplus.to/pafnuty
- email: pafnuty10@gmail.com
z
25 changes: 25 additions & 0 deletions ajaxfullstory.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
<name>AjaxFullStory</name>
<description>DLE-AjaxFullStory - модуль для загрузки полной новости в DLE средствами AJAX</description>
<icon></icon>
<version>2.0.0</version>
<dleversion>14</dleversion>
<versioncompare>greater</versioncompare>
<upgradeurl>https://updates.pafnuty.name/check-afs.php</upgradeurl>
<filedelete>0</filedelete>
<needplugin></needplugin>
<mnotice>1</mnotice>
<mysqlinstall><![CDATA[]]></mysqlinstall>
<mysqlupgrade><![CDATA[]]></mysqlupgrade>
<mysqlenable><![CDATA[]]></mysqlenable>
<mysqldisable><![CDATA[]]></mysqldisable>
<mysqldelete><![CDATA[]]></mysqldelete>
<phpinstall><![CDATA[]]></phpinstall>
<phpupgrade><![CDATA[]]></phpupgrade>
<phpenable><![CDATA[]]></phpenable>
<phpdisable><![CDATA[]]></phpdisable>
<phpdelete><![CDATA[]]></phpdelete>
<notice><![CDATA[<a href="https://github.com/dle-modules/DLE-AjaxFullStory/blob/master/README.md" target="_blank">Настройка</a>
<a href="https://github.com/dle-modules/DLE-AjaxFullStory/releases/latest" target="_blank">Release notes</a>]]></notice>
</dleplugin>
Loading

0 comments on commit 456adc8

Please sign in to comment.