11 января 2018 г.

В блогах WordPress есть довольно неплохой инструмент, позволяющий откатывать или восстанавливать редактируемую статью. Согласитесь, очень удобно, когда необходимо отслеживать версии контента в рамках качественного продвижения. Почему бы не реализовать такой функционал и в OpenCart 1.5+, который бы выполнял следующие задачи:

  1. Хранение версий текста описания товаров, категорий и информационных страниц (включая заголовки, теги и мета-данные) для возможности их восстановления на протяжении, например, года.
  2. Оценка качества работы наемного редактора по внесенным правкам.
  3. Выявление часто изменяемых разделов или страниц и передача этой информации системе.
В первом случае речь идёт об упрощении процедуры наполнения сайта контентом. Например, вы помните, что у товара А был аналогичный рисунок, который можно было бы вставить в описание товара Б. Или, вы отредактировали страницу и после этого её позиции в поисковой выдаче ухудшились. Не беда, откатываем предыдущую версию и смотрим что в ней такого особенного, что она понравилась роботу. Здесь я хотел бы отметить, что со своей стороны не поддерживаю идею поискового шума, старайтесь работать на читателя, а не на поискового робота.

Второй пункт очевиден. Прежде чем оплатить работу рерайтера или копирайтера, неплохо бы ознакомиться с объёмом его работ, а в случае чего – востановить оригинальные версии текстов.

Последний вариант пригодится системе, например её модулям. Здесь самый востребованный спрос будет со стороны карты сайта sitemap.xml, где есть такой параметр как changefreq – атрибут, описывающий насколько часто меняется содержимое страниц. Эту частоту можно вычислять основываясь на истории конкретной страницы.

Собственно, перейдём к описанию самого модуля. Модуль программируемый, т.е. системный. Подключается путем добавления модуля OpenCart History Module как дочернего контроллера в один из системных контроллеров (одной строчкой). Больше никаких изменений в системные файлы OpenCart не вносится, все целевые функции выполняются в нашем контроллере.

Внешне модуль представляет собой кнопку «История» с выпадающим списком (см. видео ниже), которая появляется на страницах редактируемых объектов следующих разделов: категория, товар и информационная страница.


Список разделов можно расширить, в зависимости от их наличия, например блоги или новости (задаются в контроллере модуля), однако ключевой алгоритм отслеживания истории реализован на уровне базы данных за счёт одноименных триггеров и одной таблицы, в которой, собственно, и хранится вся история изменений.

Рисунок 1. Внешний вид работы модуля OpenCart History Module v1.0

Выпадающий список (см. рис.1) представляет собой пронумерованную историю с датами по убыванию. Строится через асинхронный запрос к базе данных. После нажатия на элемент списка, также через асинхронный запрос (без перезагрузки страницы), буду обновлены такие поля формы, как название, мета-описание, мета-ключевые слова, описание и теги.

Требования: создание триггеров в БД и одной таблицы (структура и код даны в инструкциях к архиву).

Состав архива:
./system/helper/time_ago.php
./admin/language/russian/common/history.php
./admin/language/english/common/history.php
./admin/controller/common/history.php
./admin/view/template/common/history.tpl
./admin/view/image/toggle.png
./readme.txt

Стоимость: $12

Если вам понравился модуль, то его можно приобрести в текущем исполнении или заказать его доработку под ваши нужды. Информация для контактов здесьТекст этой темы может быть дополнен, подписывайтесь на комментарии.

1 комментарий:

  1. If you're looking to burn fat then you need to get on this totally brand new custom keto diet.

    To create this service, licenced nutritionists, personal trainers, and chefs united to provide keto meal plans that are productive, convenient, cost-efficient, and fun.

    From their launch in January 2019, 1000's of individuals have already transformed their body and health with the benefits a great keto diet can give.

    Speaking of benefits: in this link, you'll discover 8 scientifically-certified ones given by the keto diet.

    ОтветитьУдалить

  • RSS
  • Twitter
  • Youtube