{
  "$schema": "https://rev.uask.pro/knowledge/node.schema.json",
  "schema_version": "1.0",
  "entity": "revolution.settings.catalog.modules",
  "canonical_url": "https://rev.uask.pro/settings/catalog/modules.html",
  "anchors": {
    "doc": "#doc",
    "dev": "#dev"
  },
  "title_ru": "Модули каталога",
  "summary_ru": "Здесь настраивается раздел «Модули каталога» и то, как он выглядит и работает для покупателей.",
  "version_scope": "5.x",
  "source": {
    "kind": "shipped_admin_template",
    "file": "admin/view/template/revolution/revtheme.twig",
    "tab_id": "tab_cat_mods"
  },
  "retrieval": {
    "read_when": [
      "добавить модули в каталог",
      "изменить блоки каталога"
    ],
    "skip_when": [
      "задача не касается компонента и ни одно условие связи не совпадает"
    ],
    "strategy": "read_current_then_conditionally_follow_edges",
    "stop_condition": "получены поля, ограничения и проверка, необходимые для текущей задачи",
    "do_not": [
      "не читать весь сайт последовательно",
      "не выдумывать серверную валидацию защищённого контроллера"
    ]
  },
  "fields": [
    {
      "name": "revtheme_cat_mods[viewed_products]",
      "label_ru": "Просмотренные товары",
      "control": "radio",
      "format": "enum / boolean",
      "options": [
        {
          "value": "1",
          "label": "Вкл."
        },
        {
          "value": "0",
          "label": "Выкл."
        }
      ],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Управляет параметром «Просмотренные товары» в этом компоненте.",
      "source_line": 4716,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_cat_mods[{language_id}][viewed_products_zagolovok]",
      "label_ru": "Заголовок",
      "control": "text",
      "format": "string",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Задаёт отображаемый пользователю текст или заголовок.",
      "source_line": 4731,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_cat_mods[viewed_products_limit]",
      "label_ru": "Лимит товаров",
      "control": "text",
      "format": "integer",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Ограничивает количество выводимых элементов.",
      "source_line": 4741,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    }
  ],
  "relations": [
    {
      "relation": "part_of",
      "target": "revolution.settings.catalog",
      "url": "/settings/catalog/",
      "why": "Родительский раздел «Каталог товаров».",
      "when_to_follow": "Нужен обзор соседних компонентов этого раздела."
    },
    {
      "relation": "apply_with",
      "target": "revolution.workflow.safe-change",
      "url": "/getting-started/safe-workflow",
      "why": "Безопасное изменение настроек и откат.",
      "when_to_follow": "Перед изменением рабочего магазина."
    },
    {
      "relation": "troubleshoot_with",
      "target": "revolution.troubleshooting.cache",
      "url": "/troubleshooting/cache",
      "why": "Сохранённые настройки могут быть скрыты кэшем шаблона, модификаторов или браузера.",
      "when_to_follow": "Изменение сохранено, но не видно на витрине."
    },
    {
      "relation": "related_by_task",
      "target": "revolution.settings.appearance.catalog",
      "url": "/settings/appearance/catalog",
      "why": "Общие задачи: catalog, content, product.",
      "when_to_follow": "Вопрос затрагивает одновременно «Модули каталога» и «Внешний вид каталога»."
    },
    {
      "relation": "related_by_task",
      "target": "revolution.settings.header.catalog-menu",
      "url": "/settings/header/catalog-menu",
      "why": "Общие задачи: catalog, content, product.",
      "when_to_follow": "Вопрос затрагивает одновременно «Модули каталога» и «Каталог товаров в шапке»."
    },
    {
      "relation": "related_by_task",
      "target": "revolution.settings.home.product-slider-1",
      "url": "/settings/home/product-slider-1",
      "why": "Общие задачи: catalog, content, product.",
      "when_to_follow": "Вопрос затрагивает одновременно «Модули каталога» и «Произвольный слайдер товаров 1»."
    },
    {
      "relation": "related_by_task",
      "target": "revolution.settings.product.modules",
      "url": "/settings/product/modules",
      "why": "Общие задачи: catalog, content, product.",
      "when_to_follow": "Вопрос затрагивает одновременно «Модули каталога» и «Модули карточки товара»."
    }
  ],
  "uncertainties": [
    "Точная серверная валидация и реализация сохранения скрыты ionCube.",
    "Пустое HTML-значение не считается доказательством фактического default после установки."
  ]
}
