Если вам не хватает функциональности GetSimple CMS и вы разбираетесь в PHP, вы можете написать собственные функции в файле functions.php, разместив его в папке с вашей темой. Например, в теме Innovation используется функция для создания навигационной цепочки (т.н. "хлебные крошки") и функция для плагина социальных сетей.
На странице с описанием компонентов GetSimple CMS приведен пример функции, позволяющей добавлять к какому-либо компоненту дополнительные компоненты в зависимости от slug страницы.
Функция QR-кода (устарела)
Есть функция, используемая в файле functions.php, которая позволяет добавлять на любую страницу вашего сайта QR-код этой страницы. QR-код легко распознается любым сканирующим оборудованием мобильных устройств. Поэтому для перехода на ваш сайт пользователю таких устройств не нужно будет набирать в адресной строке браузера ссылку на ваш сайт. Функция выглядит так:
function google_qr($url,$size ='150',$EC_level='L',$margin='0') {
$url = urlencode($url);
echo '<img src="http://chart.googleapis.com/chart?chs='.$size.'x'.$size.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$url.'" alt="QR code" width="'.$size.'" height="'.$size.'"/>';
}
Для включения этой функции вам достаточно в сайдбаре или любом другом месте вашего шаблона добавить такой код:
<?php google_qr(url); ?>
Также вы можете использовать дополнительные опции для этого кода:
<?php google_qr(url, size,ECLevel, margin); ?>
Где size — размер изображения, ECLevel — уровень коррекции ошибок (L - низкий, M - средний, Q - качественный, H - высокий), margin — ширина границы рисунка.
Функция для плагина News Manager
А вот эта функция может быть добавлена в файл function.php, чтобы создать выпадающий список для тегов:
function nm_select_tags() {
echo '<form action="" method="post">';
echo '<select name="nmTAG" onchange="window.location.href= this.form.nmTAG.options[this.form.nmTAG.selectedIndex].value">';
echo '<option value="">Make a choice...</option>';
$tags = array();
foreach (nm_get_tags() as $tag=>$posts)
if (substr($tag, 0, 1) != '_')
$tags[$tag] = count($posts);
foreach ($tags as $tag=>$count) {
$url = nm_get_url('tag') . $tag;
$spaces = array('-','.');
echo '<option value="'.$url.'">'.str_replace($spaces," ",$tag).'</option>';
}
echo '</select></form>';
}
Для показа выпадающего списка нужно использовать такой код:
<?php nm_select_tags(); ?>
Демо в сайдбаре здесь.
Если вы написали какую-либо полезную функцию для себя, я предлагаю поделиться ею на форуме со всеми пользователями GetSimple CMS.