Skip to content

Commit

Permalink
1
Browse files Browse the repository at this point in the history
  • Loading branch information
0test committed Apr 2, 2018
1 parent f534443 commit 8b258f6
Showing 1 changed file with 30 additions and 38 deletions.
Original file line number Diff line number Diff line change
@@ -1,53 +1,45 @@
Сниппеты являются одной из самых полезных функций системы Evolution.
Сниппеты добавляют функциональность вашему сайту и делают обновления меню сайта устаревшими.
Сниппеты используются вывода динамически меняющегося содержимого - меню, комментариев, новостных лент, блогов или любого другого функционала, который возможен на языке php в связке с API системы Evolution.

В этом документе обсуждается использование сниппетов. Чтобы узнать больше о том, как создавать Сниппеты и как они работают, см. Документацию к сниппетам.
В этом документе обсуждается использование сниппетов. Чтобы узнать больше о том, как создавать сниппеты и как они работают, см. раздел для разработчиков.

Установка сниппетов
Сниппеты являются битами кода для выполнения некоторых динамических действий, таких как извлечение данных из базы данных или чтение из значений SESSION или cookie. Они обеспечивают возможность отделить «бизнес-логику» от макета и презентации вашей веб-страницы.
## Коротко о сниппетах ##

Код Сниппета хранится в базе данных, но иногда есть вспомогательные файлы, которые должны функционировать особенно сложным Сниппетом. Сниппет действует как интерфейс между Evo и вспомогательными файлами. Сниппет WebLogin - это пример Сниппета с несколькими вспомогательными файлами. Эти файлы хранятся в их собственной папке в папке / assets / snippets вашей установки Evo, например / assets / snippets / weblogin /. Сниппет, который стоит отдельно, как и большинство сниппетов, вообще не загружается в файловую систему вашего сайта.
Код сниппета, как правило, хранится в базе данных. Иногда у сниппета есть вспомогательные файлы. В таком случае, сниппет действует как интерфейс между Evo и вспомогательными файлами.

Во время установки Evo был предложен список дополнительных сниппетов, которые будут автоматически установлены. Если вы решили установить их, эти Сниппеты уже готовы для использования в ваших шаблонах или документах.
Сниппет, у которого таких файлов нет, вообще не загружается в файловую систему сайта.

Чтобы установить новый Сниппет, войдите в интерфейс администратора и перейдите в раздел Управление ресурсами и откройте вкладку «Снипеты». Нажмите ссылку «Новый Сниппет», чтобы открыть форму. Скопируйте / вставьте код из источника вашего Сниппета, обычно текстовый файл, который вы открываете в текстовом редакторе, в текстовое поле, укажите ему имя и краткое описание. Вы можете назвать Сниппет всего, что вам нравится, просто помните, что имя, которое вы ему даете, - это то, как вам нужно будет называть его позже в вашем шаблоне или источнике документа.
Во время установки Evolution вы можете увидеть список часто используемых сниппетов, которые будут установлены на сайт. Советуем изучить их внимательнее - это базовые сниппеты, которые покрывают массу возможностей вашего сайта.

При загрузке любых вспомогательных файлов, которые могут иметь Сниппеты, обычно помещать их в папку с исходным именем Сниппета в нижнем регистре, например / assets / snippets / weblogin.
## Установка сниппетов ##

Использование Сниппета меню
В нашем шаблоне пока есть некоторые персонализированные Сниппеты информации и некоторый контент. Но эта боковая панель все еще пуста. Нам нужно разместить там меню навигации.
- Установка из репозитория.
Зайтите в "Модули" - "Управление пакетами", выберите нужный вам сниппет и нажмите на кнопку "Установить".
- Установка вручную.
Чтобы установить новый сниппет, войдите в интерфейс администратора, перейдите в раздел "Элементы", выберите пункт "Сниппеты". Нажмите ссылку «Новый Сниппет», чтобы открыть форму. Вставьте код вашего сниппета, укажите ему имя и краткое описание.

Теперь это можно сделать двумя способами. Мы могли бы запрограммировать меню вручную.
Вы можете назвать сниппет так, как вам нравится, просто помните, что имя, которое вы ему даете, - это то, как вам нужно будет называть его позже в вашем шаблоне.

1
2
3
<a href="http://www.mysite.com/index.php?id=1"> Главная страница </a>
<a href="http://www.mysite.com/index.php?id=2"> Новости </a>
<a href="http://www.mysite.com/index.php?id=3"> О нас </a>
С этим подходом существует ряд проблем. Во-первых, вы должны знать идентификатор документа страниц, на которые вы ссылаетесь. Во-вторых, что, если вы хотите использовать URL-адреса поисковой системы? Теперь вам нужно знать псевдоним каждой страницы, на которую вы ссылаетесь, а также то, как ваш сайт настроен для обработки этой функции. И, наконец, представьте, что вам нужно редактировать меню каждый раз, когда вы добавляете страницу или две ... или двадцать!
При загрузке любых вспомогательных файлов, которые могут иметь сниппеты, их обычно помещают в папку с исходным именем сниппета в нижнем регистре, например /assets/snippets/DocLister.

Здесь появляются Сниппеты Evo. Существует множество доступных для создания сниппетов меню для создания любого типа меню, которое вам нравится. Вероятно, лучшим типом являются те, которые генерируют простые неупорядоченные списки, поскольку они позволяют максимально гибко контролировать их внешний вид и поведение с помощью CSS.
## Использование сниппетов ##
Допустим, мы хотим в шаблоне вывести динамически создаваемое меню. Используем для этого сниппет под названием DLMenu.
```
[!DLMenu?
&parents=`3`
&sortBy=`id`
&outerTpl=`@CODE: <ul class="menu">[+wrap+]</ul>`
&rowTpl=`@CODE: <li [+classes+]><a href="[+url+]" title="[+pagetitle+]">[+title+]</a></li>`
!]
```
Как вы можете заметить, в сниппет передаются параметры. Как правило, описание этих параметров доступно в документации того сниппета, который вы используете. В данном случае мы указываем DLMenu откуда брать документы для меню (&parents=`3`), как их сортировать (&sortBy=`id`) и каким образом выводить результат работы - outerTpl и rowTpl.

Сниппеты меню получают список документов из базы данных, начиная с папки, указанной в тегах Сниппета в качестве корневого меню. Давайте добавим меню в наш шаблон и посмотрим, как это работает.
## Настройка вызова сниппетов ##
Вызов сниппета может быть двух видов: [[SnippetName]] или [! SnippetName!].

1
2
3
4
<div id = "sidebar">
Здесь находится <! - меню и другие блоки ->
[[MenuSnippet? Id = `0` & activeelink =` active`]]
</ DIV>
Немного CSS-стиля списка и ссылок, и у нас есть приятное динамическое меню, о котором вам больше никогда не придется беспокоиться!
Первая форма - кэшируемый вызов сниппета. Обычно это не проблема. Иногда важно, чтобы вывод сниппета не был кэширован. Например, сниппет Login должен определить, вошел ли пользователь в систему, а если нет, отобразить форму входа. Если страница кэширована, сниппет не запускается, и внешний вид не будет меняться.

Вторая форма, использующая восклицательные знаки, вызывает запуск сниппета, даже если страница была кеширована.


Настройка меток сниппетов
Теги Snippet могут принимать две формы: [[SnippetName]] или [! SnippetName!].

Первая форма - обычный вызов Сниппета; если страница кэшируется, вывод Сниппета также будет кэшироваться. Обычно это не проблема. Иногда, однако, важно, чтобы вывод Сниппета не был кэширован. Например, Сниппет Login должен определить, вошел ли пользователь в систему, а если нет, отобразите форму входа, и если да, отобразите ссылку выхода из системы. Если страница кэширована, Сниппет не запускается, и дисплей не будет меняться. Вторая форма, использующая восклицательные знаки, вызывает запуск Сниппета, даже если страница была кеширована. Однако для меню это, вероятно, не нужно.

Используемый Сниппет меню содержит два аргумента: «? Id =` 0` »и« & activeelink = `active`». Большинство сниппетов будут принимать различное количество аргументов, чтобы настроить их поведение. Сниппеты меню всегда принимают хотя бы аргумент «id», чтобы определить, какой документ использовать в качестве «корня» в меню. Обычно это будет «0», указав корень сайта. Первый уровень меню будет создан на основе первого уровня документов в дереве документов в этом «корневом» документе. Обычно, если «id» не указан в вызове Сниппета, будет использоваться идентификатор текущего документа, который обычно не является тем, что вы хотите. Обязательно укажите идентификатор корня для сниппетов меню!

велик ", это может иметь разные имена для разных сниппетов. То, что он делает, это установить атрибут class = 'active' 'в теге <a> HTML, что позволяет использовать CSS для стилизации ссылки на страницу, на которой пользователь в настоящее время. В нашем примере вы можете видеть, что ссылка «Главная» синяя, так как пользователь находится на главной странице. В любое время вам нужен Сниппет интерактивного кода на вашей странице, например, динамические меню, формы входа, сайт форматы поиска, многоязычная функциональность, Сниппеты Evo - это ваше решение. Есть десятки сниппетов, которые уже созданы и готовы для вас просто зайти на ваш сайт. По мере роста сообщества Evo количество и разнообразие сниппетов будут расти.
###Дополнение###
Есть сотни сниппетов, которые уже созданы и готовы для вас. По мере роста сообщества Evo количество и разнообразие сниппетов будут расти и дальше.

0 comments on commit 8b258f6

Please sign in to comment.