本文整理汇总了PHP中system::getCurrentNavNum方法的典型用法代码示例。如果您正苦于以下问题:PHP system::getCurrentNavNum方法的具体用法?PHP system::getCurrentNavNum怎么用?PHP system::getCurrentNavNum使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类system
的用法示例。
在下文中一共展示了system::getCurrentNavNum方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: objList
/**
* @return HTML
* @param int(string) $section - ID объекта, подразделы которой будут выводиться в списке
или системное имя класса, объекты которого нужно вывести
* @param string $templ_name - Шаблон оформления по которому будет строится список
* @param int $max_count - Максимальное количество элементов в списке
* @param string $order_by - Способ сортировки элементов списка. SQL-подобный синтаксис, например: "name DESC".
* @param int $start_pos - Номер элемента по порядку с которого будет выводиться список.
* @desc МАКРОС: Выводит список объектов.
*/
public function objList($section, $TEMPLATE = 'default', $max_count = 0, $order_by = 0, $start_pos = 0)
{
$list = '';
// Определяем источник данных: ID, имя класса, путь, объект ormPage
$independent = $section instanceof ormObject ? false : true;
$class_name = $class_frame = '';
if ($independent) {
if (!is_numeric($section)) {
$pos = strpos($section, ' ');
if ($pos) {
$class_name = substr($section, $pos + 1);
$section = substr($section, 0, $pos);
} else {
$class_name = $section;
$section = -1;
}
}
}
// Если нужно, подгружаем файл шаблона
if (!is_array($TEMPLATE)) {
$templ_file = '/core/objects/' . $TEMPLATE . '.tpl';
$TEMPLATE = page::getTemplate($templ_file);
if (!is_array($TEMPLATE)) {
return page::errorNotFound('core.objList', $templ_file);
}
}
// Формируем выборку объектов
$sel = new ormSelect($class_name);
if ($section >= 0) {
page::assign('parent_id', $section);
$sel->where('parents', '=', $section);
}
// Сортировка списка
if (!empty($order_by)) {
$pos = strpos($order_by, ' ');
if ($pos) {
$parram = substr($order_by, $pos + 1);
$order_by = substr($order_by, 0, $pos);
} else {
$parram = '';
}
$sel->orderBy($order_by, $parram);
} else {
$sel->orderBy(position, asc);
}
$class_list = $sel->getClassesList();
if (!empty($class_list)) {
// Узнаем какие поля объектов будут участвовать в выборке
$fields_str = '';
$fields = page::getFields('obj', $TEMPLATE, $class_list, $class_frame);
if (isset($fields['obj'])) {
while (list($key, $val) = each($fields['obj'])) {
if ($val != 'url' && $val != 'class' && $val != 'num') {
$fields_str .= empty($fields_str) ? $val : ', ' . $val;
}
}
}
$sel->fields($fields_str);
// Количество элементов и постраничная навигация
if (!empty($max_count)) {
if (isset($fields['funct']) && in_array('structure.navigation', $fields['funct'])) {
$count_page = ceil($sel->getCount() / $max_count);
page::assign('count_page', $count_page);
if (system::getCurrentNavNum() != 0) {
$niz = empty($start_pos) ? system::getCurrentNavNum() * $max_count - $max_count : $start_pos;
$sel->limit($niz, $max_count);
} else {
$sel->limit($max_count);
}
} else {
if (!empty($start_pos)) {
$sel->limit($start_pos, $max_count);
} else {
$sel->limit($max_count);
}
}
}
// Формируем список
while ($obj = $sel->getObject()) {
// Парсим поля страницы
if (isset($fields['obj_all'])) {
reset($fields['obj_all']);
while (list($num, $name) = each($fields['obj_all'])) {
page::assign('obj.' . $name, $obj->__get($name));
}
}
$class = $obj->getClass()->getSName();
$num = $sel->getObjectNum() + 1;
page::assign('obj.num', $num);
page::assign('obj.class', $class);
//.........这里部分代码省略.........
示例2: tagAction
public function tagAction()
{
$templ_file = '/search/gettag.tpl';
$TEMPLATE = page::getTemplate($templ_file);
if (!is_array($TEMPLATE)) {
return page::errorNotFound('search.getTag', $templ_file);
}
if (system::issetUrl(2) && ($tag = tags::infoTag(system::url(2)))) {
$msg = lang::get('SEARCH_H1_TAGS') . ' "' . $tag['name'] . '"';
page::globalVar('h1', $msg);
page::globalVar('title', $msg);
// Получаем список классов
$classes_filter = array();
if (!empty($_POST['classes'])) {
$tmp = explode(",", $_POST['classes']);
$classes_filter = array();
foreach ($tmp as $v) {
$v = trim($v);
if (!empty($v)) {
$classes_filter[] = $v;
}
}
}
$max_count = reg::getKey(ormPages::getPrefix('search') . '/max_count');
$start = (system::getCurrentNavNum() - 1) * $max_count;
$result = tags::find(array($tag['id']), $max_count, $start, $classes_filter);
$list = '';
while (list($num, $val) = each($result['pages'])) {
if ($page = ormPages::get($val['page_id'])) {
page::assign('obj.id', $page->id);
page::assign('obj.num', $num + $start + 1);
page::assign('obj.name', $page->name);
page::assign('obj.url', $page->_url);
//page::assign('obj.content', $page->content);
$cn = $page->getClass()->getSName();
$block_name = isset($TEMPLATE['list_' . $cn]) ? 'list_' . $cn : 'list';
$list .= page::parse($TEMPLATE[$block_name]);
}
}
page::assign('count_page', ceil($result['count'] / $max_count));
} else {
$list = '';
$msg = lang::get('SEARCH_H1_TAGS2');
page::globalVar('h1', $msg);
page::globalVar('title', $msg);
}
if (!empty($list)) {
page::assign('list', $list);
page::fParse('list', $TEMPLATE['frame_list']);
} else {
page::fParse('list', $TEMPLATE['not_found']);
}
return page::parse($TEMPLATE['frame']);
}
示例3: navigation
/**
* @return HTML
* @param int $count_page - Количество страниц которое необходимо отобразить. Если = 0, список не выведется.
* @param int $smeshenie - Количество страниц выводящихся справа и слева от текущей.
* @param string $templ_name - Шаблон оформления.
* @desc МАКРОС: Вывод постраничной навигации.
*/
public function navigation($count_page = 0, $smeshenie = 4, $templ_name = 'default')
{
$navbar = '';
$templ_file = '/structure/navigation/' . $templ_name . '.tpl';
$TEMPLATE = page::getTemplate($templ_file);
if (!is_array($TEMPLATE)) {
return page::errorNotFound('structure.navigation', $templ_file);
} else {
$current_num = system::getCurrentNavNum();
$current_url = system::getCurrentUrl();
if ($count_page > 1) {
// Просчитывает какие страницы показывать
$raznica1 = $current_num - $smeshenie;
$raznica1 = $raznica1 < 0 ? -$raznica1 : 0;
$raznica2 = $count_page - $current_num - $smeshenie;
$raznica2 = $raznica2 < 0 ? -$raznica2 : 0;
$niz = $current_num - $smeshenie - $raznica2;
if ($niz < 1) {
$niz = 1;
}
$verx = $current_num + $smeshenie + $raznica1;
if ($verx > $count_page) {
$verx = $count_page;
}
page::assign('current_num', $current_num);
page::assign('count_page', $count_page);
page::assign('first_page', $current_url . '=1');
page::assign('previous_page', $current_url . '=' . ($current_num - 1));
page::assign('next_page', $current_url . '=' . ($current_num + 1));
page::assign('last_page', $current_url . '=' . $count_page);
if (!empty($smeshenie)) {
// Определяемся с левым блоком
page::assign('num', $current_num - 1);
if ($niz !== 1 && isset($TEMPLATE['left_block'])) {
$left_block = page::parse($TEMPLATE['left_block']);
} else {
$left_block = '';
}
page::assign('left_block', $left_block);
// Определяемся с правым блоком
page::assign('num', $current_num + 1);
if ($verx != $count_page && isset($TEMPLATE['right_block'])) {
$right_block = page::parse($TEMPLATE['right_block']);
} else {
$right_block = '';
}
page::assign('right_block', $right_block);
// Вывод списка страниц
$pages = '';
for ($i = $niz; $i < $verx + 1; $i++) {
page::assign('page_num', $i);
page::assign('page_url', $current_url . '=' . $i);
$tmpl = $i == $current_num ? 'list_active' : 'list';
$pages .= page::parse($TEMPLATE[$tmpl]);
}
page::assign('list', $pages);
} else {
// Определяемся с левым блоком
page::assign('num', $current_num - 1);
if ($current_num - 1 > 0 && isset($TEMPLATE['left_block'])) {
$left_block = page::parse($TEMPLATE['left_block']);
} else {
$left_block = '';
}
page::assign('left_block', $left_block);
// Определяемся с правым блоком
page::assign('num', $current_num + 1);
if ($current_num + 1 <= $count_page && isset($TEMPLATE['right_block'])) {
$right_block = page::parse($TEMPLATE['right_block']);
} else {
$right_block = '';
}
page::assign('right_block', $right_block);
page::assign('page_num', $current_num);
page::assign('page_url', $current_url . '=' . $current_num);
page::fParse('list', $TEMPLATE['list_active']);
}
$navbar = page::parse($TEMPLATE['frame']);
}
}
return $navbar;
}