Dleshka.org
Авторизация

Скачать FAQ-плагин для DLE 21

0
Dobriu Вчера, 07:44 Mодули DLE 0 комментариев

Что было в версии 1.1

Версия 1.1 заложила фундамент и дала три практичные вещи:

  • Разметка Schema.org FAQPage (JSON-LD). На странице ?do=faq автоматически выводится структурированная разметка. Google может показывать ваши вопросы раскрывающимися блоками прямо в результатах поиска.

  • Защита engine/data/faq.json. При установке рядом с файлом данных создаётся .htaccess, закрывающий прямой доступ из браузера. Открыть https://ваш-сайт/engine/data/faq.json снаружи больше нельзя.

  • Резервная копия перед каждой записью. Перед сохранением faq.json копируется в faq.json.bak. Если что-то пойдёт не так — данные можно восстановить руками.

Всё это осталось и работает в текущей версии.

Что добавилось в версии 1.2

Основное изменение 1.2 — поиск по вопросам на странице ?do=faq:

  • Поле поиска над списком и мгновенная фильтрация при вводе.

  • Счётчик «Найдено X из Y» рядом с полем.

  • Кнопка «Сбросить» и сообщение «Ничего не найдено», если запрос не дал результатов.

  • Умное обновление faq.tpl: при переходе с 1.1 на 1.2 шаблон подменяется автоматически, но если вы уже сами добавили блок поиска — плагин его не трогает.

Что нового в версии 1.3

Это большое обновление — сразу три крупные функции в одном пакете.

1. Категории FAQ

  • У каждого вопроса появилось поле cat — до 100 символов.

  • На фронтенде вопросы группируются в секции с заголовком категории. «Без категории» идёт первой, дальше — по алфавиту.

  • Поиск продолжает работать одновременно во всех категориях и сам скрывает пустые секции.

  • В админке — колонка «Категория» с бейджем, выпадающий фильтр по категориям сверху, а в модальном окне редактирования — поле с datalist (можно выбрать из существующих или ввести новую).

  • Категории вычисляются из самих вопросов: если в категории не осталось ни одного вопроса, она исчезает сама — отдельных таблиц и «пустых» категорий нет.

2. Deep-linking на конкретный вопрос

  • Каждому вопросу присвоен якорь #faq-N.

  • При загрузке страницы с якорем нужный блок автоматически раскрывается, и страница плавно прокручивается к нему.

  • Событие hashchange тоже обрабатывается: если в адресной строке сменить якорь, блок раскроется.

  • В ответе есть кнопка «Ссылка» — она копирует прямой URL на этот вопрос в буфер обмена (на 1,2 секунды превращаясь в «Скопировано»).

3. Счётчик просмотров

  • У каждого вопроса в faq.json появилось поле views — целое число.

  • Счётчик увеличивается при первом раскрытии вопроса на фронте. Отправка идёт через navigator.sendBeacon, поэтому не мешает пользователю и не блокирует интерфейс.

  • Инкремент один раз за сессию просмотра страницы — повторные раскрытия того же вопроса не считаются.

  • В админке появилась колонка «Просмотры», а в меню действий — пункт «Сбросить просмотры».

  • В отличие от админских операций, инкремент просмотра не создаёт .bak, чтобы не заспамить диск копиями на каждый клик.

Умная миграция данных

Отдельно стоит сказать о phpupgrade. При обновлении с 1.1 или 1.2 до 1.3 плагин не теряет существующие вопросы: он читает текущий faq.json и добавляет каждому вопросу недостающие поля cat = '' и views = 0. Старые данные становятся видимыми и рабочими сразу после установки — ничего вручную править не нужно.

Так же умно обновляется и faq.tpl: если в вашем шаблоне уже есть признаки версии 1.3 (класс .faq-category), файл не перезаписывается — сохраняются ваши доработки.

Обновление в один клик

Плагин умеет проверять обновления сам. В «Управлении плагинами» у FAQ есть кнопка «Проверить обновление» — она обращается по адресу из <upgradeurl>

(https://devify.ru/uploads/faq/faq-update.json)


, сравнивает версии и, если доступна новая, предлагает обновиться. Скачивание идёт через ZIP-архив, внутри которого лежит свежий faq.xml.

Скачать :

faq-1.1.zip [13.59 Kb] (cкачиваний: 0)

Информация
Зарегистрируйтесь чтобы комментировать публикацию.
Авторизация