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


PHP DiscussHelper::accessNestedCategories方法代码示例

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


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

示例1: accessNestedCategories

 public static function accessNestedCategories($arr, &$html, $deep = '0', $default = '0', $type = 'select', $linkDelimiter = '', $disableContainers = false)
 {
     $config = DiscussHelper::getConfig();
     if (isset($arr->childs) && is_array($arr->childs)) {
         $sup = '<sup>|_</sup>';
         $space = '';
         $ld = empty($linkDelimiter) ? '>' : $linkDelimiter;
         if ($type == 'select' || $type == 'list') {
             $deep++;
             for ($d = 0; $d < $deep; $d++) {
                 $space .= '&nbsp;&nbsp;&nbsp;';
             }
         }
         if ($type == 'list' && !empty($arr->childs)) {
             $html .= '<ul>';
         }
         for ($j = 0; $j < count($arr->childs); $j++) {
             $child = $arr->childs[$j];
             switch ($type) {
                 case 'select':
                     $selected = $child->id == $default ? ' selected="selected"' : '';
                     if (!$default) {
                         $selected = $child->default ? ' selected="selected"' : '';
                     }
                     $disabled = '';
                     $style = '';
                     // @rule: Test if the category should just act as a container
                     if ($disableContainers) {
                         $disabled = $child->container ? ' disabled="disabled"' : '';
                         $style = $disabled ? ' style="font-weight:700;"' : '';
                     }
                     $html .= '<option value="' . $child->id . '" ' . $selected . $disabled . $style . '>' . $space . $sup . $child->title . '</option>';
                     break;
                 case 'list':
                     $expand = !empty($child->childs) ? '<span onclick="EasyDiscuss.$(this).parents(\'li:first\').toggleClass(\'expand\');">[+] </span>' : '';
                     $html .= '<li><div>' . $space . $sup . $expand . '<a href="' . DiscussRouter::getCategoryRoute($child->id) . '">' . $child->title . '</a> <b>(' . $child->count . ')</b></div>';
                     break;
                 case 'listlink':
                     $str = '<li><a href="' . DiscussRouter::getCategoryRoute($child->id) . '">';
                     $str .= empty($html) ? $child->title : $ld . '&nbsp;' . $child->title;
                     $str .= '</a></li>';
                     $html .= $str;
                     break;
                 default:
                     $str = '<a href="' . DiscussRouter::getCategoryRoute($child->id) . '">';
                     //str   		.= (empty($html)) ? $child->title : $ld . '&nbsp;' . $child->title;
                     $str .= empty($html) ? $child->title : $ld . '&nbsp;' . $child->title;
                     $str .= '</a></li>';
                     $html .= $str;
             }
             if (!$config->get('layout_category_one_level', 0)) {
                 DiscussHelper::accessNestedCategories($child, $html, $deep, $default, $type, $linkDelimiter, $disableContainers);
             }
             if ($type == 'list') {
                 $html .= '</li>';
             }
         }
         if ($type == 'list' && !empty($arr->childs)) {
             $html .= '</ul>';
         }
     } else {
         return false;
     }
 }
开发者ID:pguilford,项目名称:vcomcc,代码行数:64,代码来源:helper.php

示例2: listings

 /**
  * Displays a list of recent discussions from a particular category.
  *
  * @since	3.0
  * @access	public
  */
 public function listings()
 {
     // Initialise variables
     $doc = JFactory::getDocument();
     $my = JFactory::getUser();
     $config = DiscussHelper::getConfig();
     $app = JFactory::getApplication();
     $registry = DiscussHelper::getRegistry();
     $categoryId = JRequest::getInt('category_id', 0);
     // Try to detect if there's any category id being set in the menu parameter.
     $activeMenu = $app->getMenu()->getActive();
     if ($activeMenu) {
         // Load menu params to the registry.
         $registry->loadString($activeMenu->params);
         // Set the active category id if exists.
         $categoryId = $registry->get('category_id') ? $registry->get('category_id') : $categoryId;
     }
     // Get the current logged in user's access.
     $acl = DiscussHelper::getHelper('ACL');
     // Todo: Perhaps we should fix the confused naming of filter and sort to type and sort
     $activeFilter = JRequest::getString('filter', $registry->get('filter'));
     $sort = JRequest::getString('sort', $registry->get('sort'));
     // Get the pagination limit
     $limit = $registry->get('limit');
     $limit = $limit == '-2' ? DiscussHelper::getListLimit() : $limit;
     $limit = $limit == '-1' ? DiscussHelper::getJConfig()->get('list_limit') : $limit;
     // Get the active category id if there is any
     $activeCategory = DiscussHelper::getTable('Category');
     $activeCategory->load($categoryId);
     DiscussHelper::setPageTitle($activeCategory->title);
     // Add breadcrumbs for active category.
     if ($activeCategory->id != 0) {
         // Test if user is really allowed to access this category.
         if (!$activeCategory->canAccess()) {
             $app->redirect(DiscussRouter::_('index.php?option=com_easydiscuss&view=index', false), JText::_('COM_EASYDISCUSS_SYSTEM_INSUFFICIENT_PERMISSIONS'));
             $app->close();
             return;
         }
         // Add pathway for category here.
         DiscussHelper::getHelper('Pathway')->setCategoryPathway($activeCategory);
     }
     // Add view to this page.
     $this->logView();
     // Set the meta of the page.
     DiscussHelper::setMeta();
     $doc = JFactory::getDocument();
     $doc->setMetadata('description', strip_tags($activeCategory->getDescription()));
     // Add rss feed into headers
     DiscussHelper::getHelper('Feeds')->addHeaders('index.php?option=com_easydiscuss&view=index');
     // Get list of categories on the site.
     $catModel = $this->getModel('Categories');
     // Pagination is by default disabled.
     $pagination = false;
     if ($categoryId) {
         $category = DiscussHelper::getTable('Category');
         $category->load($categoryId);
         $categories[] = $category;
     } else {
         $categories = $catModel->getCategories($categoryId);
         if (count($categories) > 1) {
             $ids = array();
             foreach ($categories as $row) {
                 $ids[] = $row->id;
             }
             // iniCounts should only called in index page.
             $category = DiscussHelper::getTable('Category');
             $category->initCounts($ids, true);
         }
     }
     // Get the model.
     $postModel = DiscussHelper::getModel('Posts');
     $authorIds = array();
     $topicIds = array();
     for ($i = 0; $i < count($categories); $i++) {
         $category =& $categories[$i];
         // building category childs lickage.
         $category->childs = null;
         $nestedLinks = '';
         // In category page
         if ($config->get('layout_show_all_subcategories', '1')) {
             // By default show all the subcategories of the selected category
             DiscussHelper::buildNestedCategories($category->id, $category, false, true);
         } else {
             // Show one level of subcategories of the selected category only
             $category->childs = $catModel->getChildCategories($category->id);
         }
         DiscussHelper::accessNestedCategories($category, $nestedLinks, '0', '', 'listlink', ', ');
         $category->nestedLink = $nestedLinks;
         // Get featured posts from this particular category.
         $featured = $postModel->getDiscussions(array('pagination' => false, 'sort' => $sort, 'filter' => $activeFilter, 'category' => $category->id, 'limit' => $config->get('layout_featuredpost_limit', $limit), 'featured' => true));
         // Get normal discussion posts.
         $posts = $postModel->getDiscussions(array('sort' => $sort, 'filter' => $activeFilter, 'category' => $category->id, 'limit' => $limit, 'featured' => false));
         $tmpPostsArr = array_merge($featured, $posts);
         if (count($tmpPostsArr) > 0) {
//.........这里部分代码省略.........
开发者ID:pguilford,项目名称:vcomcc,代码行数:101,代码来源:view.html.php


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