url

Находит и возвращает данные об урл по заданному идентификатору страницы page_id

Синтаксис: url($page_id=0, $type_data=0)

$page_id - идентификатор страницы или раздела

$type_data - тип возвращенных данных, который может быть следующим:

0 - url
1 - url_type
2 - array('url_type' => 'тип урл' , 'url' => 'урл страницы')

Пример использования:

url(123);// возвращает урл страницы, page_id идентификатор которой равен 123

url(123, 1);// возвращает тип урл страницы, page_id идентификатор которой равен 123

url (123);// пример выполнения в любом месте скриптов

Если вы уже знаете url и url_type страницы, то чтобы не делать лишний запрос в базе данных, можно просто передать url, url_type в функцию и получить урл страницы. Приведу пример подобного случая:

$r = @mysql_fetch_assoc( mysql_query( sql('url, url_type, name', 'page_id=123')));// узнаем имя страницы у которой page_id = 123

$url = url($r);// т.к. массив $r содержит данные url, url_type, то просто передадим их в функцию url и узнаем урл страницы

function url($page_id=0, $type_data=0){
	
	if($page_id && is_numeric($page_id)){
		
		if(!isset($GLOBALS['SYSTEM']['page_url'][ $page_id ]['url'])){
			
			$r = @mysql_fetch_assoc(mysql_query("SELECT url, url_type FROM ".SYSTEM_PREFIX."pages_".$GLOBALS['SYSTEM']['site_id']." WHERE page_id='".$page_id."'"));
			
			$GLOBALS['SYSTEM']['page_url'][ $page_id ]['url'] = $r['url'];
			$GLOBALS['SYSTEM']['page_url'][ $page_id ]['url_type'] = $r['url_type'];
			
			
			
		}else{
			$r = $GLOBALS['SYSTEM']['page_url'][ $page_id ];
		}
		
		if($type_data==3){
			return $r['url'];
		}else if($type_data==2){
			return $r;
		}else if($type_data==1){
			return $r['url_type'];
		}else{
			return $r['url'].( ($r['url_type']<2)? $GLOBALS['SYSTEM']['config']['yapro_page_ext'] : '');
		}
	}else if($page_id && is_array($page_id)){
		
		$r = $page_id;
		
		return $r['url'].( ($r['url_type']<2)? $GLOBALS['SYSTEM']['config']['yapro_page_ext'] : '');
		
	}
}

Комментарии посетителей:
  • заметка: если нужно получить урл без расширения, то лучше это сделать так $this-> data('url', 123)
    28 октября 2010, 18:05 коммент полезен : 0 # Легион (гость)

Предложения и пожелания:
Ваше имя: Ваш E-mail:
Введите изображенные цифры:
Captcha

Обсуждения на форуме:

Новый раздел

Шаблонизация

YaPro - Полная сборка системы

Дубли файлов, эскизы изображений, редактирование шаблонов

Общая регистрация в CMS и phpBB3

Помощь в разработке шаблона

Идея модуля музыкальной системы

Полезное:

Видео-обучение

Работа с шаблонами

Документация API

База данных и её таблицы

Регистрация на форуме

Скачать последнюю версию

Связь с авторами

Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter| Здравствуйте, Гость | Войти | Регистрация| Карта сайта | RSS ленты
О проекте | Скачать CMS | Видеоуроки | Документация | Плагины | Форум | Идеи | Новости | Веб-мастеру | Контакты

YaPro CMS в Живом Журнале

YaPro CMS в Твитере

YaPro CMS в Одноклассниках

YaPro CMS в Яндекс.Блогах

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2012 YaPro.Ru


Главная » Документация » API для разработчика » Глобальные функции »