Как правильно прописывать параметры сниппетам?
Здравствуйте, у меня появился вопрос. После изучения разных компонентов, как лучше всего сделать параметры для своего сниппета? На сколько вот такая запись правильная?
[[!mySnippet? &outerTpl=`myOuterTpl`]] — если вывод сниппета [[!mySnippet]], то выводить по умолчанию.
$outerTpl = isset($outerTpl) ? $outerTpl : '<ul>[[+wrapper]]</ul>';
Вообщем нужно сделать параметры с шаблонами, как по умолчанию, так и с указанием своих, например:[[!mySnippet? &outerTpl=`myOuterTpl`]] — если вывод сниппета [[!mySnippet]], то выводить по умолчанию.
Комментарии: 6
$param = $modx->getOption('paramName', $scriptProperties, 'default_param_value');
Тоесть в моём случае можно сделать вот так?
$outerTpl =$modx->getOption('outerTpl', $outerTpl, '<ul>[[+wrapper]]</ul>');
Документация по getOption rtfm.modx.com/xpdo/2.x/class-reference/xpdoobject/configuration-accessors/getoption
1 'outerTpl' — ключ параметра
2 $outerTpl — тут не правильно, второй параметр — это источник, откуда брать значение. Нужно $scriptProperties. Так как у сниппета могут быть заданы свои параметры (на вкладке с параметрами), то там может быть и задано значение по умолчанию. В таком случае не нужно будет писать третий параметр.
3 — '
1 'outerTpl' — ключ параметра
2 $outerTpl — тут не правильно, второй параметр — это источник, откуда брать значение. Нужно $scriptProperties. Так как у сниппета могут быть заданы свои параметры (на вкладке с параметрами), то там может быть и задано значение по умолчанию. В таком случае не нужно будет писать третий параметр.
3 — '
- [[+wrapper]]
На сколько вот такая запись правильная?Правильная. Но будет еще правильнее добавить сниппету параметр outerTp по-умолчанию со значением
<ul>[[+wrapper]]</ul>
Тогда вызывать можно также [[!mySnippet]]
А как это сделать? Что-то я туплю, видимо не выспался(((
Открываешь сниппет, выбираешь вкладку Параметры и добавляешь параметр.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.