{
  "$schema": "https://rev.uask.pro/knowledge/node.schema.json",
  "schema_version": "1.0",
  "entity": "revolution.settings.product.modules",
  "canonical_url": "https://rev.uask.pro/settings/product/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_product_mods"
  },
  "retrieval": {
    "read_when": [
      "добавить блоки в карточку товара",
      "настроить похожие товары"
    ],
    "skip_when": [
      "задача не касается компонента и ни одно условие связи не совпадает"
    ],
    "strategy": "read_current_then_conditionally_follow_edges",
    "stop_condition": "получены поля, ограничения и проверка, необходимые для текущей задачи",
    "do_not": [
      "не читать весь сайт последовательно",
      "не выдумывать серверную валидацию защищённого контроллера"
    ]
  },
  "fields": [
    {
      "name": "revtheme_product_mods[viewed_products]",
      "label_ru": "1) Просмотренные товары",
      "control": "radio",
      "format": "enum / boolean",
      "options": [
        {
          "value": "1",
          "label": "Вкл."
        },
        {
          "value": "0",
          "label": "Выкл."
        }
      ],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Управляет параметром «1) Просмотренные товары» в этом компоненте.",
      "source_line": 5706,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_product_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": 5719,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_product_mods[viewed_products_limit]",
      "label_ru": "Заголовок",
      "control": "text",
      "format": "integer",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Задаёт отображаемый пользователю текст или заголовок.",
      "source_line": 5725,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_product_mods[text_block]",
      "label_ru": "2) Текстовые блоки",
      "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": 5733,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_product_mods[{language_id}][text_block_zagolovok]",
      "label_ru": "Заголовок",
      "control": "text",
      "format": "string",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Задаёт отображаемый пользователю текст или заголовок.",
      "source_line": 5746,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_product_mods[text_block_cols]",
      "label_ru": "Заголовок",
      "control": "select",
      "format": "enum",
      "options": [
        {
          "value": "col-sm-12",
          "label": "1"
        },
        {
          "value": "col-sm-6",
          "label": "2"
        },
        {
          "value": "col-sm-4",
          "label": "3"
        },
        {
          "value": "col-sm-1",
          "label": "12"
        },
        {
          "value": "col-sm-12",
          "label": "1"
        },
        {
          "value": "col-sm-6",
          "label": "2"
        },
        {
          "value": "col-sm-4",
          "label": "3"
        },
        {
          "value": "col-sm-1",
          "label": "12"
        },
        {
          "value": "col-sm-12",
          "label": "1"
        },
        {
          "value": "col-sm-6",
          "label": "2"
        },
        {
          "value": "col-sm-4",
          "label": "3"
        },
        {
          "value": "col-sm-1",
          "label": "12"
        },
        {
          "value": "col-sm-12",
          "label": "1"
        },
        {
          "value": "col-sm-6",
          "label": "2"
        },
        {
          "value": "col-sm-4",
          "label": "3"
        },
        {
          "value": "col-sm-1",
          "label": "12"
        }
      ],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Задаёт отображаемый пользователю текст или заголовок.",
      "source_line": 5752,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_product_mods[text_block_cols_2]",
      "label_ru": "Блоков в ряд (2 ряд)",
      "control": "select",
      "format": "enum",
      "options": [
        {
          "value": "col-sm-12",
          "label": "1"
        },
        {
          "value": "col-sm-6",
          "label": "2"
        },
        {
          "value": "col-sm-4",
          "label": "3"
        },
        {
          "value": "col-sm-1",
          "label": "12"
        },
        {
          "value": "col-sm-12",
          "label": "1"
        },
        {
          "value": "col-sm-6",
          "label": "2"
        },
        {
          "value": "col-sm-4",
          "label": "3"
        },
        {
          "value": "col-sm-1",
          "label": "12"
        },
        {
          "value": "col-sm-12",
          "label": "1"
        },
        {
          "value": "col-sm-6",
          "label": "2"
        },
        {
          "value": "col-sm-4",
          "label": "3"
        },
        {
          "value": "col-sm-1",
          "label": "12"
        },
        {
          "value": "col-sm-12",
          "label": "1"
        },
        {
          "value": "col-sm-6",
          "label": "2"
        },
        {
          "value": "col-sm-4",
          "label": "3"
        },
        {
          "value": "col-sm-1",
          "label": "12"
        }
      ],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Задаёт отображаемый пользователю текст или заголовок.",
      "source_line": 5780,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_blocks_product_item[{row}][icontype]",
      "label_ru": "Тип иконки",
      "control": "radio",
      "format": "enum / boolean",
      "options": [
        {
          "value": "1",
          "label": "Иконка"
        },
        {
          "value": "0",
          "label": "Картинка"
        }
      ],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": true,
      "purpose_ru": "Выбирает иконку или способ её отображения.",
      "source_line": 5825,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_blocks_product_item[{row}][icon]",
      "label_ru": "Иконка",
      "control": "hidden",
      "format": "relative asset path / icon identifier",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Выбирает иконку или способ её отображения.",
      "source_line": 5833,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_blocks_product_item[{row}][image]",
      "label_ru": "Изображение",
      "control": "hidden",
      "format": "relative asset path / icon identifier",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Выбирает изображение, используемое этим компонентом.",
      "source_line": 5837,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_blocks_product_item[{row}][title][{language_id}]",
      "label_ru": "Значение для языка",
      "control": "text",
      "format": "string",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Управляет параметром «Значение для языка» в этом компоненте.",
      "source_line": 5844,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_blocks_product_item[{row}][description][{language_id}]",
      "label_ru": "Значение для языка",
      "control": "text",
      "format": "string",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Управляет параметром «Значение для языка» в этом компоненте.",
      "source_line": 5852,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_blocks_product_item[{row}][link][{language_id}]",
      "label_ru": "Значение для языка",
      "control": "text",
      "format": "string",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Управляет параметром «Значение для языка» в этом компоненте.",
      "source_line": 5860,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_blocks_product_item[{row}][checkbox]",
      "label_ru": "Checkbox",
      "control": "checkbox",
      "format": "enum / boolean",
      "options": [
        {
          "value": "1",
          "label": ""
        },
        {
          "value": "1",
          "label": "Открывать в модальном окне"
        }
      ],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Управляет параметром «Checkbox» в этом компоненте.",
      "source_line": 5865,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    },
    {
      "name": "revtheme_blocks_product_item[{row}][sort]",
      "label_ru": "Порядок сортировки",
      "control": "text",
      "format": "integer",
      "options": [],
      "default_evidence": "не задан в HTML",
      "validation_evidence": "Явная HTML-валидация не задана",
      "conditional_ui": false,
      "purpose_ru": "Определяет порядок вывода; меньшие значения обычно выводятся раньше.",
      "source_line": 5872,
      "consumer_files": [
        "system/revolution.ocmod.xml",
        "admin/view/template/revolution/revtheme.twig"
      ]
    }
  ],
  "relations": [
    {
      "relation": "part_of",
      "target": "revolution.settings.product",
      "url": "/settings/product/",
      "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, visual.",
      "when_to_follow": "Вопрос затрагивает одновременно «Модули карточки товара» и «Внешний вид каталога»."
    },
    {
      "relation": "related_by_task",
      "target": "revolution.settings.catalog.general",
      "url": "/settings/catalog/general",
      "why": "Общие задачи: catalog, content, product, visual.",
      "when_to_follow": "Вопрос затрагивает одновременно «Модули карточки товара» и «Общие настройки каталога»."
    },
    {
      "relation": "related_by_task",
      "target": "revolution.settings.header.catalog-menu",
      "url": "/settings/header/catalog-menu",
      "why": "Общие задачи: catalog, content, product, visual.",
      "when_to_follow": "Вопрос затрагивает одновременно «Модули карточки товара» и «Каталог товаров в шапке»."
    },
    {
      "relation": "related_by_task",
      "target": "revolution.settings.home.product-slider-1",
      "url": "/settings/home/product-slider-1",
      "why": "Общие задачи: catalog, content, product, visual.",
      "when_to_follow": "Вопрос затрагивает одновременно «Модули карточки товара» и «Произвольный слайдер товаров 1»."
    }
  ],
  "uncertainties": [
    "Точная серверная валидация и реализация сохранения скрыты ionCube.",
    "Пустое HTML-значение не считается доказательством фактического default после установки."
  ]
}
