当前位置: 首页>>代码示例>>PHP>>正文


PHP KunenaRoute::getCategoryItemid方法代码示例

本文整理汇总了PHP中KunenaRoute::getCategoryItemid方法的典型用法代码示例。如果您正苦于以下问题:PHP KunenaRoute::getCategoryItemid方法的具体用法?PHP KunenaRoute::getCategoryItemid怎么用?PHP KunenaRoute::getCategoryItemid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在KunenaRoute的用法示例。


在下文中一共展示了KunenaRoute::getCategoryItemid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getUri

 /**
  * @param mixed $category
  * @param string $action
  *
  * @return JUri|null
  */
 public function getUri($category = null, $action = null)
 {
     $category = $category ? KunenaForumCategoryHelper::get($category) : $this->getCategory();
     $Itemid = KunenaRoute::getCategoryItemid($category);
     if (!$this->exists() || !$category->exists()) {
         return null;
     }
     if ($action instanceof KunenaForumMessage) {
         $message = $action;
         $action = 'post' . $message->id;
     }
     $uri = JUri::getInstance("index.php?option=com_kunena&view=topic&catid={$category->id}&id={$this->id}&action={$action}&Itemid={$Itemid}");
     if ($uri->getVar('action') !== null) {
         $uri->delVar('action');
         $mesid = 0;
         $limit = max(1, intval(KunenaFactory::getConfig()->messages_per_page));
         if (isset($message)) {
             $mesid = $message->id;
         } elseif ((string) $action === (string) (int) $action) {
             if ($action > 0) {
                 $uri->setVar('limitstart', $action * $limit);
             }
         } else {
             switch ($action) {
                 case 'first':
                     $mesid = $this->first_post_id;
                     break;
                 case 'last':
                     $mesid = $this->last_post_id;
                     break;
                 case 'unread':
                     // Special case, improves caching
                     $uri->setVar('layout', 'unread');
                     // $mesid = $this->lastread ? $this->lastread : $this->last_post_id;
                     break;
             }
         }
         if ($mesid) {
             if (KunenaUserHelper::getMyself()->getTopicLayout() != 'threaded' && $mesid > 0) {
                 $uri->setFragment($mesid);
                 $limitstart = intval($this->getPostLocation($mesid) / $limit) * $limit;
                 if ($limitstart) {
                     $uri->setVar('limitstart', $limitstart);
                 }
             } else {
                 $uri->setVar('mesid', $mesid);
             }
         }
     }
     return $uri;
 }
开发者ID:giabmf11,项目名称:Kunena-Forum,代码行数:57,代码来源:topic.php


注:本文中的KunenaRoute::getCategoryItemid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。