Как правильно прописывать параметры сниппетам?

Здравствуйте, у меня появился вопрос. После изучения разных компонентов, как лучше всего сделать параметры для своего сниппета? На сколько вот такая запись правильная?

$outerTpl = isset($outerTpl) ? $outerTpl : '<ul>[[+wrapper]]</ul>';
Вообщем нужно сделать параметры с шаблонами, как по умолчанию, так и с указанием своих, например:

[[!mySnippet? &outerTpl=`myOuterTpl`]] — если вывод сниппета [[!mySnippet]], то выводить по умолчанию.
Андрей Копп
26 мая 2015, 13:45
modx.pro
1 446
0

Комментарии: 6

Іван Клімчук
27 мая 2015, 09:00
0
$param = $modx->getOption('paramName', $scriptProperties, 'default_param_value');
    Андрей Копп
    27 мая 2015, 19:33
    0
    Тоесть в моём случае можно сделать вот так?
    $outerTpl =$modx->getOption('outerTpl', $outerTpl, '<ul>[[+wrapper]]</ul>');
      Іван Клімчук
      27 мая 2015, 20:24
      0
      Документация по getOption rtfm.modx.com/xpdo/2.x/class-reference/xpdoobject/configuration-accessors/getoption

      1 'outerTpl' — ключ параметра
      2 $outerTpl — тут не правильно, второй параметр — это источник, откуда брать значение. Нужно $scriptProperties. Так как у сниппета могут быть заданы свои параметры (на вкладке с параметрами), то там может быть и задано значение по умолчанию. В таком случае не нужно будет писать третий параметр.
      3 — '
        [[+wrapper]]
      ' — значение по умолчанию. Если во 2 параметре значения с таким ключом (1) нет, то взять это значение.
    Сергей Шлоков
    27 мая 2015, 09:36
    0
    На сколько вот такая запись правильная?
    Правильная. Но будет еще правильнее добавить сниппету параметр outerTp по-умолчанию со значением
    <ul>[[+wrapper]]</ul>
    Тогда вызывать можно также [[!mySnippet]]
      Андрей Копп
      27 мая 2015, 19:34
      0
      А как это сделать? Что-то я туплю, видимо не выспался(((
        Сергей Шлоков
        27 мая 2015, 20:18
        0
        Открываешь сниппет, выбираешь вкладку Параметры и добавляешь параметр.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6