Поддержка гибкой настройки данных страниц и их динамического вызова;
Автоматическое создание статических HTML-страниц для главной страницы;
Автоматическое создание статических HTML-страниц для страниц просмотра, с возможностью динамического включения/выключения и настройки времени создания статических страниц;
Кэширование Redis, memcache и файлов, с возможностью гибкой настройки времени кэширования;
Фронтенд включает: статьи, галереи, отображение членов, расписание дежурств, статистику посещений и т.д. (Эти модули предоставляют идеи для создания практических сценариев, которые можно расширить в соответствии с вашими реальными потребностями);
Гибкий способ маршрутизации;
Независимый модуль поиска;
Онлайн-подача отзывов;
...
Гибкие роли и права доступа для администраторов;
Поддержка нескольких языков;
Удобное управление разделами;
Системные объявления;
Гибкие настройки системы;
Управление кэшированием;
Практические функции включают: управление расписанием дежурств, управление галереями, управление внутренними членами, управление отзывами, управление приложениями, видео, тематические разделы и т.д.;- Статистика посещений с фронтенда;
Журналы операций с базой данных;
Другие функции.
Документация: https://www.showdoc.cc/zphp4
PHP 7.1+ или PHP 8.0+
MySQL 5.6+ или MariaDB 10.0+
Apache, Nginx, IIS и т.д.
Директория WEB должна быть привязана к: /public
Адрес для доступа к административной панели: xxx.com/admin
'DB' => [
'dsn' => 'mysql:host=127.0.0.1;dbname=cxuuweb;port=3306',
'db' => 'cxuuweb',//Имя базы данных, должно соответствовать имени базы данных в dsn
'user' => 'root',
'pass' => '***', //Пароль
'charset' => 'utf8',
'prefix' => 'cxuu_',
'cache_mod' => 0, //Режим кэширования запросов к базе данных: 1 - Redis, 2 - memcached, по умолчанию - 0 (файл)
],
'DEBUG' => [
'level' => 3,//debug уровень: 0 - отключен, 1 - только информация о выполнении, 2 - информация о выполнении и ошибках, 3 - информация о выполнении, ошибках и предупреждениях
'log' => 1,//уровень логирования: 0 - отключен, 1 - только ошибки, 2 - ошибки и предупреждения
'type' => 'json',//формат вывода auto, html, json по умолчанию: auto
],
'ROUTER' => [
'mod' => 0, //не рекомендуется изменять, система использует режим маршрутизации для фронтенда
'module' => false,
'restfull' => 0,
]
Эта система очень проста в использовании, в коде и шаблонах есть соответствующие комментарии.
В этом разделе мы подробно описываем наиболее часто используемые методы работы с фронтендом. В тех частях, где есть специальные требования, это будет указано, и использование не вызовет проблем!
Фронтенд обычно использует оригинальный PHP-синтаксис, но также можно использовать методы, описанные в документации фреймворка. Разница в производительности между этими методами отсутствует, это просто вопрос личных предпочтений.
Система стремится к максимальной скорости работы с оригинальными данными, поэтому все шаблоны создаются с использованием базовых методов.- В этой системе кэши автоматически управляются. После публикации контента на фронтенде кэши будут обновляться по истечению заданного времени. Если требуется немедленное обновление, необходимо очистить кэши в базе данных через панель управления. В режиме производства при изменении шаблонов необходимо очистить соответствующие кэши на фронтенде и бэкенде.## Методы вызова списка контента на фронтенде
<?php foreach(CxuuList("table='article' cid='1,2,3' limit='10' cache='600' imgbl='0' attribute='0' order='id DESC'") as $vo){?>
echo $vo['title']; //Заголовок
echo urlInfo($vo['id']); //Создание соответствующего URL-адреса в соответствии с маршрутизацией
echo FTime($vo['time'],'m-d'); //Создание форматированной даты
<?php }?>
table : Таблица данных
cid : Категория CID, например: 2, несколько категорий: "3,6,5" или 0 для всех категорий;
limit : Количество записей, поддерживает смещение, например: "2,10";
cache : Время кэширования, 600 секунд;
imgbl : Отображение изображения, 1 или 0;
attribute : Заголовок, 1, малый заголовок, 2, или ротация изображений, 3;
order : Сортировка
<?php foreach(\model\article::selectData('3,6',5,60,1,3) as $vo){
echo $vo['title']; //Заголовок
echo urlInfo($vo['id']); //Создание соответствующего URL-адреса в соответствии с маршрутизацией
echo FTime($vo['time'],'m-d'); //Создание форматированной даты
..........
}?>
Описание selectData('3,6',5,60,1,3):
1. CID для одного раздела вводится напрямую, например: 2, несколько разделов: "3,6,5" или 0 для всех разделов;
2. Количество записей, поддерживает смещение, например: "2,10";
3. Время кэширования, 600 секунд;
4. Отображение изображения, 1;
5. Заголовок, 1, малый заголовок, 2, или ротация изображений, 3;
foreach(\model\article::selectJoinData(7,5,60) as $vo){
echo $vo['catename']; // Название категории
...
}
$cid = ID категории $limit = 1,10 количество, $cache = время кэширования в секундах
<?php foreach(CxuuList("table='article_cate' id='1,2,3' cache='600' order='sort DESC'") as $vo){?>
<?php echo $vo['name']; ?>
<?php }?>
<?php foreach(\model\common::getCateList('6,7,8,9,10',0,'sort DESC') as $value){ ?>
<li class="layui-nav-item <?php if($value['id']==$cid) echo 'layui-this';?>"><a href="<{ urlList($value['id']) }>" target="_blank"><{$value['name']}></a></li>
<?php }?>
<?php $ondutyInfo = CxuuList("table='onduty'"); ?>
или:
<?php $ondutyInfo = \model\ondutys::findData(); ?> // Получение переменной модели в текущем шаблоне
Сегодня(<?php echo $ondutyInfo['ondutytime'];?>) дежурит -
руководитель компании: <b><?php echo $ondutyInfo['juname'];?></b>,
руководитель отдела: <b><?php echo $ondutyInfo['chuname'];?></b>,
дежурный: <b><?php echo $ondutyInfo['yuanname'];?></b>
1、echo urlInfo($vo['id']); Генерация ссылки на страницу контента
2、echo urlList($vo['id']); Генерация ссылки на страницу списка ID
или
urlList($vo['urlname']); Генерация пользовательской URL-ссылки
или автоматическое определение:
<?php if(!empty($value['urlname'])){echo urlList($value['urlname']); }else{ echo urlList($value['id']);} ?>
3、echo urlImage($vo['id']); Генерация ссылки на страницу с изображениями
4、echo urlFeedback($vo['id']); Генерация ссылки на страницу с отзывами
Например: echo MbStr($vo['title'],20); Отображение 20 символов, поддерживает кириллицу
1、Отображение времени с момента: echo HTime($info['time']);
2、Форматирование времени: echo FTime($vo['time'],'Y-m-d'); Y-m-d - стиль отображения
```## Методы вызова альбома
```php
<?php foreach(CxuuList("table='images'") as $vo){?>
или:
<?php foreach((array)\model\images::selectData() as $vo){?>
<li>
<div class="pic"><a href="<?php echo urlImage($vo['id']);?>" target="_blank"><img src="<?php echo $vo['img'];?>" /></a></div>
<div class="title"><a href="<?php echo urlImage($vo['id']);?>" target="_blank"><?php echo MbStr($vo['title'],22);?></a></div>
</li>
<?php }?>```
## Пагинация (два стиля)
<?php CxuuPage($page,1);?>
CSS стиль \public\res\index\css\main.css:
/* Код оригинальной пагинации */
#page{margin:auto;height:50px;line-height:50px;}
.manu {font-size:16px;padding-right: 3px;padding-left: 3px;padding-bottom: 3px;margin: 3px;padding-top: 3px;text-align: center}
.manu A {padding-right: 5px;padding-left: 5px;padding-bottom: 2px;margin: 2px;color: #036cb4;padding-top: 2px;text-decoration: none}
.manu A:hover {color: #fff;background-color: #036cb4;}
.manu A:active {border-right: #036cb4 1px solid;border-top: #036cb4 1px solid;border-left: #036cb4 1px solid;color: #666;border-bottom: #036cb4 1px solid}
.manu .current {padding-right: 5px;padding-left: 5px;font-weight: bold;padding-bottom: 2px;margin: 2px;color: #fff;padding-top: 2px;background-color: #036cb4}
.manu .current a{font-weight: bold;color: #fff;}
.manu .disabled {border: #036cb4 1px solid;padding-right: 5px;padding-left: 5px;padding-bottom: 2px;margin: 2px;color: #ddd;padding-top: 2px;}
```## Настройка системы (вызов конфигурации)
Статистика посещений сайта (значение PV, обновляется каждые 10 минут)
Сегодняшние посещения: <span class="visit_today"></span>
Вчера: <span class="visit_yesterday"></span>
Общее количество посещений: <span class="visit_sum"></span>
Максимальное количество посещений за день: <span class="visit_max"></span>
$.getJSON('/visit', {}, function (data) {
$('.visit_today').text(data['today']);
$('.visit_yesterday').text(data['yesterday']);
$('.visit_sum').text(data['sum']);
$('.visit_max').text(data['max']);
})
1. Метод установки кэша:
```php
SetCxuuCache($key, $data, 600);
// пользовательский ключ кэша, данные для кэширования, время кэширования 2. Метод получения кэша:
GetCxuuCache($key);
// получение соответствующих данных по ключу кэша```
getCateList('6,7,8,9,10');
Значение — это идентификатор категории, если значение пустое, то получаем информацию о всех категориях.
``````php
<?php foreach(\model\common::getCateList('6,7,8,9,10') as $value){ ?>
<li class="layui-nav-item"><a href="<{ urlList($value['id']) }>" target="_blank"><{$value['name']}></a></li>
<?php }?>
Пример: Главная / Список продуктов / Электроника
<?php
foreach(\model\common::getCateUrlData($cid) as $value){
if($value['type'] == 0){
echo '<a>'.$value['name'].'</a>';
}else{
echo '<a href="'.urlList($value['id']).'"><cite>'.$value['name'].'</cite></a>';
}
}
?>
<?php foreach((array)\model\applinks::AppLinkList(8) as $vo){?>
<div class="layui-col-md6 cxuu-applink-a">
<a href="<{$vo['url']}>" target="_blank"><i class="fontsize layui-icon <{$vo['ico']}>"></i><br><{$vo['name']}></a>
</div>
<?php }?>
AppLinkList(8)
Параметр — количество отображаемых ссылок
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )