本文整理汇总了PHP中FlexicontentFields::renderPositions方法的典型用法代码示例。如果您正苦于以下问题:PHP FlexicontentFields::renderPositions方法的具体用法?PHP FlexicontentFields::renderPositions怎么用?PHP FlexicontentFields::renderPositions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FlexicontentFields
的用法示例。
在下文中一共展示了FlexicontentFields::renderPositions方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
/**
* Method to bind fields to an items object
*
* @access private
* @return object
* @since 1.5
*/
static function &getFields(&$_items, $view = FLEXI_ITEMVIEW, $params = null, $aid = false, $use_tmpl = true)
{
static $expired_cleaned = false;
if (!$_items) {
return $_items;
}
if (!is_array($_items)) {
$items = array(&$_items);
} else {
$items =& $_items;
}
$user = JFactory::getUser();
$cparams = JComponentHelper::getParams('com_flexicontent');
$print_logging_info = $cparams->get('print_logging_info');
if ($print_logging_info) {
global $fc_run_times;
$start_microtime = microtime(true);
}
// Calculate access for current user if it was not given or if given access is invalid
if (FLEXI_J16GE) {
$aid = is_array($aid) ? $aid : JAccess::getAuthorisedViewLevels($user->id);
} else {
$aid = $aid !== false ? (int) $aid : (int) $user->get('aid');
}
// Apply cache to public (unlogged) users only
/*$apply_cache = !$user->id && FLEXI_CACHE;
if ($apply_cache) {
$itemcache = JFactory::getCache('com_flexicontent_items'); // Get Joomla Cache of '...items' Caching Group
$itemcache->setCaching(1); // Force cache ON
$itemcache->setLifeTime(FLEXI_CACHE_TIME); // Set expire time (default is 1 hour)
$filtercache = JFactory::getCache('com_flexicontent_filters'); // Get Joomla Cache of '...filters' Caching Group
$filtercache->setCaching(1); // Force cache ON
$filtercache->setLifeTime(FLEXI_CACHE_TIME); // Set expire time (default is 1 hour)
// Auto-clean expired item & filters cache, only done here once
if (FLEXI_GC && !$expired_cleaned) {
$itemcache->gc();
$filtercache->gc();
$expired_cleaned = true;
}
// ... now retrieved CACHED ... code removed ...
}*/
// @TODO : move to the constructor
// This is optimized regarding the use of SINGLE QUERY to retrieve the core item data
$vars['tags'] = FlexicontentFields::_getTags($items);
$vars['cats'] = FlexicontentFields::_getCategories($items);
$vars['favourites'] = FlexicontentFields::_getFavourites($items);
$vars['favoured'] = FlexicontentFields::_getFavoured($items);
$vars['authors'] = FlexicontentFields::_getAuthors($items);
$vars['modifiers'] = FlexicontentFields::_getModifiers($items);
$vars['typenames'] = FlexicontentFields::_getTypenames($items);
$vars['votes'] = FlexicontentFields::_getVotes($items);
$vars['custom'] = FlexicontentFields::_getCustomValues($items);
FlexicontentFields::getItemFields($items, $vars, $view, $aid);
if ($print_logging_info) {
@($fc_run_times['field_values_params'] += round(1000000 * 10 * (microtime(true) - $start_microtime)) / 10);
}
$_rendered = array();
if ($params) {
$always_create_fields_display = $cparams->get('always_create_fields_display', 0);
$flexiview = JRequest::getVar('view');
// CHECK if 'always_create_fields_display' enabled and create the display for all item's fields
// *** This should be normally set to ZERO (never), to avoid a serious performance penalty !!!
// 0: never, 1: always, 2: only in item view, 3: never unless in a template position, this effects function: renderPositions()
if ($always_create_fields_display == 1 || $always_create_fields_display == 2 && $flexiview == FLEXI_ITEMVIEW && $view == FLEXI_ITEMVIEW) {
$field_names = array();
foreach ($items as $i => $item) {
if ($items[$i]->fields) {
foreach ($items[$i]->fields as $field) {
$values = isset($items[$i]->fieldvalues[$field->id]) ? $items[$i]->fieldvalues[$field->id] : array();
$field = FlexicontentFields::renderField($items[$i], $field, $values, $method = 'display', $view);
$field_names[$field->name] = 1;
}
}
}
foreach ($field_names as $field_name => $_ignore) {
$_rendered['ALL'][$field_name] = 1;
}
}
// Render field positions
$items = FlexicontentFields::renderPositions($items, $view, $params, $use_tmpl, $_rendered);
}
return $items;
}