Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tip

Переменная будет создана, даже если её значение не передано.

Получить значение любой из созданных выше переменных можно будет используя код вида:

  • пример

...

  • для PHP: 

    Code Block
    $sample_variable = $this->Application->GetVar('sample-prefix_sample_variable');
  • пример для шаблона:

    Code Block
    languagexml
    value: <inp2:m_Get name="sample-prefix_sample_variable"/> 

 

Info

Чтобы не "зашивать" значение префикса в коде его можно получить динамически используя методы:

Построение ссылок

...

параметрописание
$t (string)Название шаблона, ссылку на который требуется построить (напр. "custom/tests/test_edit"). Параметр обязательный, но если передать пустое значение, то будет использован текущий (тот, на который зашёл пользователь) шаблон.
$prefix (string)

Данный необязательный параметр предназначен для того, чтобы можно было находясь в административной консоли построить ссылку на пользовательскую часть сайта. Для того, чтобы это сделать нужно передать в него значение "_FRONT_END_".

Info

На текущий момент данная функциональность не работает (см. этот вопрос) и чтобы построить ссылку на пользовательскую часть сайта нужно передать "index.php" в качестве значения параметра index_file.

$params (array)Набор параметров, которые следует передать в ссылку. Помимо параметров общего применения можно также передать ряд параметров специального назначения, описанных ниже.
$index_file (string)Необязательное название php файла, который следует использовать в результирующей ссылке. По умолчанию равен "index.php" (для пользовательской части сайта) и "admin/index.php" (для административной консоли).

 

Anchor
special-params
special-params
Параметры специального назначения

Anchor
pass
pass
pass
 (string)
В данном параметре передаются названия тех префиксов (через запятую), которые будут использоваться при построении значения переменной окружения в результирующей ссылке. Также можно передать значение "all", чтобы были использованы все префиксы из ссылки на текущую страницу сайта. Например, "m,sample-prefix" или "all".

 

Tip

Также следует отметить, что всегда, когда указывается список префиксов первым из них должен быть префикс  "m".

Anchor
index_file
index_file
index_file
(string)

Альтернативный способ задания значения параметра "index_file" методу Application::HREF через шаблон. Например (если передать "another_index.php"):

No Format
http://www.sample-site.com/another_index.php?env=-template:m0--1--s- (с параметром)
http://www.sample-site.com/index.php?env=-template:m0--1--s- (без параметра)
Anchor
escape
escape
escape
 (int)

Если указать данный параметр, то на результирующую ссылку будет применена функция addslashes. Только при использовании на шаблонах вместо данного параметра следует использовать параметр "js_escape", т.к. он является усовершенствованной версией данного параметра и будет работать для всех тэгов. Например (если передать "1"):

No Format
http://www.sample-site.com/index.php?env=-template:m0--1--s-:sample\\-prefix-15-testing (с параметром)
http://www.sample-site.com/index.php?env=-template:m0--1--s-:sample\-prefix-15-testing (без параметра)

Обычно параметр "js_escape" (в шаблонах) следует использовать для построения ссылок, используемых в JavaScript.

Anchor
anchor
anchor
anchor
(string)

Данный параметр позволяет добавить указанное в нём значение, как якорь к результирующей ссылке. Например (если передать "sample_anchor"):

No Format
http://www.sample-site.com/index.php?env=-template:m0--1--s-#sample_anchor (с параметром)
http://www.sample-site.com/index.php?env=-template:m0--1--s- (без параметра)
Anchor
no_amp
no_amp
no_amp
 (int)

Если передать данный параметр, то все переменные, используемые в результирующей ссылке будут объединены используя символ "&" (совместимо с JavaScript). Во всех остальных случаях переменные будут объединены при помощи строки "&amp;" (совместимо с HTML). Например (если передать "1"):

No Format
http://www.sample-site.com/index.php?env=-template:m0--1--s-&amp;sample_parameter=value1&amp;another_parameter=value2 (с параметром)
http://www.sample-site.com/index.php?env=-template:m0--1--s-&sample_parameter=value1&another_parameter=value2 (без параметра)

 

Использование переданных параметров

...

После выполнения всех выше описанных шагов на полученную ссылку применяются переданные параметры специального назначения.

 

Запись данных

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

Запись данных из шаблонов

...

параметрпояснение
template (string)Путь к шаблону. В пользовательской части сайта это путь относительно директории с темой.
cart_event (string)Название события для префикса cart. Указанное событие будет выполнено только в том случае, когда префикс cart указан в параметре pass.
pass (string)Параметр указывает на то, данные каких префиксов необходимо передать в переменной окружения.

...

Запись данных из событий

После успешного выполнения каждого события происходит автоматическое перенаправление на шаблон, с которого данное событие было вызвано. Для того, чтобы в ссылке построенной для этого перенаправления присутствовали дополнительные параметры нужно использовать метод kEvent:setRedirectParam. В свою очередь свойство kEvent:redirect позволит задать альтернативный шаблон, использующийся в ссылке на перенаправление. Это будет наглядно показано на ниже приведённом примере.

...