Полезные советы GetSimple CMS
Важные ссылки
- Get Simple Wiki
- Форум поддержки для русскоязычных пользователей
- Get Simple CMS по-русски - лучший русскоязычный сайт по GetSimple, куча полезной информации и русифицированные плагины.
Вывод списка дочерних страниц в GetSimple CMS
Работа с наборами страниц, обладающих различными взаимными связями, является основной при разработке веб-сайта, содержащего значительный объём контента.
Приведённый фрагмент PHP-кода может использоваться для вывода списка дочерних страниц текущей страницы в GetSimple CMS 3.4. Например, для построения списка подстраниц раздела.
<?php
$page = get_page_slug(false);
$children = getChildren($page);
echo '<ul>';
foreach($children as $child) {
$url = generate_url($child);
echo '<li><a href="'.$url.'">'.returnPageField($child, 'title').'</a></li>';
}
echo '</ul>';
?>
Для совместимости кода с GetSimple CMS 3.3 следует заменить вызов функции generate_url() на find_url():
$url = find_url($child, $page);
Для использования кода необходимо разместить его вызов в компоненте или файле шаблона оформления страницы.
По совету с форума сделал сортировку страниц с дочерними странцами в начало списка
<?php
function usortTest($a, $b) {
return getChildren($b);
}
$page = get_page_slug(false);
$children = getChildren($page);
echo '<ul>';
usort($children, "usortTest");
foreach($children as $child) {
$url = find_url($child, $page);
echo '<li><a href="'.$url.'">'.returnPageField($child, 'title').'</a></li>';
}
echo '</ul>';
?>
Еще по теме-
- Функция сортировки страниц по времени публикации в GetSimple CMS
- Группировка и фильтрация вывода страниц по году публикации в GetSimple CMS
- GetSimple CMS: вывод полей для дочерних страниц
- GetSimple CMS: функция сортировки страниц
Изменения размера шрифта в редакторе админки
Отсюда Но у меня не работает.
Добавленные плагины
- i18N - полный комплект
- feedback-new Неочевидно в нем, где находятся отзывы. Оказалось, в разделе страниц, вкладка Отзывы. Там же и нестройки. Хранятся отзывы в файлах в папке /data/feedback/entries/
- Components HighlightHighlight the syntax in the component editor.
- Dark Theme admin ModDark Admin Theme for get simple
- kt block loginBlock an ip adress after 3 failed login attempts from login for 1 hour
- pubDateFix .Makes pubDate field fixed and editable (with date/time picker), adds lastUpdate field
- FancyBoxPlugin makes FancyBox available on front. Нужно прописывать id=fb для ссылки на изображение, а не в атрибутах thumbnail
Добавленные компоненты
Для вывода в sidebar списка дочерних страниц и формы поиска с условиями добавил такой код в компонент sidebar
<?php get_i18n_search_form(array('slug'=>'search', 'showTags'=>0, 'PLACEHOLDER'=>'Поиск')); ?>
<?php if (return_page_slug()== 'index') {}
elseif (return_page_slug()== 'search') {get_i18n_tags(array('slug'=>'search', 'minTagSize'=>70, 'maxTagSize'=>120));}
else {
echo '<h3>Страницы подраздела </h3>';
if (get_parent(0)=='linux')
{get_i18n_navigation(return_page_slug(),2,99,I18N_SHOW_TITLES | I18N_OUTPUT_TITLE ); }
elseif (get_parent(0)=='web-design')
{get_i18n_navigation(return_page_slug(),2,99,I18N_SHOW_TITLES | I18N_OUTPUT_TITLE ); }
else {get_i18n_navigation(return_page_slug(),1,2,I18N_SHOW_TITLES | I18N_OUTPUT_TITLE );
}
}
?>
childpages - для вывода списка дочерних страниц
<?php
function usortTest($a, $b) {
return getChildren($b);
}
$page = get_page_slug(false);
$children = getChildren($page);
echo '<ul>';
usort($children, "usortTest");
foreach($children as $child) {
$url = find_url($child, $page);
echo '<li><a href="'.$url.'">'.returnPageField($child, 'title').'</a></li>';
}
echo '</ul>';
?>
Опубликовано