本文整理汇总了PHP中Blog::gen_blogurl方法的典型用法代码示例。如果您正苦于以下问题:PHP Blog::gen_blogurl方法的具体用法?PHP Blog::gen_blogurl怎么用?PHP Blog::gen_blogurl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Blog
的用法示例。
在下文中一共展示了Blog::gen_blogurl方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: switch
/**
* Generate the URL to access the category.
*
* @param string|NULL 'param_num', 'subchap', 'chapters'
* @param string|NULL url to use
* @param integer category page to link to, default:1
* @param integer|NULL number of posts per page (used for param_num only)
* @param string glue between url params
*/
function get_permanent_url($link_type = NULL, $blogurl = NULL, $paged = 1, $chapter_posts_per_page = NULL, $glue = '&')
{
global $DB, $cacheweekly, $Settings;
if (empty($link_type)) {
// Use default from settings:
$this->get_Blog();
$link_type = $this->Blog->get_setting('chapter_links');
}
if (empty($blogurl)) {
$this->get_Blog();
$blogurl = $this->Blog->gen_blogurl();
}
switch ($link_type) {
case 'param_num':
$r = url_add_param($blogurl, 'cat=' . $this->ID, $glue);
if (empty($chapter_posts_per_page)) {
// Use default from Blog
$this->get_Blog();
$chapter_posts_per_page = $this->Blog->get_setting('chapter_posts_per_page');
}
if (!empty($chapter_posts_per_page) && $chapter_posts_per_page != $this->Blog->get_setting('posts_per_page')) {
// We want a specific post per page count:
$r = url_add_param($r, 'posts=' . $chapter_posts_per_page, $glue);
}
break;
case 'subchap':
$this->get_Blog();
$category_prefix = $this->Blog->get_setting('category_prefix');
if (!empty($category_prefix)) {
$r = url_add_tail($blogurl, '/' . $category_prefix . '/' . $this->urlname . '/');
} else {
$r = url_add_tail($blogurl, '/' . $this->urlname . '/');
}
break;
case 'chapters':
default:
$this->get_Blog();
$category_prefix = $this->Blog->get_setting('category_prefix');
if (!empty($category_prefix)) {
$r = url_add_tail($blogurl, '/' . $category_prefix . '/' . $this->get_url_path());
} else {
$r = url_add_tail($blogurl, '/' . $this->get_url_path());
}
break;
}
if ($paged > 1) {
$r = url_add_param($r, 'paged=' . $paged, $glue);
}
return $r;
}
示例2: elseif
/**
* Generate the permalink for the item.
*
* Note: Each item has an unique permalink at any given time.
* Some admin settings may however change the permalinks for previous items.
* Note: This actually only returns the URL, to get a real link, use {@link Item::get_permanent_link()}
*
* @todo archives modes in clean URL mode
*
* @param string single, archive, subchap
* @param string base url to use
* @param string glue between url params
*/
function get_permanent_url($permalink_type = '', $blogurl = '', $glue = '&')
{
global $DB, $cacheweekly, $Settings, $posttypes_specialtypes, $posttypes_nopermanentURL, $posttypes_catpermanentURL;
$this->get_Blog();
if ($this->Blog->get_setting('front_disp') == 'page' && $this->Blog->get_setting('front_post_ID') == $this->ID) {
// This item is used as front specific page on the blog's home
$permalink_type = 'none';
} elseif (in_array($this->ityp_ID, $posttypes_specialtypes)) {
// This is not an "in stream" post:
if (in_array($this->ityp_ID, $posttypes_nopermanentURL)) {
// This type of post is not allowed to have a permalink:
$permalink_type = 'none';
} elseif (in_array($this->ityp_ID, $posttypes_catpermanentURL)) {
// This post has a permanent URL as url to main chapter:
$permalink_type = 'cat';
} else {
// allowed to have a permalink:
// force use of single url:
$permalink_type = 'single';
}
} elseif (empty($permalink_type)) {
// Normal "in stream" post:
// Use default from collection settings (may be an "in stream" URL):
$permalink_type = $this->Blog->get_setting('permalinks');
}
switch ($permalink_type) {
case 'archive':
return $this->get_archive_url($blogurl, $glue);
case 'subchap':
return $this->get_chapter_url($blogurl, $glue);
case 'none':
// This is a silent fallback when we try to permalink to an Item that cannot be addressed directly:
// Link to blog home:
return $this->Blog->gen_blogurl();
case 'cat':
// Link to permanent url of main chapter:
$this->get_main_Chapter();
return $this->main_Chapter->get_permanent_url(NULL, $blogurl, 1, NULL, $glue);
case 'single':
default:
return $this->get_single_url(true, $blogurl, $glue);
}
}
示例3:
/**
* Generate a link to the post in the category
*
* @param string base url to use
* @param string glue between url params
*/
function get_chapter_url($blogurl = '', $glue = '&')
{
if (empty($blogurl)) {
$this->get_Blog();
$blogurl = $this->Blog->gen_blogurl();
}
$permalink = url_add_tail($blogurl, '/' . $this->main_Chapter->get_url_path());
return $permalink . '#item_' . $this->ID;
}