本文整理汇总了PHP中flexicontent_html::getCatViewLayoutVars方法的典型用法代码示例。如果您正苦于以下问题:PHP flexicontent_html::getCatViewLayoutVars方法的具体用法?PHP flexicontent_html::getCatViewLayoutVars怎么用?PHP flexicontent_html::getCatViewLayoutVars使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类flexicontent_html
的用法示例。
在下文中一共展示了flexicontent_html::getCatViewLayoutVars方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createCatLink
static function createCatLink($slug, &$non_sef_link, $catmodel = null)
{
$menus = JFactory::getApplication()->getMenu();
$menu = $menus->getActive();
$Itemid = $menu ? $menu->id : 0;
// Get URL variables
$layout_vars = flexicontent_html::getCatViewLayoutVars($catmodel);
$cid = $layout_vars['cid'];
$urlvars = array();
if ($layout_vars['layout']) {
$urlvars['layout'] = $layout_vars['layout'];
}
if ($layout_vars['authorid']) {
$urlvars['authorid'] = $layout_vars['authorid'];
}
if ($layout_vars['tagid']) {
$urlvars['tagid'] = $layout_vars['tagid'];
}
if ($layout_vars['cids']) {
$urlvars['cids'] = $layout_vars['cids'];
}
// Category link for single/multiple category(-ies) --OR-- "current layout" link for myitems/author layouts
$non_sef_link = FlexicontentHelperRoute::getCategoryRoute($slug, $Itemid, $urlvars);
$category_link = JRoute::_($non_sef_link);
return $category_link;
}
示例2: display
/**
* Creates the page's display
*
* @since 1.0
*/
function display($tpl = null)
{
// Get Non-routing Categories, and Category Tree
global $globalnoroute, $globalcats;
if (!is_array($globalnoroute)) {
$globalnoroute = array();
}
//initialize variables
$dispatcher = JDispatcher::getInstance();
$app = JFactory::getApplication();
$session = JFactory::getSession();
$option = JRequest::getVar('option');
$document = JFactory::getDocument();
$menus = $app->getMenu();
$menu = $menus->getActive();
$uri = JFactory::getURI();
$user = JFactory::getUser();
$aid = JAccess::getAuthorisedViewLevels($user->id);
// Get model
$model = $this->getModel();
// Get category and set category parameters as VIEW's parameters (category parameters are merged with component/page/author parameters already)
$category = $this->get('Category');
$params = $category->parameters;
if ($category->id) {
$meta_params = new JRegistry($category->metadata);
}
// Get various data from the model
$categories = $this->get('Childs');
// this will also count sub-category items is if 'show_itemcount' is enabled
$peercats = $this->get('Peers');
// this will also count sub-category items is if 'show_subcatcount_peercat' is enabled
$items = $this->get('Data');
$total = $this->get('Total');
$filters = $this->get('Filters');
if ($params->get('show_comments_count', 0)) {
$comments = $this->get('CommentsInfo');
} else {
$comments = null;
}
$alpha = $params->get('show_alpha', 1) ? $this->get('Alphaindex') : array();
// This is somwhat expensive so calculate it only if required
// Request variables, WARNING, must be loaded after retrieving items, because limitstart may have been modified
$limitstart = JRequest::getInt('limitstart');
$format = JRequest::getCmd('format', null);
// ********************************
// Load needed JS libs & CSS styles
// ********************************
FLEXI_J30GE ? JHtml::_('behavior.framework', true) : JHTML::_('behavior.mootools');
flexicontent_html::loadFramework('jQuery');
flexicontent_html::loadFramework('flexi_tmpl_common');
// ************************
// CATEGORY LAYOUT handling
// ************************
// (a) Decide to use mobile or normal category template layout
$useMobile = $params->get('use_mobile_layouts', 0);
if ($useMobile) {
$force_desktop_layout = $params->get('force_desktop_layout', 0);
$mobileDetector = flexicontent_html::getMobileDetector();
$isMobile = $mobileDetector->isMobile();
$isTablet = $mobileDetector->isTablet();
$useMobile = $force_desktop_layout ? $isMobile && !$isTablet : $isMobile;
}
$_clayout = $useMobile ? 'clayout_mobile' : 'clayout';
// (b) Get from category parameters, allowing URL override
$clayout = JRequest::getCmd($_clayout, false);
if (!$clayout) {
$desktop_clayout = $params->get('clayout', 'blog');
$clayout = !$useMobile ? $desktop_clayout : $params->get('clayout_mobile', $desktop_clayout);
}
// (c) Get cached template data
$themes = flexicontent_tmpl::getTemplates($lang_files = array($clayout));
// (d) Verify the category layout exists
if (!isset($themes->category->{$clayout})) {
$fixed_clayout = 'blog';
$app->enqueueMessage("<small>Current Category Layout Template is '{$clayout}' does not exist<br>- Please correct this in the URL or in Content Type configuration.<br>- Using Template Layout: '{$fixed_clayout}'</small>", 'notice');
$clayout = $fixed_clayout;
FLEXIUtilities::loadTemplateLanguageFile($clayout);
// Manually load Template-Specific language file of back fall clayout
}
// (e) finally set the template name back into the category's parameters
$params->set('clayout', $clayout);
// Get URL variables
$layout_vars = flexicontent_html::getCatViewLayoutVars($model);
$layout = $layout_vars['layout'];
$authorid = $layout_vars['authorid'];
$tagid = $layout_vars['tagid'];
$cids = $layout_vars['cids'];
$cid = $layout_vars['cid'];
// Get Tag data if current layout is 'tags'
if ($tagid) {
$tag = $this->get('Tag');
}
$authordescr_item = false;
if ($authorid && $params->get('authordescr_itemid') && $format != 'feed') {
$authordescr_itemid = $params->get('authordescr_itemid');
//.........这里部分代码省略.........