本文整理汇总了PHP中theme::getCurrentLayoutOrPartial方法的典型用法代码示例。如果您正苦于以下问题:PHP theme::getCurrentLayoutOrPartial方法的具体用法?PHP theme::getCurrentLayoutOrPartial怎么用?PHP theme::getCurrentLayoutOrPartial使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类theme
的用法示例。
在下文中一共展示了theme::getCurrentLayoutOrPartial方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: compile_widgets
function compile_widgets($tag_args, &$smarty)
{
if ($tag_args['id']) {
$id = ',' . $tag_args['id'];
}
$current_file = theme::getCurrentLayoutOrPartial();
$current_file = substr($current_file, strpos($current_file, ':') + 1);
if ($tag_args['id']) {
return '$s=' . var_export($current_file, 1) . ';
$i = intval($__wgbar[$s]++);
echo \'<div class="shopWidgets_panel" base_file="\'.$s.\'" base_slot="\'.$i.\'" base_id=' . $tag_args['id'] . ' widgets_theme="">\';
kernel::single(\'site_theme_widget\')->admin_load($s,$i' . $id . ');echo \'</div>\';';
} else {
return '$s=' . var_export($current_file, 1) . ';
$i = intval($__wgbar[$s]++);
echo \'<div class="shopWidgets_panel" base_file="\'.$s.\'" base_slot="\'.$i.\'" base_id="" widgets_theme="">\';
kernel::single(\'site_theme_widget\')->admin_load($s,$i' . $id . ');echo \'</div>\';';
}
}
示例2: compile_widgets
function compile_widgets($attrs, &$compiler)
{
$current_file = theme::getCurrentLayoutOrPartial();
$current_file = substr($current_file, strpos($current_file, ':') + 1);
$slot = intval(static::$_wgbar[$current_file]++);
$allWidgetsGroup = static::$_cache[$current_file];
if (!isset($allWidgetsGroup)) {
// preview模式, 并且SESSION中存在数据
if (theme::isPreview() && $_SESSION['WIDGET_TMP_DATA'][$current_file] && is_array($_SESSION['WIDGET_TMP_DATA'][$current_file])) {
$widgets = (array) $_SESSION['WIDGET_TMP_DATA'][$current_file];
} else {
$qb = app::get('site')->database()->createQueryBuilder();
$qb->select('*')->from('site_widgets_instance')->where('core_file=' . $qb->createPositionalParameter($current_file))->orderBy('widgets_order', 'asc');
$widgets = app::get('site')->model('widgets_instance')->tidy_data($qb->execute()->fetchAll());
}
foreach ($widgets as $key => $widget) {
if ($widget['core_id']) {
$allWidgetsGroup['id'][$widget['core_id']][] = $widgets[$key];
} else {
$allWidgetsGroup['slot'][$widget['core_slot']][] = $widgets[$key];
}
}
static::$_cache[$current_file] = $allWidgetsGroup;
}
if (isset($attrs['id'])) {
$attrs['id'] = trim($attrs['id'], '\'"');
$widgets_group = $allWidgetsGroup['id'][$attrs['id']];
} else {
$widgets_group = $allWidgetsGroup['slot'][$slot];
}
/*--------------------- 获取全部widgets ------------------------------*/
if (is_array($widgets_group)) {
$return = sprintf('$__THEME_URL = \'%s\';', kernel::get_themes_host_url() . '/' . theme::getThemeName());
$return .= 'unset($this->_vars);';
foreach ($widgets_group as $widget) {
$return .= $this->__site_parse_widget_instance($widget, $compiler);
}
return $return . '$__widgets_setting=null;$__THEME_URL=null;$__widgets_id=null;$__widgets_data=null;';
} else {
return '';
}
}