mirror of
https://github.com/e107inc/e107.git
synced 2025-09-01 02:21:58 +02:00
News Grid Upgrades (TBD)
This commit is contained in:
@@ -15,8 +15,9 @@ if (!defined('e107_INIT')) { exit; }
|
||||
* @param string $parm['source'] latest (latest news items) | sticky (news items) | template (assigned to news-grid layout)
|
||||
* @param integer $parm['order'] n.news_datestamp DESC
|
||||
* @param integer $parm['limit'] 10
|
||||
* @param string $parm['template'] default | or any key as defined in news_grid_template.php
|
||||
*
|
||||
* @example hard-coded {MENU: path=news/news_grid&limit=6&source=latest}
|
||||
* @example hard-coded {MENU: path=news/news_grid&limit=6&source=latest&featured=2&template=other}
|
||||
* @example admin assigned - Add via Media-Manager and then configure.
|
||||
*/
|
||||
$cacheString = 'nq_news_grid_menu_'.md5(serialize($parm));
|
||||
@@ -43,14 +44,29 @@ if(false === $cached)
|
||||
$parms['caption'] = $parms['caption'][e_LANGUAGE];
|
||||
}
|
||||
|
||||
if(defset($parms['caption']))
|
||||
if(!empty($parms['caption']) && defined($parms['caption']))
|
||||
{
|
||||
$parms['caption'] = constant($parms['caption']);
|
||||
}
|
||||
|
||||
|
||||
$ntree = e107::getObject('e_news_tree', null, e_HANDLER.'news_class.php');
|
||||
$template = e107::getTemplate('news', 'news_menu', 'grid');
|
||||
$ntree = e107::getObject('e_news_tree');
|
||||
|
||||
if($legacyTemplate = e107::getTemplate('news', 'news_menu', 'grid')) // BC
|
||||
{
|
||||
$template = $legacyTemplate;
|
||||
$parms['tmpl'] = 'news_menu';
|
||||
$parms['tmpl_key'] = 'grid';
|
||||
}
|
||||
else // New in v2.1.5
|
||||
{
|
||||
$tmpl = !empty($parms['template']) ? $parms['template'] : 'default';
|
||||
$template = e107::getTemplate('news', 'news_grid', $tmpl);
|
||||
$parms['tmpl'] = 'news_grid';
|
||||
$parms['tmpl_key'] = $tmpl;
|
||||
|
||||
}
|
||||
|
||||
$gridSize = vartrue($parms['layout'],'col-md-4');
|
||||
|
||||
$parmSrch = array(
|
||||
@@ -61,16 +77,15 @@ if(false === $cached)
|
||||
|
||||
$parmReplace = array(
|
||||
$gridSize,
|
||||
vartrue($parms['titleLimit'],0),
|
||||
vartrue($parms['summaryLimit'],0)
|
||||
vartrue($parms['titleLimit'], 0),
|
||||
vartrue($parms['summaryLimit'], 0)
|
||||
);
|
||||
|
||||
$template = str_replace($parmSrch , $parmReplace, $template);
|
||||
|
||||
$render = (empty($parms['caption'])) ? false: true;
|
||||
|
||||
$parms['tmpl'] = 'news_menu';
|
||||
$parms['tmpl_key'] = 'grid';
|
||||
|
||||
|
||||
if(empty($parms['count']))
|
||||
{
|
||||
@@ -81,14 +96,22 @@ if(false === $cached)
|
||||
|
||||
|
||||
$treeparm = array();
|
||||
if(vartrue($parms['count'])) $treeparm['db_limit'] = '0, '.intval($parms['count']);
|
||||
|
||||
if(!empty($parms['count']))
|
||||
{
|
||||
$treeparm['db_limit'] = '0, '.intval($parms['count']);
|
||||
}
|
||||
|
||||
if(!empty($parms['limit']))
|
||||
{
|
||||
$treeparm['db_limit'] = '0, '.intval($parms['limit']);
|
||||
}
|
||||
|
||||
if(vartrue($parms['order'])) $treeparm['db_order'] = e107::getParser()->toDb($parms['order']);
|
||||
if(!empty($parms['order']))
|
||||
{
|
||||
$treeparm['db_order'] = e107::getParser()->toDb($parms['order']);
|
||||
}
|
||||
|
||||
$parms['return'] = true;
|
||||
|
||||
if(varset($parms['source']) == 'template')
|
||||
@@ -102,6 +125,7 @@ if(false === $cached)
|
||||
}
|
||||
|
||||
$cached = $ntree->loadJoinActive(vartrue($parms['category'], 0), false, $treeparm)->render($template, $parms, $render);
|
||||
|
||||
e107::getCache()->set($cacheString, $cached);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user