Каждый раз, когда пишу сниппет и ищу какую-нибудь информацию, натыкаюсь на эту статью на community.modx-cms.ru и она всегда помогает. Чтобы не тратить каждый раз время на ее поиски, публикую здесь:
<?
// Получить и установить значение плейсхолдера
$var=$modx->getPlaceholder('placeholder_name');
$modx->setPlaceholder('placeholder_name', $var);
// Вывод плейсхолдера в HTML
?>
[+placeholder_name+]
<?
// Запуск сниппета
$params['test']=1;
$params['dummy']=2;
$snippet=$modx->runSnippet('snippet_name', $params);
// Вызов сниппета в HTML
?>
[[snippet_name? &test=`1` &dummy=`2`]]
<?
// Получить содержимое чанка
$chunk=$modx->getChunk('chunk_name');
// Вывод содержимого чанка в HTML
?>
{{chunk_name}}
<?
// Парсим чанк - заменяем в нем плейсхолдеры test и dummy на значения
$params['test']=1;
$params['dummy']=2;
$chunk=$modx->parseChunk('chunk_name', $params, '[+', '+]');
// Получаем документы MODx
$id=$modx->documentIdentifier;
$document=$modx->getParent($id);
$document=$modx->getDocument($id);
$document=$modx->getDocumentChildren($id);
$document=$modx->getActiveChildren($id, 'menuindex', 'ASC');
// Массив $document
$id=$document['id'];
$pagetitle=$document['pagetitle'];
$longtitle=$document['longtitle'];
$description=$document['description'];
$alias=$document['alias'];
…
// Получаем значение параметра TV
$document_tvs=$modx->getTemplateVarOutput(true, $id);
$templatevar_output=$document_tvs['template_variable_name'];
// Вывод TV параметра в HTML
?>
[*template_variable_name*]
<?
// Создаем URL
$url=$modx->makeUrl(intval($id));
// Выводим URL в HTML
?>
[~id~]
<?
// Устроить пользователю Redirect )
$count_attempts=1;
$modx->sendRedirect('http://www.newdomain.com', $count_attempts, 'REDIRECT_HEADER', 'HTTP/1.1 301 Moved Permanently');
// Переход к новым документам MODx без перезагрузки страницы
$modx->sendForward($id);
// Получаем параметры конфигурации
$site_name=$modx->config['site_name'];
$site_url=$modx->config['site_url'];
$site_start=$modx->config['site_start'];
$error_page=$modx->config['error_page'];
$base_path=$modx->config['base_path'];
$base_url=$modx->config['base_url'];
$rb_base_dir=$modx->config['rb_base_dir'];
$rb_base_url=$modx->config['rb_base_url'];
$modx_charset=$modx->config['modx_charset'];
…
// Выводи параметры MODx в HTML
?>
[(site_name)]
[(site_url)]
…
<?
// События MODx
$event=$modx->Event;
switch($event->name)
{
case "OnBeforeDocFormSave":
…
break;
}
// собако-команда @SELECT для TV параметра
@SELECT pagetitle FROM modx_site_content WHERE parent = 329 ORDER BY pagetitle ?>
Копипаст
community.modx-cms.ru
Комментариев нет:
Отправить комментарий