Пример #1
0
 /**
  * カテゴリのURLを取得する
  * [注意] リンク関数でラップする前提の為、ベースURLは考慮されない
  * 
  * @param string $blogCategoyId
  * @return void
  */
 function getCategoryUrl($blogCategoryId)
 {
     if (!isset($this->BlogCategory)) {
         $this->BlogCategory =& ClassRegistry::init('BlogCategory', 'Model');
     }
     $categoryPath = $this->BlogCategory->getPath($blogCategoryId);
     $blogContentId = $categoryPath[0]['BlogCategory']['blog_content_id'];
     $this->_setBlogContent($blogContentId);
     $blogContentName = $this->blogContent['name'];
     $path = array('category');
     if ($categoryPath) {
         foreach ($categoryPath as $category) {
             $path[] = $category['BlogCategory']['name'];
         }
     }
     $url = Router::url(am(array('admin' => false, 'plugin' => '', 'controller' => $blogContentName, 'action' => 'archives'), $path));
     $baseUrl = preg_replace('/\\/$/', '', baseUrl());
     return preg_replace('/^' . preg_quote($baseUrl, '/') . '/', '', $url);
 }
Пример #2
0
 /**
  * カテゴリ一覧へのURLを取得する
  *
  * [注意] リンク関数でラップする前提の為、ベースURLは考慮されない
  *
  * @param string $blogCategoyId ブログカテゴリID
  * @param array $options オプション(初期値 : array())
  *	`named` : URLの名前付きパラメーター
  * @return string カテゴリ一覧へのURL
  */
 public function getCategoryUrl($blogCategoryId, $options = array())
 {
     $options = array_merge(array('named' => array()), $options);
     extract($options);
     if (!isset($this->BlogCategory)) {
         $this->BlogCategory = ClassRegistry::init('Blog.BlogCategory');
     }
     $categoryPath = $this->BlogCategory->getPath($blogCategoryId);
     $blogContentId = $categoryPath[0]['BlogCategory']['blog_content_id'];
     $this->setContent($blogContentId);
     $path = array('category');
     if ($categoryPath) {
         foreach ($categoryPath as $category) {
             $path[] = urldecode($category['BlogCategory']['name']);
         }
     }
     if ($named) {
         $path = array_merge($path, $named);
     }
     $url = Router::url($this->request->params['Content']['url'] . 'archives/' . implode('/', $path));
     $baseUrl = preg_replace('/\\/$/', '', BC_BASE_URL);
     return preg_replace('/^' . preg_quote($baseUrl, '/') . '/', '', $url);
 }
Пример #3
0
 /**
  * カテゴリ一覧へのURLを取得する
  * 
  * [注意] リンク関数でラップする前提の為、ベースURLは考慮されない
  *
  * @param string $blogCategoyId ブログカテゴリID
  * @param array $options オプション(初期値 : array())
  *	`named` : URLの名前付きパラメーター
  * @return string カテゴリ一覧へのURL
  */
 public function getCategoryUrl($blogCategoryId, $options = array())
 {
     $options = array_merge(array('named' => array()), $options);
     extract($options);
     if (!isset($this->BlogCategory)) {
         $this->BlogCategory = ClassRegistry::init('BlogCategory', 'Model');
     }
     $categoryPath = $this->BlogCategory->getPath($blogCategoryId);
     $blogContentId = $categoryPath[0]['BlogCategory']['blog_content_id'];
     $this->setContent($blogContentId);
     $blogContentName = $this->blogContent['name'];
     $path = array('category');
     if ($categoryPath) {
         foreach ($categoryPath as $category) {
             $path[] = urldecode($category['BlogCategory']['name']);
         }
     }
     if ($named) {
         $path = array_merge($path, $named);
     }
     $url = Router::url(am(array('admin' => false, 'plugin' => '', 'controller' => $blogContentName, 'action' => 'archives'), $path));
     $baseUrl = preg_replace('/\\/$/', '', BC_BASE_URL);
     return preg_replace('/^' . preg_quote($baseUrl, '/') . '/', '', $url);
 }