Files
progcode/web/public/assets/editorial/2018/bitrix-slug-route-2018.svg
huncode 90692f0f16
Build and deploy / deploy (push) Successful in 15s
raise editorial quality gate and revise 2018 spring
2026-07-31 09:20:37 +03:00

65 lines
3.6 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 700" role="img" aria-labelledby="title desc">
<title id="title">Путь URL до элемента инфоблока в Bitrix</title>
<desc id="desc">Диаграмма показывает как адрес страницы разбирается шаблоном SEF, превращается в переменные и используется для поиска элемента инфоблока.</desc>
<defs>
<marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
<path d="M0,0 L12,6 L0,12 z" fill="#1d3557"/>
</marker>
<style>
.bg { fill: #f5f7fb; }
.node { fill: #ffffff; stroke: #1d3557; stroke-width: 3; }
.route { fill: #cde8f0; stroke: #1d3557; stroke-width: 3; }
.query { fill: #f7d488; stroke: #1d3557; stroke-width: 3; }
.result { fill: #b9e3c6; stroke: #1d3557; stroke-width: 3; }
.fail { fill: #f6b3a8; stroke: #1d3557; stroke-width: 3; }
.line { fill: none; stroke: #1d3557; stroke-width: 3; marker-end: url(#arrow); }
.label { font: 700 25px Arial, sans-serif; fill: #1d3557; }
.text { font: 20px Arial, sans-serif; fill: #264653; }
.code { font: 700 18px "Courier New", monospace; fill: #1d3557; }
.small { font: 17px Arial, sans-serif; fill: #457b9d; }
</style>
</defs>
<rect class="bg" width="1200" height="700" rx="28"/>
<text x="56" y="67" class="label">Адрес не ищет запись сам: компонент сначала восстанавливает переменные</text>
<rect x="56" y="160" width="238" height="154" rx="18" class="node"/>
<text x="82" y="209" class="label">Запрос браузера</text>
<text x="82" y="254" class="code">/catalog/kofe/</text>
<text x="82" y="281" class="code">classic-250-g/</text>
<path d="M294 237 H380" class="line"/>
<rect x="390" y="135" width="256" height="205" rx="18" class="route"/>
<text x="416" y="185" class="label">SEF-шаблон</text>
<text x="416" y="227" class="code">#SECTION_CODE#/</text>
<text x="416" y="255" class="code">#ELEMENT_CODE#/</text>
<text x="416" y="301" class="small">ParseComponentPath</text>
<path d="M646 237 H731" class="line"/>
<rect x="741" y="135" width="240" height="205" rx="18" class="query"/>
<text x="767" y="184" class="label">Переменные</text>
<text x="767" y="225" class="code">SECTION_CODE</text>
<text x="767" y="254" class="code">ELEMENT_CODE</text>
<text x="767" y="301" class="small">не запись в БД</text>
<path d="M981 237 H1066" class="line"/>
<rect x="1076" y="160" width="84" height="154" rx="18" class="node"/>
<text x="1093" y="209" class="label">Query</text>
<text x="1092" y="253" class="small">CODE</text>
<text x="1092" y="279" class="small">+ filter</text>
<path d="M1118 314 V431 H941" class="line"/>
<rect x="692" y="402" width="239" height="133" rx="18" class="result"/>
<text x="720" y="452" class="label">Элемент найден</text>
<text x="720" y="490" class="text">детальная страница</text>
<path d="M1076 239 H1018 V592 H839" class="line"/>
<rect x="600" y="564" width="229" height="95" rx="18" class="fail"/>
<text x="625" y="606" class="label">Нет совпадения</text>
<text x="625" y="635" class="text">404 или другой путь</text>
<text x="56" y="676" class="small">Если шаблон, имя переменной и фильтр расходятся, менять CODE бесполезно: сначала надо увидеть, какое значение восстановлено из URL.</text>
</svg>