本文整理汇总了PHP中Parse::built_cell_html方法的典型用法代码示例。如果您正苦于以下问题:PHP Parse::built_cell_html方法的具体用法?PHP Parse::built_cell_html怎么用?PHP Parse::built_cell_html使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Parse
的用法示例。
在下文中一共展示了Parse::built_cell_html方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: cellProcess
/**
* 处理单元、生成单元的html
*
* @param array $info 单元详细信息
* @param boolean $force 是否强制生成单元缓存
* @param array $arData 数据、有此参数时用该数据生成单元hmtl 用于单元预览
* @param array 处理过后的单元详细信息
*/
public function cellProcess($info, $force = false, $arData = array())
{
if (!$info['cell_mode']) {
//return array();
}
/**********专题栏目链接处理***************************/
if (strpos($info['more_href'], 'COLURL') !== false) {
$intColumnId = intval(str_replace('COLURL', '', $info['more_href']));
if (!class_exists('special')) {
include ROOT_PATH . 'lib/class/special.class.php';
}
$objSpecial = new special();
$info['more_href'] = $objSpecial->get_special_col_url($intColumnId);
}
/**********专题栏目链接处理***************************/
$mode_info = common::get_mode_info(intval($info['cell_mode']), $info['id'], intval($info['css_id']), intval($info['js_id']), $info['param_asso']);
$blBuiltCell = $this->blBuiltCell && $this->blBuiltCell !== 'false' ? 1 : 0;
if ($info['cell_type'] == 3 && $blBuiltCell) {
$html = $info['static_html'];
} else {
$content = $mode_info['mode_info']['content'];
$content = str_replace(' ', ' ', $content);
$ret_data = array();
if (!$info['data_source']) {
$map = common::get_mode_map($mode_info);
if ($blBuiltCell) {
$ret_data = !empty($arData) ? $arData : $mode_info['mode_info']['default_param'];
}
$ret_data = $info['using_block'] ? common::getBlockData($info['block_id']) : $ret_data;
} else {
$data_source = common::get_datasource_info($info['data_source'], $info['param_asso']);
if ($info['using_block'] && $blBuiltCell) {
$ret_data = !empty($arData) ? $arData : common::getBlockData($info['block_id']);
} else {
$map = common::get_cell_map($mode_info, $data_source, $info['param_asso']);
if ($blBuiltCell) {
$ret_data = common::get_content_by_datasource($info['data_source'], $map['data_input_variable']);
if (isset($ret_data['total'])) {
$intTotal = $ret_data['total'];
$ret_data = $ret_data['data'];
}
if (!$info['layout_id']) {
//替换已经编辑过的单元数据
if (!class_exists('cell')) {
include CUR_CONF_PATH . 'lib/cell.class.php';
}
$objCell = new cell();
$arCellData = $objCell->getCellData($info['id']);
if (is_array($ret_data) && count($ret_data) > 0) {
foreach ($ret_data as $k => $v) {
!empty($arCellData[$v['id']]) && ($arCellData[$v['id']]['id'] = $arCellData[$v['id']]['content_id']);
$ret_data[$k] = !empty($arCellData[$v['id']]) ? $arCellData[$v['id']] : $v;
if (!empty($arData)) {
if ($v['id'] == $arData['content_id']) {
//arData 预览提交的数据
$arData['id'] = $arData['content_id'];
$ret_data[$k] = $arData;
}
}
}
}
}
if (isset($intTotal)) {
$ret_data = array('total' => $intTotal, 'data' => $ret_data);
}
}
}
}
$cache_file = $info['layout_id'] ? $info['id'] . '_' . $info['layout_id'] . '.php' : $info['id'] . '.php';
$cache_filepath = MODE_CACHE_DIR . substr(md5($cache_file), 0, 2) . '/';
include_once CUR_CONF_PATH . 'lib/parse.class.php';
$parse = new Parse();
$parse->parse_template(stripcslashes($content), $info['id'], $mode_info['mode_info'], $map['relation_map'], $map['mode_variable_map'], $map['variable_function_relation']);
if ($blBuiltCell) {
if (MAGIC_DEBUG) {
$path = CUR_CONF_PATH . 'cache/log/data/';
hg_mkdir($path);
hg_file_write($path . $info['id'] . '.txt', var_export($map['data_input_variable'], 1) . var_export($ret_data, 1));
}
$html = $parse->built_cell_html($ret_data, $cache_file, $mode_info['mode_info'], $this->arNeedPageInfo, $this->arPageSiteInfo, $this->arPageColumnInfo, $this->arPageClientInfo, $this->arPageSpecialInfo, $this->arPageSpecialColumnInfo, $map['data_input_variable'], $force, $cache_filepath);
if ($info['is_header']) {
$find = array('{$header_text}', '{$more_href}', '{$more_text}');
$replace = array($info['header_text'], $info['is_more'] ? $info['more_href'] : '#', $info['is_more'] ? '更多>>' : '');
$header = str_replace($find, $replace, $this->settings['header_dom']['cell']);
$html = $header . $html;
}
// if (empty($ret_data)) {
// $html = '<span>暂无数据</span>' . $html;
// }
} else {
$parse->built_mode_cache($cache_file, $cache_filepath);
}
//.........这里部分代码省略.........
示例2: update
function update()
{
$cell_id = intval($this->input['id']);
$using_block = intval($this->input['using_block']);
$data = array('site_id' => intval($this->input['site_id']), 'page_id' => intval($this->input['page_id']), 'page_data_id' => intval($this->input['page_data_id']), 'content_type' => $this->input['content_type'], 'cell_type' => intval($this->input['cell_type']), 'cell_code' => htmlspecialchars_decode($this->input['cell_code']), 'cell_mode' => $this->input['cell_mode'], 'using_block' => $using_block);
if ($using_block) {
$data['block_id'] = intval($this->input['block_id']);
} else {
$data['data_source'] = $this->input['data_source'];
}
if ($this->input['input_param']) {
$param['input_param'] = $this->input['input_param'];
}
if ($this->input['mode_param']) {
$param['mode_param'] = $this->input['mode_param'];
}
if ($this->input['assoc_param']) {
$param['assoc_param'] = $this->input['assoc_param'];
}
$data['param_asso'] = '';
if ($param) {
$data['param_asso'] = serialize($param);
}
$condition = " AND site_id = " . $data['site_id'] . " AND page_id = " . $data['page_id'] . " AND page_data_id = " . $data['page_data_id'] . " AND content_type = " . $data['content_type'] . " AND cell_name='" . $this->input['title'] . "' AND original_id != 0 AND del=0";
$info = $this->obj->detail($condition);
if ($info) {
$data['update_time'] = TIMENOW;
$this->obj->update($data, $info['id']);
} else {
$data['original_id'] = $cell_id;
//原单元id
$data['cell_name'] = $this->input['title'];
$data['template_style'] = $this->input['template_style'];
$data['sort_id'] = intval($this->input['sort_id']);
$data['template_id'] = intval($this->input['template_id']);
$data['template_sign'] = $this->input['template_sign'];
$data['user_id'] = $this->user['user_id'];
$data['user_name'] = $this->user['user_name'];
$data['appid'] = $this->user['appid'];
$data['appname'] = $this->user['display_name'];
$data['create_time'] = TIMENOW;
$data['update_time'] = TIMENOW;
$cell_id = $this->obj->create($data);
}
$cell_mode = common::get_mode_info($data['cell_mode']);
$data_source = common::get_datasource_info($data['data_source']);
$map = $this->obj->get_cell_map($cell_mode, $data_source, $param);
$datafile = $this->settings['data_source_dir'] . $data['data_source'] . '.php';
include_once $datafile;
$classname = "ds_" . $data['data_source'];
$obj = new $classname();
$ret = $obj->show('');
$cache_file = $cell_id . '_' . $data['data_source'] . '_' . $data['cell_mode'] . '.php';
include_once CUR_CONF_PATH . 'lib/parse.class.php';
$parse = new Parse();
$content = html_entity_decode($cell_mode['mode_info']['content']);
$parse->parse_template($content, $map['relation_map'], $map['mode_variable_map']);
$html = $parse->built_cell_html($ret, $cache_file);
$this->addItem($html);
$this->output();
}