15:53
Как выставить в uCoz дату публикации материала ранее 2022 года: пошаговое руководство

Как в uCoz выставить дату публикации ранее 2022 года: 2 рабочих способа

Инструкции и готовые решения для вебмастеров uCoz 

При переносе архивов, оцифровке старых публикаций или наполнении сайта материалами «задним числом» администраторы uCoz сталкиваются с неприятным ограничением: стандартный выпадающий список выбора даты содержит только текущий год и 3–4 года назад. Выбрать дату ранее 2022–2023 гг. штатными кнопками невозможно.

Важный нюанс: База данных uCoz без проблем принимает и сохраняет любые даты (хоть 1990 год). Ограничение заложено исключительно в веб-интерфейсе выпадающего списка <select>.

Шаг 0. Проверка настроек модуля

Прежде чем менять дату, убедитесь, что в системе активирована возможность ручного выбора времени:

  1. Перейдите в Панель управления uCoz.
  2. Откройте нужный модуль (например, Новости сайта или Каталог статей) → Настройки модуля.
  3. В блоке «Тонкие настройки» включите галочку «Включить возможность выбирать дату добавления материала».
  4. Сохраните изменения.

Способ 1. Разовое изменение через консоль браузера (1 минута)

Подходит, если нужно изменить дату у одного или нескольких материалов без редактирования шаблонов сайта.

  1. Откройте страницу добавления или редактирования новости/статьи.
  2. Нажмите на клавиатуре клавишу F12 (или комбинацию Ctrl + Shift + I) и перейдите во вкладку Console (Консоль).
  3. Если браузер заблокировал вставку и выдал предупреждение безопасности (часто бывает в Chrome/Яндекс), напечатайте вручную команду:
    allow pasting
    и нажмите Enter.
  4. Вставьте следующую команду и нажмите Enter:
document.querySelectorAll('select').forEach(s => { for(let y = 2021; y >= 1990; y--) { s.add(new Option(y, y), 0); } });

После нажатия Enter раскройте выпадающий список года в форме — в нем мгновенно появятся все годы с 1990 по 2021. Выберите нужный и сохраните материал.

Способ 2. Автоматическое расширение списка через шаблон

Если публикаций много, проще встроить небольшой скрипт в шаблон. Он будет сам добавлять архивные годы при каждом открытии формы (включая всплывающие окна быстрого редактирования AJAX).

Инструкция по установке:

  1. Перейдите в Панель управления → Управление дизайном (шаблоны).
  2. Выберите модуль Новости сайта (или другой модуль) → шаблон «Страница добавления/редактирования материала».
  3. Прокрутите код шаблона в самый низ и вставьте перед тегом </body> следующий код:
<script>
(function() {
  var MIN_YEAR = 1990; // Задайте нужный минимальный год

  function addArchiveYears() {
    var selects = document.querySelectorAll('select[name="nyear"], select[name="year"], select[name="f_year"], select[id*="year"]');
    if (!selects.length) selects = document.querySelectorAll('select');

    for (var i = 0; i < selects.length; i++) {
      var sel = selects[i];
      if (sel.getAttribute('data-years-fixed') === 'true') continue;

      var hasYearOption = sel.querySelector('option[value="2022"], option[value="2023"], option[value="2024"]');
      var isNamedYear = /year/i.test(sel.name) || /year/i.test(sel.id);

      if (hasYearOption || isNamedYear) {
        var firstOpt = sel.options[0];
        if (!firstOpt) continue;

        var startVal = parseInt(firstOpt.value, 10);
        if (isNaN(startVal)) continue;

        var fragment = document.createDocumentFragment();
        for (var y = startVal - 1; y >= MIN_YEAR; y--) {
          var opt = document.createElement('option');
          opt.value = y;
          opt.textContent = y;
          fragment.appendChild(opt);
        }
        sel.insertBefore(fragment, sel.firstChild);
        sel.setAttribute('data-years-fixed', 'true');
      }
    }
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', addArchiveYears);
  } else {
    addArchiveYears();
  }

  var observer = new MutationObserver(addArchiveYears);
  if (document.body) observer.observe(document.body, { childList: true, subtree: true });
  setInterval(addArchiveYears, 600);
})();
</script>

Сохраните шаблон и обновите форму добавления новости через Ctrl + F5. Теперь в списке всегда будут присутствовать годы вплоть до 1990.

-Платформа и движок: uCoz, юкоз, cms ucoz, вебмастер, сайты на ucoz
-Тематика проблемы: дата публикации, дата добавления материала, старая дата, архив сайта, изменить дату задним числом
-Технические решения: скрипт ucoz, javascript, devtools, консоль браузера, шаблоны ucoz, код ucoz

Категория: WEB | Просмотров: 6 | Добавил: Compannero | Теги: скрипт UCOZ, devtools, дата материала, Ucoz, юкоз, настройка ucoz, Шаблоны ucoz, старая дата, архив материалов, редактирование новостей, Вебмастер, javascript ucoz, дата публикации | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *: Email:
Код *: