67 lines
3.8 KiB
XML
67 lines
3.8 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 700" role="img" aria-labelledby="title desc">
|
|
<title id="title">Построение символьного кода элемента Bitrix</title>
|
|
<desc id="desc">Схема показывает путь от названия элемента через транслитерацию и проверку занятости кода к сохранению элемента или добавлению суффикса.</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="#264653"/>
|
|
</marker>
|
|
<style>
|
|
.bg { fill: #f7f4ec; }
|
|
.node { fill: #ffffff; stroke: #264653; stroke-width: 3; }
|
|
.accent { fill: #e9c46a; stroke: #264653; stroke-width: 3; }
|
|
.success { fill: #a8dadc; stroke: #264653; stroke-width: 3; }
|
|
.warn { fill: #f4a261; stroke: #264653; stroke-width: 3; }
|
|
.line { fill: none; stroke: #264653; stroke-width: 3; marker-end: url(#arrow); }
|
|
.dash { fill: none; stroke: #264653; stroke-width: 3; stroke-dasharray: 10 8; marker-end: url(#arrow); }
|
|
.label { font: 700 25px Arial, sans-serif; fill: #1d3557; }
|
|
.text { font: 20px Arial, sans-serif; fill: #264653; }
|
|
.code { font: 700 19px "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="60" y="68" class="label">Символьный код — это цепочка проверок, а не только транслит</text>
|
|
|
|
<rect x="58" y="165" width="190" height="155" rx="18" class="node"/>
|
|
<text x="83" y="214" class="label">1. Имя</text>
|
|
<text x="83" y="252" class="text">«Кофе Classic</text>
|
|
<text x="83" y="280" class="text">250 г»</text>
|
|
|
|
<path d="M248 243 H337" class="line"/>
|
|
|
|
<rect x="347" y="150" width="220" height="185" rx="18" class="accent"/>
|
|
<text x="373" y="199" class="label">2. CUtil::</text>
|
|
<text x="373" y="230" class="label">translit</text>
|
|
<text x="373" y="270" class="small">нижний регистр,</text>
|
|
<text x="373" y="296" class="small">дефис вместо пробела</text>
|
|
|
|
<path d="M567 243 H658" class="line"/>
|
|
|
|
<rect x="668" y="165" width="210" height="155" rx="18" class="node"/>
|
|
<text x="695" y="214" class="label">3. Кандидат</text>
|
|
<text x="695" y="257" style="font: 700 16px "Courier New", monospace; fill: #1d3557;">kofe-classic-250-g</text>
|
|
|
|
<path d="M878 243 H962" class="line"/>
|
|
|
|
<rect x="972" y="150" width="180" height="185" rx="18" class="node"/>
|
|
<text x="997" y="198" class="label">4. GetList</text>
|
|
<text x="997" y="233" class="small">IBLOCK_ID</text>
|
|
<text x="997" y="260" class="small">+ CODE</text>
|
|
<text x="997" y="291" class="small">есть запись?</text>
|
|
|
|
<path d="M1062 335 V438 H932" class="line"/>
|
|
<rect x="722" y="408" width="200" height="125" rx="18" class="success"/>
|
|
<text x="748" y="457" class="label">Свободен</text>
|
|
<text x="748" y="493" class="text">передаём в Add</text>
|
|
|
|
<path d="M972 243 H930 V580 H710" class="dash"/>
|
|
<rect x="460" y="534" width="240" height="120" rx="18" class="warn"/>
|
|
<text x="487" y="580" class="label">Занят</text>
|
|
<text x="487" y="616" class="text">добавляем -2, -3…</text>
|
|
<path d="M460 594 H345 V380 H770 V320" class="dash"/>
|
|
|
|
<text x="938" y="412" class="small">нет</text>
|
|
<text x="884" y="566" class="small">да</text>
|
|
<text x="58" y="676" class="small">Проверка по списку полезна для последовательного ввода. При параллельном импорте нужен отдельный проектный способ исключить гонку.</text>
|
|
</svg>
|