Skip to content

Commit

Permalink
raw (#59)
Browse files Browse the repository at this point in the history
* raw

* raw
  • Loading branch information
nixel2007 authored Dec 11, 2023
1 parent e4ae56e commit 11d7979
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -629,6 +629,8 @@ app/ИнтерактивныйКонтролПриветствия.os
app/view/view1.html
```

<!-- {% raw %} -->

```html
<!doctype html>
<html>
Expand Down Expand Up @@ -673,6 +675,8 @@ app/view/view1.html
</html>
```

<!-- {% endraw %} -->

Если присмотреться, то шаблон это просто HTML разметка, которую смешали с 1сным кодом. Вот это коктейль получился!

Основные принципы разметки:
Expand All @@ -683,8 +687,12 @@ app/view/view1.html
- Переменная ```{{ Модель.ЛюбоеЗначение }}```
- Функция ```{{ Макс(1,5,9,7) }}```

<!-- {% raw %} -->

Операторы - обозначаются тегами. ```{% <КодНа1С> %}```.

<!-- {% endraw %} -->

Это полноценный код на 1С. Можно объявлять переменные, взаимодействовать с ```Модель```, использовать управляющие блоки(Циклы, Условия)

![hw11](docs/hw11.png)
Expand All @@ -693,6 +701,8 @@ app/view/view1.html

Может быть так, что до или после рендера модели в шаблоне, нужно выполнить некие манипуляции с текстом шаблона. Для выполнения этой операции нужно зарегистрировать обработчики событий до рендера и после. Например:

<!-- {% raw %} -->

```html
<div>
@ТекстЗаменыДоРендера@
Expand All @@ -701,6 +711,8 @@ app/view/view1.html
</div>
```

<!-- {% endraw %} -->

В этом шаблоне, мы хотим заменить вставки, неким текстом. Для этого добавим поделку два желудя.

```bsl
Expand Down Expand Up @@ -731,8 +743,12 @@ app/view/view1.html

## Компоненты.

<!-- {% raw %} -->

Писать шаблоны круто, но что может быть еще круче? Писать меньше шаблонов, и переиспользовать уже имеющиеся. Представим, что вам в разных местах нужно отображать одну и туже информацию, (таблицы, элементы меню, и т.д.). для решения этой задачи, шаблон имеет секретную функцию ```{{ ВывестиПоШаблону(<Путь до шаблона>, <Модель для шаблона>) }}```

<!-- {% endraw %} -->

Давайте покажу, как это работает

```
Expand Down Expand Up @@ -780,6 +796,8 @@ app/ИнтерактивныйКонтролПриветствия.os
app/view/view1.html
```

<!-- {% raw %} -->

```html
<!doctype html>
<html>
Expand Down Expand Up @@ -828,10 +846,14 @@ app/view/view1.html
</html>
```

<!-- {% endraw %} -->

```
app/view/printarray.html
```

<!-- {% raw %} -->

```html
<div>
{% Для Каждого СтрокаИзМассива из Модель Цикл %}
Expand All @@ -842,6 +864,8 @@ app/view/printarray.html
</div>
```

<!-- {% endraw %} -->

![hw12](docs/hw12.png)

## Общее отображение контрола.
Expand All @@ -866,6 +890,8 @@ app/view/printarray.html

А вот так выглядит общий шаблон

<!-- {% raw %} -->

```html
<!doctype html>
<html>
Expand All @@ -882,6 +908,8 @@ app/view/printarray.html
</html>
```

<!-- {% endraw %} -->

Где тег ```@Контент``` будет заменен результатом ответа точки маршрута.

Однако бывают ситуации, когда у контроллера есть отображение, но какая точка маршрута должна возвращать ответ, без его применения. В такой ситуации, для метода точки маршрута нужно добавить аннотацию ```&НеВыводитОтображениеКонтроллера```. Например, вот так:
Expand Down Expand Up @@ -922,6 +950,8 @@ app/view/printarray.html
app/КонтролПриветствия.os
```

<!-- {% raw %} -->

```bsl
&ФинальныйШтрих
Процедура ПостИнициализация() Экспорт
Expand All @@ -932,6 +962,8 @@ app/КонтролПриветствия.os
КонецПроцедуры
```

<!-- {% endraw %} -->

# Перенаправление

Иногда бывает так, что нужно с одной страницы, перенаправить позльзователя на другую.
Expand Down

0 comments on commit 11d7979

Please sign in to comment.