AH移动优先发布

hotfix/paypal-note
ycc 4 years ago
parent ee36ab6499
commit a2e84142b7

@ -726,6 +726,7 @@ $config['cache']['vac']['cache_path'] = 'C:\VHD\Dropbox\wwwcache\viaje-a-china.c
$config['cache']['ru']['cache_path'] = 'C:\VHD\Dropbox\wwwcache\chinahighlights.ru';
$config['cache']['it']['cache_path'] = 'C:\VHD\Dropbox\wwwcache\viaggio-in-cina.it';
$config['cache']['ch']['cache_path'] = 'D:\wwwcache\chinahighlights.com';
$config['cache']['ah']['cache_path'] = 'D:\wwwcache\asiahighlights.com';
$config['cache']['chinatravel']['cache_path'] = 'D:\wwwcache\mobile-first\chinatravel.com';
//静态文件更新接口

@ -139,35 +139,6 @@ class Information extends CI_Controller
}
}
//移动优先的编辑
public function edit_mobile($is_id)
{
//查询结构信息
$Structure = $this->InfoStructures_model->Detail($is_id);
if ($Structure == FALSE) {
show_404();
}
//查询结构根节点
$rootStructure = $this->InfoStructures_model->GetParent($Structure->is_path, 1);
//没有根节点就从它本身开始查询
if ($rootStructure == false) {
$rootStructure_ID = $Structure->is_id;
} else {
$rootStructure_ID = $rootStructure->is_id;
}
//查询结构列表信息
$data['informationList'] = $this->Information_model->StructureList($rootStructure_ID);
//信息内容
$data['information'] = $this->Information_model->Detail($is_id);
$this->load->view('bootstrap3/header', $data);
$this->load->view('mobile_first/editor');
$this->load->view('bootstrap3/footer');
}
public function edit($is_id)
{
@ -329,16 +300,12 @@ class Information extends CI_Controller
//获取移动优先的模板,如果有的话
//增加判断站点,每个站点需要读取的模板不一样。 20210311 zp
if ($this->config->item('site_code')=="ch"){
if (is_mobile_first()) {
$mobile_first_template_path = 'mobile_first/' . $this->config->item('site_code');
if (is_file(APPPATH . 'views/' . $mobile_first_template_path . EXT)) {
$mobile_template_H1 = $this->call_mobile_template_H1($mobile_first_template_path, $data['information']->is_path, $data['information']->ic_author, $data['information']->ic_title, $data['information']->ic_photo);//H1模板替换
$data['mobile_first_template'] = $this->load->view($mobile_first_template_path, '', TRUE);
if (empty(get_meta($data['information']->ic_id, 'meta_product_code'))) {
$data['mobile_first_template'] = str_replace('<!--@HEAD_1@-->', $mobile_template_H1, $data['mobile_first_template']);
}
//主样式表,内联模式
$main_css_string=compress_css(GET_HTTP('https://proxy-data.chinahighlights.com/css/mobile-first.css'));
$main_css_string = compress_css(GET_HTTP('https://proxy-data.chinahighlights.com/css/mobile-first.css'));
$data['mobile_first_template'] = str_replace('<!--@MAIN-CSS@-->', '<style type="text/css">' . $main_css_string . '</style>', $data['mobile_first_template']);
//查找是否有静态文件
if ($this->html_file_helper('find', $data['information']->ic_url)) {
@ -350,7 +317,7 @@ class Information extends CI_Controller
}
//CT判断是否生成静态文件
if ($this->config->item("site_code")=="chinatravel"){
if ($this->config->item("site_code") == "chinatravel") {
//查找是否有静态文件
if ($this->html_file_helper('find', $data['information']->ic_url)) {
$data['has_html_file'] = true;
@ -363,75 +330,6 @@ class Information extends CI_Controller
$this->load->view('bootstrap3/footer');
}
/**
* public function redirect($jumpUrl){
*
* header('HTTP/1.1 301 Moved Permanently');
*
* header($jumpUrl);// 301 跳转到设置的 url
*
* exit();
*
* } */
public function test_proxy($url = false)
{
$curl = curl_init();
//curl_setopt($curl,CURLOPT_URL, "http://graph.facebook.com/?id=http://www.chinahighlights.com");
//curl_setopt($curl,CURLOPT_URL, 'http://graph.facebook.com/?id=http://www.mybeijingchina.com/beijing-attractions/beihai-park/');
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($curl, CURLOPT_PROXY, "120.24.227.23:33333");
$request = curl_exec($curl);
curl_close($curl);
return $request;
//echo $request;
}
// 分享数 lzq
public function statistical_sharing()
{
//$info_ic = $this->Information_model->get_ic_url_by_code('mbj');
$info_ic = $this->Information_model->get_ic_url();
$ic_id = $info_ic->ic_id;
$ic_url = $info_ic->ic_url;
$ic_sitecode = $info_ic->ic_sitecode;
$site = $this->config->item('site');
if (!empty($ic_url)) {
$result = $this->Information_model->update_ic_date_by_code($ic_id);
//var_dump($site['mbj']['site_url']);
//$wz_url = 'http://graph.facebook.com/?id='.$site['mbj']['site_url'].$ic_url;
$complete_url = 'http://graph.facebook.com/?id=' . $site[$ic_sitecode]['site_url'] . $ic_url;
//echo $wz_url;
$api_return = $this->test_proxy($complete_url);
$api_return = json_decode($api_return);
if (empty($api_return->shares)) {
var_dump($api_return);
$shares = 0;
} else {
var_dump($api_return);
$shares = $api_return->shares;
}
//echo $asd->shares;
$result2 = $this->Information_model->insert_url_to_csi($info_ic->ic_url, $ic_id, $info_ic->ic_sitecode, $shares);
}
//$sstt = $this->config->item('site');
//foreach($infolist as $k=>$v){
// $aabb[] = $v->ic_sitecode;
//}
//$url_count = $this->Information_model->get_count_by_code('mbj');
//$surl = site_url('/information/fengxiangshu');
//redirect($surl,'refresh',301);
$this->load->view('bootstrap3/header');
$this->load->view('bootstrap3/statistical_sharing');
}
public function edit_save()
{
@ -510,12 +408,18 @@ class Information extends CI_Controller
$information_new = $this->Information_model->Detail($this->input->post('is_id'));
$this->make_www_cache('mobile', $information_new);
$this->make_www_cache('pc', $information_new);
}else if (strcasecmp($site_code, "chinatravel") == 0 && !empty($auto_update_cache)){
} else if (strcasecmp($site_code, "ah") == 0 && !empty($auto_update_cache)) {
//读取模板生成PC和移动优先文件
$information_new = $this->Information_model->Detail($this->input->post('is_id'));
$this->make_www_cache_ah('mobile', $information_new);
$this->make_www_cache_ah('pc', $information_new);
} else if (strcasecmp($site_code, "chinatravel") == 0 && !empty($auto_update_cache)) {
//chinatravel读取模板生成PC和移动优先文件
$information_new = $this->Information_model->Detail($this->input->post('is_id'));
$this->make_www_cache_ct('mobile', $information_new);
$this->make_www_cache_ct('pc', $information_new);
} else if (strcasecmp($site_code, "cht") == 0 && !empty($auto_update_cache)) {
$update_info_log = $this->update_cache($ic_url);
} else if (strcasecmp($site_code, "ah") == 0 && !empty($auto_update_cache)) {
@ -596,10 +500,10 @@ class Information extends CI_Controller
}
if ($this->html_file_helper('find', $information->ic_url)) {
//用于批量更新,CH和chinatravel分开 20210317 zp
if ($this->config->item('site_code') == 'ch'){
if ($this->config->item('site_code') == 'ch') {
$this->make_www_cache('pc', $information);
$this->make_www_cache('mobile', $information);
}else if ($this->config->item('site_code') == 'chinatravel'){
} else if ($this->config->item('site_code') == 'chinatravel') {
$this->make_www_cache_ct('pc', $information);
$this->make_www_cache_ct('mobile', $information);
}
@ -687,27 +591,35 @@ class Information extends CI_Controller
$template = str_replace('<!--@CANONICAL@-->', $this->config->item('site_url') . $information->ic_url, $template);
//非产品页面
if (empty(get_meta($information->ic_id, 'meta_product_code'))) {
$template_H1 = $this->call_mobile_template_H1($template_path, $information->is_path, $information->ic_author, $information->ic_title, $information->ic_photo);//H1模板替换
//H1模板替换
$data_H1 = array();
$data_H1['infocategory'] = $this->Information_model->get_detail_by_path($information->is_path, 1);//信息所属分类,获取信息顶级节点内容
$data_H1['author'] = $this->Operator_model->get_author_nikename($information->ic_author);//获取作者信息
$data_H1['ic_title'] = $information->ic_title;
$data_H1['ic_photo'] = $information->ic_photo;
$template_H1 = $this->load->view($template_path . '-h1', $data_H1, TRUE);
$template = str_replace('<!--@HEAD_1@-->', $template_H1, $template);
//信息推荐
$template_NEXT = $this->call_mobile_template_NEXT($template_path, $information->is_id);
$template = str_replace('<!--@ARTICLENEXT@-->', $template_NEXT, $template);
$addthis_widget=$this->load->view($template_path.'-add-this', false,true);
$addthis_widget = $this->load->view($template_path . '-add-this', false, true);
$template = str_replace('<!--@ADDTHIS-WIDGET@-->', $addthis_widget, $template);
} else {
$template = str_replace('<!--@PRODUCT-JS@-->', '<script src="https://data.chinahighlights.com/js/flatpickr.js"></script>', $template);
}
//顶部全屏大图
if($device=='mobile'){//移动端读取移动大图
if ($device == 'mobile') {//移动端读取移动大图
$meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture_mobile');
}else{
} else {
$meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture');
}
$meta_addon_picture_url = get_meta($information->ic_id, 'meta_addon_picture_url');
if (!empty($meta_addon_picture)) {
if(!empty($meta_addon_picture_url)){
$template = str_replace('<!--@TOP-BANNER@-->', '<div class="detailtopbanner"><a href="'.$meta_addon_picture_url.'"> <img class="img-responsive" alt="' . $information->ic_title . '" src="' . $meta_addon_picture . '"></a></div>', $template);
}else{
if (!empty($meta_addon_picture_url)) {
$template = str_replace('<!--@TOP-BANNER@-->', '<div class="detailtopbanner"><a href="' . $meta_addon_picture_url . '"> <img class="img-responsive" alt="' . $information->ic_title . '" src="' . $meta_addon_picture . '"></a></div>', $template);
} else {
$template = str_replace('<!--@TOP-BANNER@-->', '<div class="detailtopbanner"><img class="img-responsive" alt="' . $information->ic_title . '" src="' . $meta_addon_picture . '"></div>', $template);
}
}
@ -718,14 +630,115 @@ class Information extends CI_Controller
$template = str_replace('<!--@TOP-VIDEO@-->', '<div class="detailtopbanner"><video autoplay="" controls="controls" id="bgvid" poster="' . $meta_video_picture . '" src="' . $meta_news_video . '" style="position: inherit;"> </video></div>', $template);
}
//主样式表,内联模式
$main_css_string=compress_css(GET_HTTP('https://proxy-data.chinahighlights.com/css/mobile-first.css'));
$main_css_string = compress_css(GET_HTTP('https://proxy-data.chinahighlights.com/css/mobile-first.css'));
$template = str_replace('<!--@MAIN-CSS@-->', '<style type="text/css">' . $main_css_string . '</style>', $template);
//额外样式
$meta_addon_css = get_meta($information->ic_id, 'meta_addon_css');
if (!empty($meta_addon_css)) {
//引用方式 $template = str_replace('<!--@ADDON-CSS@-->', '<link href="' . $meta_addon_css . '" rel="stylesheet">', $template);
//内联方式
$meta_addon_css_string=compress_css(GET_HTTP($meta_addon_css));
$meta_addon_css_string = compress_css(GET_HTTP($meta_addon_css));
$template = str_replace('<!--@ADDON-CSS@-->', '<style type="text/css">' . $meta_addon_css_string . '</style>', $template);
}
//额外js
$meta_addon_js = get_meta($information->ic_id, 'meta_addon_js');
if (!empty($meta_addon_js)) {
$template = str_replace('<!--@ADDON-JS@-->', '<script src="' . $meta_addon_js . '"></script>', $template);
}
$template = str_replace('<!--@CUSTOM-CONENT@-->', $information->ic_content, $template);
//Google广告代码
//if (!empty(get_meta($information->ic_id, 'meta_google_ad_content'))) {
$template = str_replace('<!--@Match-Content-GOOGLE@-->', '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-4231674166786366" data-ad-slot="1447610161" data-matched-content-rows-num="2,2" data-matched-content-columns-num="1,3" data-matched-content-ui-type="image_stacked,image_stacked"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>', $template);
//}
if (!empty(get_meta($information->ic_id, 'meta_google_ad_article'))) {
$in_article_google = $this->load->view($template_path . '-google-ad', false, true);
$template = str_replace('<!--@IN-ARTICLE-GOOGLE@-->', $in_article_google, $template);
}
//社媒分享图片
if (!empty($information->ic_photo)) {
$full_ic_photo = $this->config->item('site_image_url') . $information->ic_photo;
$template = str_replace('<!--@OG:IMAGE@-->', '<meta property="og:image" content="' . $full_ic_photo . '"><meta property="og:image:secure_url" content="' . $full_ic_photo . '"><meta property="og:image:width" content="800"><meta property="og:image:height" content="450">', $template);
}
//设置图片尺寸
$template = $this->html_optimize_lib->set_image_size($template);
// /travelguide/chinese-zodiac/monthly-fortune-for-dog.htm
$html_path = $this->config->item('cache')[$this->config->item('site_code')]['cache_path'] . $information->ic_url;
$html_path = str_replace("\\", "/", $html_path);
if (substr($html_path, -1, 1) == '/') {
$html_path = $html_path . 'index.htm';
}
$html_path .= $html_path_ext;
create_folder_by_path(dirname($html_path));
file_put_contents($html_path, $template, LOCK_EX);
}
function make_www_cache_ah($device, $information)
{
$data = array();
$data['information']=$information;
switch ($device) {
case 'mobile':
//获取移动优先的模板,如果有的话
$template_path = 'mobile_first/' . $this->config->item('site_code');
if (is_file(APPPATH . 'views/' . $template_path . EXT)) {
$template = $this->load->view($template_path, '', TRUE);
$html_path_ext = '-mobile.htm';
} else {
return false;
}
break;
case 'pc':
//获取PC的模板如果有的话
$template_path = 'mobile_first/' . $this->config->item('site_code');
if (is_file(APPPATH . 'views/' . $template_path . '-pc' . EXT)) {
$template = $this->load->view($template_path . '-pc', '', TRUE);
$html_path_ext = '-pc.htm';
} else {
return false;
}
break;
default:
}
//替换模板中的标签
$template = str_replace('<!--@TITLE@-->', $information->ic_seo_title, $template);
$template = str_replace('<!--@DESCRIPTION@-->', $information->ic_seo_description, $template);
$template = str_replace('<!--@KEYWORDS@-->', $information->ic_seo_keywords, $template);
$template = str_replace('<!--@CANONICAL@-->', $this->config->item('site_url') . $information->ic_url, $template);
//顶部全屏大图
if ($device == 'mobile') {//移动端读取移动大图
$data['meta_addon_picture'] = get_meta($information->ic_id, 'meta_addon_picture_mobile');
} else {
$data['meta_addon_picture'] = get_meta($information->ic_id, 'meta_addon_picture');
}
$data['meta_addon_picture_url'] = get_meta($information->ic_id, 'meta_addon_picture_url');
$template_H1 = $this->load->view($template_path . '-h1', $data, TRUE);
$template = str_replace('<!--@HEAD_1@-->', $template_H1, $template);
//非产品页面
/*
if (empty(get_meta($information->ic_id, 'meta_product_code'))) {
//信息推荐 暂时不用,未来用广告系统替代
$template_NEXT = $this->call_mobile_template_NEXT($template_path, $information->is_id);
$template = str_replace('<!--@ARTICLENEXT@-->', $template_NEXT, $template);
$addthis_widget = $this->load->view($template_path . '-add-this', false, true);
$template = str_replace('<!--@ADDTHIS-WIDGET@-->', $addthis_widget, $template);
} else {
$template = str_replace('<!--@PRODUCT-JS@-->', '<script src="https://data.chinahighlights.com/js/flatpickr.js"></script>', $template);
}
*/
//主样式表,内联模式
$main_css_string = compress_css(GET_HTTP('https://proxy-data.asiahighlights.com/css/mobile-first.css'));
$template = str_replace('<!--@MAIN-CSS@-->', '<style type="text/css">' . $main_css_string . '</style>', $template);
//额外样式
$meta_addon_css = get_meta($information->ic_id, 'meta_addon_css');
if (!empty($meta_addon_css)) {
//内联方式
$meta_addon_css_string = compress_css(GET_HTTP($meta_addon_css));
$template = str_replace('<!--@ADDON-CSS@-->', '<style type="text/css">' . $meta_addon_css_string . '</style>', $template);
}
//额外js
@ -736,10 +749,10 @@ class Information extends CI_Controller
$template = str_replace('<!--@CUSTOM-CONENT@-->', $information->ic_content, $template);
//Google广告代码
//if (!empty(get_meta($information->ic_id, 'meta_google_ad_content'))) {
$template = str_replace('<!--@Match-Content-GOOGLE@-->', '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-4231674166786366" data-ad-slot="1447610161" data-matched-content-rows-num="2,2" data-matched-content-columns-num="1,3" data-matched-content-ui-type="image_stacked,image_stacked"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>', $template);
$template = str_replace('<!--@Match-Content-GOOGLE@-->', '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-4231674166786366" data-ad-slot="1447610161" data-matched-content-rows-num="2,2" data-matched-content-columns-num="1,3" data-matched-content-ui-type="image_stacked,image_stacked"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>', $template);
//}
if (!empty(get_meta($information->ic_id, 'meta_google_ad_article'))) {
$in_article_google=$this->load->view($template_path.'-google-ad', false,true);
$in_article_google = $this->load->view($template_path . '-google-ad', false, true);
$template = str_replace('<!--@IN-ARTICLE-GOOGLE@-->', $in_article_google, $template);
}
//社媒分享图片
@ -748,7 +761,7 @@ class Information extends CI_Controller
$template = str_replace('<!--@OG:IMAGE@-->', '<meta property="og:image" content="' . $full_ic_photo . '"><meta property="og:image:secure_url" content="' . $full_ic_photo . '"><meta property="og:image:width" content="800"><meta property="og:image:height" content="450">', $template);
}
//设置图片尺寸
$template=$this->html_optimize_lib->set_image_size($template);
$template = $this->html_optimize_lib->set_image_size($template);
// /travelguide/chinese-zodiac/monthly-fortune-for-dog.htm
$html_path = $this->config->item('cache')[$this->config->item('site_code')]['cache_path'] . $information->ic_url;
$html_path = str_replace("\\", "/", $html_path);
@ -763,24 +776,25 @@ class Information extends CI_Controller
/**
* @description: CT用的生成静态文件方法.有些内容的替换CT这边不一样需要单独处理 zp
* @param {type} $device='mobile' or 'pc'
* @return:
* @Date Changed:
* @return:
* @Date Changed:
*/
function make_www_cache_ct($device,$information){
function make_www_cache_ct($device, $information)
{
$data = array();
//先准备数据CT采用直接赋值视图然后返回视图字符串的模式不使用一次次替换视图模板内容的模式。
$data["TITLE"] = $information->ic_seo_title;
$data["DESCRIPTION"] = $information->ic_seo_description;
$data["KEYWORDS"] = $information->ic_seo_keywords;
$data["CANONICAL"] = $this->config->item('site_url') . $information->ic_url;
/* 详细内容 */
$ic_content = $information->ic_content;
// /**替换详细内容里面的价格
/* 直接使用fetch来动态获取价格这样不用替换标签直接录标签
// * // 一日游价格标签, "<!--@DayTripPrice:XASIC-41@-->" 或者<!--@DayTripPrice:XASIC-41,2@--> 逗号后面是人数
// * //精华线路标签"<!--@TourPrice:ct-1@-->"
// */
/* 直接使用fetch来动态获取价格这样不用替换标签直接录标签
// * // 一日游价格标签, "<!--@DayTripPrice:XASIC-41@-->" 或者<!--@DayTripPrice:XASIC-41,2@--> 逗号后面是人数
// * //精华线路标签"<!--@TourPrice:ct-1@-->"
// */
// $ic_content = preg_replace_callback('/<!--@DayTripPrice:(.*)@-->/i',function($match){
// //处理一日游每次配备
// $matchItem = $match[1];
@ -791,140 +805,136 @@ class Information extends CI_Controller
// $matchItem = $match[1];
// return '<span class="js_getTourPrice" data="'.$matchItem.'"></span>';;
// },$ic_content);
//$ic_content = '<div class="container-details details-content">'.$ic_content.'</div>'; //兼容拷贝过来的内容样式
$data["CUSTOMCONENT"]=$ic_content;
//$ic_content = '<div class="container-details details-content">'.$ic_content.'</div>'; //兼容拷贝过来的内容样式
$data["CUSTOMCONENT"] = $ic_content;
//非产品页面
$data["PRODUCTJS"]="";
if (empty(get_meta($information->ic_id, 'meta_product_code'))) {
//非产品页面
$data["PRODUCTJS"] = "";
if (empty(get_meta($information->ic_id, 'meta_product_code'))) {
} else {
// $data["PRODUCTJS"] = '<script src="https://data.chinatravel.com/js/mobile-first/flatpickr.js"></script>';
// $data["PRODUCTJS"] = '<script src="https://data.chinatravel.com/js/mobile-first/flatpickr.js"></script>';
}
//顶部全屏大图
$data["TOPBANNER"] ="";
$data["TOPBANNER"] = "";
$ImgText = ""; //图文字
$meta_addon_picture_url = get_meta($information->ic_id, 'meta_addon_picture_url');
if($device=='mobile'){//移动端读取移动大图
if ($device == 'mobile') {//移动端读取移动大图
$meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture_mobile');
$bannerImg = '<img class="img-responsive" alt="' . $information->ic_title . '" src="' . $meta_addon_picture . '">';
}else{
$bannerImg = '<img class="img-responsive" alt="' . $information->ic_title . '" src="' . $meta_addon_picture . '">';
} else {
$meta_addon_picture = get_meta($information->ic_id, 'meta_addon_picture');
$bannerImg = '<img class="img-responsive" alt="' . $information->ic_title . '" src="' . $meta_addon_picture . '">';
$meta_addon_picture_text = get_meta($information->ic_id,'meta_addon_picture_text');
if(!empty($meta_addon_picture_url)){
$ImgText = '<div class="carousel-caption"><p class="ads-title"><a href="'.$meta_addon_picture_url.'">'.$meta_addon_picture_text.'</a></p></div>';
}else{
$ImgText = '<div class="carousel-caption"><p class="ads-title">'.$meta_addon_picture_text.'</p></div>';
$meta_addon_picture_text = get_meta($information->ic_id, 'meta_addon_picture_text');
if (!empty($meta_addon_picture_url)) {
$ImgText = '<div class="carousel-caption"><p class="ads-title"><a href="' . $meta_addon_picture_url . '">' . $meta_addon_picture_text . '</a></p></div>';
} else {
$ImgText = '<div class="carousel-caption"><p class="ads-title">' . $meta_addon_picture_text . '</p></div>';
}
}
}
if (!empty($meta_addon_picture)) {
if(!empty($meta_addon_picture_url)){
$data["TOPBANNER"] = '<div class="banner"><a href="'.$meta_addon_picture_url.'">'.$bannerImg.' </a>'.$ImgText.'</div>';
}else{
$data["TOPBANNER"] = '<div class="banner">'.$bannerImg.$ImgText.'</div>';
if (!empty($meta_addon_picture_url)) {
$data["TOPBANNER"] = '<div class="banner"><a href="' . $meta_addon_picture_url . '">' . $bannerImg . ' </a>' . $ImgText . '</div>';
} else {
$data["TOPBANNER"] = '<div class="banner">' . $bannerImg . $ImgText . '</div>';
}
}
//顶部视频
$data["TOPVIDEO"]="";
//顶部视频
$data["TOPVIDEO"] = "";
$meta_news_video = get_meta($information->ic_id, 'meta_news_video');
$meta_video_picture = get_meta($information->ic_id, 'meta_video_picture');
if (!empty($meta_news_video) && !empty($meta_video_picture)) {
$data["TOPVIDEO"]='<div class="banner"><video autoplay="" controls="controls" id="bgvid" poster="' . $meta_video_picture . '" src="' . $meta_news_video . '" style="position: inherit;"> </video></div>';
$data["TOPVIDEO"] = '<div class="banner"><video autoplay="" controls="controls" id="bgvid" poster="' . $meta_video_picture . '" src="' . $meta_news_video . '" style="position: inherit;"> </video></div>';
}
//主样式表,内联模式
//$apiweb="http://202.103.68.104"; //本地测试
$apiweb="https://data.chinatravel.com";
if ($device=="mobile"){
$cssUrl = $apiweb."/css/newcss3/base.css";
}else{
$cssUrl=$apiweb."/css/newcss3/base.css";
}
$main_css_string=compress_css(GET_HTTP($cssUrl));
$data["MAINCSS"] = '<style type="text/css">' . $main_css_string . '</style>';
$apiweb = "https://data.chinatravel.com";
if ($device == "mobile") {
$cssUrl = $apiweb . "/css/newcss3/base.css";
} else {
$cssUrl = $apiweb . "/css/newcss3/base.css";
}
$main_css_string = compress_css(GET_HTTP($cssUrl));
$data["MAINCSS"] = '<style type="text/css">' . $main_css_string . '</style>';
//额外样式
$data["ADDONCSS"]="";
$meta_addon_css = get_meta($information->ic_id, 'meta_addon_css');
if (!empty($meta_addon_css)) {
//引用方式
//$data["ADDONCSS"]= '<link href="' . $meta_addon_css . '" rel="stylesheet" />';
//内联方式
$meta_addon_css_string=compress_css(GET_HTTP($meta_addon_css));
$data["ADDONCSS"]='<style type="text/css">' . $meta_addon_css_string . '</style>';
$data["ADDONCSS"] = "";
$meta_addon_css = get_meta($information->ic_id, 'meta_addon_css');
if (!empty($meta_addon_css)) {
//引用方式
//$data["ADDONCSS"]= '<link href="' . $meta_addon_css . '" rel="stylesheet" />';
//内联方式
$meta_addon_css_string = compress_css(GET_HTTP($meta_addon_css));
$data["ADDONCSS"] = '<style type="text/css">' . $meta_addon_css_string . '</style>';
}
}
//总JS为了方便以后js好维护必须的把一些公用的JS统计到一个文件。但是又不是所有页面都需要调用这个基础js所以必须在这里进行判断
$addBaseJs = false;
$addonJs = "";
$meta_ct_page_price = get_meta($information->ic_id, 'meta_ct_page_price'); //是否包含价格
$meta_ct_page_type = get_meta($information->ic_id, 'meta_ct_page_type'); //页面类型
if ($meta_ct_page_price=="yes"){
$addBaseJs=true;
}else if ($meta_ct_page_type!==false && $meta_ct_page_type!=""){
$addBaseJs=true;
if ($meta_ct_page_price == "yes") {
$addBaseJs = true;
} else if ($meta_ct_page_type !== false && $meta_ct_page_type != "") {
$addBaseJs = true;
}
if ($addBaseJs){
$addonJs='<script src="/js/mobile-first/base.js"></script>';
if ($addBaseJs) {
$addonJs = '<script src="/js/mobile-first/base.js"></script>';
}
/// ----- 总JS判断完成-----
//额外js
$data["ADDONJS"]="";
$data["ADDONJS"] = "";
$meta_addon_js = get_meta($information->ic_id, 'meta_addon_js');
if (!empty($meta_addon_js)) {
$addonJs .='<script src="' . $meta_addon_js . '"></script>';
$addonJs .= '<script src="' . $meta_addon_js . '"></script>';
}
//价格js
if ($meta_ct_page_price=="yes"){
if ($meta_ct_page_price == "yes") {
$addonJs .= '<script src="/js/mobile-first/getprice.js"></script>';
}
//列表js
if ($meta_ct_page_type=="daytripindex" || $meta_ct_page_type=="tourindex"){
if ($meta_ct_page_type == "daytripindex" || $meta_ct_page_type == "tourindex") {
$addonJs .= '<script src="/js/mobile-first/getlist.js"></script>';
}
$data["ADDONJS"]=$addonJs;
$data["ADDONJS"] = $addonJs;
//社媒分享图片
$data["OGIMAGE"]="";
$data["OGIMAGE"] = "";
if (!empty($information->ic_photo)) {
$full_ic_photo = $this->config->item('site_image_url') . $information->ic_photo;
$data["OGIMAGE"]= '<meta property="og:image" content="' . $full_ic_photo . '"><meta property="og:image:secure_url" content="' . $full_ic_photo . '"><meta property="og:image:width" content="800"><meta property="og:image:height" content="450">';
$data["OGIMAGE"] = '<meta property="og:image" content="' . $full_ic_photo . '"><meta property="og:image:secure_url" content="' . $full_ic_photo . '"><meta property="og:image:width" content="800"><meta property="og:image:height" content="450">';
}
//结构化标签
$data["ConstructionCode"]="";
$meta_construction_code = get_meta($information->ic_id,'meta_construction_code');
if (!empty($meta_construction_code)){
$data["ConstructionCode"]=$meta_construction_code;
$data["ConstructionCode"] = "";
$meta_construction_code = get_meta($information->ic_id, 'meta_construction_code');
if (!empty($meta_construction_code)) {
$data["ConstructionCode"] = $meta_construction_code;
}
//页面传递参数
$passParam = "";
if ($meta_ct_page_type=="daytripindex" || $meta_ct_page_type=="tourindex"){
if ($meta_ct_page_type == "daytripindex" || $meta_ct_page_type == "tourindex") {
//产品首页
$meta_ct_page_value = get_meta($information->ic_id,'meta_ct_page_value');
$passParam .= '<input type="hidden" name="param_city" id="param_city" value="'.$meta_ct_page_value.'"/>';
$meta_ct_page_value = get_meta($information->ic_id, 'meta_ct_page_value');
$passParam .= '<input type="hidden" name="param_city" id="param_city" value="' . $meta_ct_page_value . '"/>';
//加信息平台的is_id
$passParam .= '<input type="hidden" name="param_parentId" id="param_parentId" value="'.$information->is_id.'"/>';
$passParam .= '<input type="hidden" name="param_parentId" id="param_parentId" value="' . $information->is_id . '"/>';
}
$data["passParam"] = $passParam;
//两种模板
switch ($device) {
case 'mobile':
@ -950,7 +960,7 @@ class Information extends CI_Controller
default:
}
//生成静态文件
$html_path = $this->config->item('cache')[$this->config->item('site_code')]['cache_path'] . $information->ic_url;
$html_path = str_replace("\\", "/", $html_path);
@ -960,11 +970,8 @@ class Information extends CI_Controller
$html_path .= $html_path_ext;
create_folder_by_path(dirname($html_path));
file_put_contents($html_path, $template, LOCK_EX);
// //Google广告代码
// if (!empty(get_meta($information->ic_id, 'meta_google_ad_content'))) {
// $template = str_replace('<!--@Match-Content-GOOGLE@-->', '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-4231674166786366" data-ad-slot="1447610161"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>', $template);
@ -973,7 +980,7 @@ class Information extends CI_Controller
// $in_article_google=$this->load->view($template_path.'-google-ad', false,true);
// $template = str_replace('<!--@IN-ARTICLE-GOOGLE@-->', $in_article_google, $template);
// }
// //设置图片尺寸
// //$template=$this->html_optimize_lib->set_image_size($template);
// // /travelguide/chinese-zodiac/monthly-fortune-for-dog.htm
@ -981,15 +988,6 @@ class Information extends CI_Controller
}
function call_mobile_template_H1($mobile_first_template_path, $is_path, $ic_author, $ic_title, $ic_photo)
{
$data['infocategory'] = $this->Information_model->get_detail_by_path($is_path, 1);//信息所属分类,获取信息顶级节点内容
$data['author'] = $this->Operator_model->get_author_nikename($ic_author);//获取作者信息
$data['ic_title'] = $ic_title;
$data['ic_photo'] = $ic_photo;
return $this->load->view($mobile_first_template_path . '-h1', $data, TRUE);
}
//通过内容找到第一张图片
function set_photo_content($ic_photo, $ic_content)
{
@ -1063,10 +1061,10 @@ class Information extends CI_Controller
case 'planing-1(guide)':
case 'planning-2 (decision tips)':
case 'destination': //url的第一段表示地区根据第一段来搜索相关数据如/beijing/ 而不是根据is_parent_id因为可能信息和线路是在不同的分类下
$destination_url=trim($data['detail']->ic_url);
$destination_url=substr($destination_url,0,strpos($destination_url,'/',1)+1);
$destination_url = trim($data['detail']->ic_url);
$destination_url = substr($destination_url, 0, strpos($destination_url, '/', 1) + 1);
//how to plan
$data['info_howtoplan'] = $this->Information_model->search_by_words($destination_url, array('how', 'plan'),$data['detail']->is_id);
$data['info_howtoplan'] = $this->Information_model->search_by_words($destination_url, array('how', 'plan'), $data['detail']->is_id);
if (empty($data['info_howtoplan'])) {//找不到对应信息则显示备用
$data['info_howtoplan'] = $this->Information_model->Detail('/travelguide/plan-first-trip.htm');
}
@ -1075,7 +1073,7 @@ class Information extends CI_Controller
$data['info_howtoplan']->ic_photo = $this->set_photo_content($data['info_howtoplan']->ic_photo, $data['info_howtoplan']->ic_content);
}
//best time to visit
$data['info_besttime'] = $this->Information_model->search_by_words($destination_url, array('best', 'time'),$data['detail']->is_id);
$data['info_besttime'] = $this->Information_model->search_by_words($destination_url, array('best', 'time'), $data['detail']->is_id);
if (empty($data['info_besttime'])) {
$data['info_besttime'] = $this->Information_model->Detail('/weather/china-best-times.htm');
}
@ -1084,7 +1082,7 @@ class Information extends CI_Controller
$data['info_besttime']->ic_photo = $this->set_photo_content($data['info_besttime']->ic_photo, $data['info_besttime']->ic_content);
}
//top things to do
$data['info_topthings'] = $this->Information_model->search_by_words($destination_url, array('top', 'things'),$data['detail']->is_id);
$data['info_topthings'] = $this->Information_model->search_by_words($destination_url, array('top', 'things'), $data['detail']->is_id);
if (empty($data['info_topthings'])) {
$data['info_topthings'] = $this->Information_model->Detail('/travelguide/article-top-china-tourist-destination.htm');
}
@ -1101,7 +1099,7 @@ class Information extends CI_Controller
'/aboutus/no-shops.htm',
'/aboutus/company-history.htm'
);
$data['info_hotel']=$this->Information_model->Detail($random_array[rand(0, count($random_array) - 1)]);
$data['info_hotel'] = $this->Information_model->Detail($random_array[rand(0, count($random_array) - 1)]);
if (!empty($data['info_hotel'])) {
$data['info_hotel_root'] = $this->Information_model->get_detail_by_path($data['info_hotel']->is_path, 1);
$data['info_hotel']->ic_photo = $this->set_photo_content($data['info_hotel']->ic_photo, $data['info_hotel']->ic_content);

@ -0,0 +1,15 @@
<div class=topcontent>
<div class="infotopimage">
<img src="<?php echo $meta_addon_picture; ?>"
alt="<?php echo !empty($information->ic_title)?$information->ic_title:'H1 title asiahighlights mobile first template'; ?>" class="img-responsive">
<div class="topbannerbg">
<div class="infotoptitle">
<h1 class="whitefont"><?php echo !empty($information->ic_title)?$information->ic_title:'H1 title asiahighlights mobile first template'; ?></h1>
</div>
</div>
</div>
</div>

@ -0,0 +1,383 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>
<!--@TITLE@-->
</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta name="apple-mobile-web-app-title" content="China Highlights - Since 1998!">
<meta name="keywords" content="<!--@KEYWORDS@-->">
<meta name="description" content="<!--@DESCRIPTION@-->">
<!--@OG:IMAGE@-->
<link rel="canonical" href="<!--@CANONICAL@-->">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="preconnect" href="//data.asiahighlights.com">
<link rel="dns-prefetch" href="//data.asiahighlights.com">
<link rel="dns-prefetch" href="//images.asiahighlights.com">
<link rel="dns-prefetch" href="//www.googletagmanager.com">
<link rel="dns-prefetch" href="//www.googleadservices.com">
<link rel="dns-prefetch" href="//www.google-analytics.com">
<link rel="dns-prefetch" href="//connect.facebook.net">
<link rel="dns-prefetch" href="//www.facebook.com">
<!--@MAIN-CSS@-->
<!--@ADDON-CSS@-->
<!-- Google Tag Manager -->
<script>(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start':
new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-T75N4LL');</script>
<!-- End Google Tag Manager -->
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T75N4LL" height="0" width="0"
style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<!--PC头部-->
<header class="headerbar" id="header">
<div class="topnavigation">
<a href="/" class="p_toplogo"> <img src="https://data.asiahighlights.com/pic/logo-ah.png"
alt="Asiahighlights logo" class="asiahighlightslogo img-responsive"></a>
<div class="p_topnavigation">
<ul class="pctopnavi">
<li class="dropdown"><a class="p_topnavilink">Destinations</a>
<div class="chinatourspc dropdown-content">
<div class="inspirationinfo">
<div class="listtour">
<ul class="inspiration">
<li><a href="/thailand/travel-guide">Thailand</a></li>
<li><a href="/japan/travel-guide">Japan</a></li>
<li><a href="/india/travel-guide">India</a></li>
<li><a href="/vietnam/travel-guide">Vietnam</a></li>
</ul>
<ul class="inspiration">
<li><a href="/cambodia/travel-guide">Cambodia</a></li>
<li><a href="/myanmar/travel-guide">Gyanmar</a></li>
<li><a href="/laos/travel-guide">Laos</a></li>
</ul>
<ul class="inspiration">
<li><a href="/tours/">Top Asia Tours</a></li>
</ul>
</div>
</div>
</div>
</li>
<li class="dropdown"><a class="p_topnavilink">Inspirtations</a>
<div class="destinationspc dropdown-content">
<div class="inspirationinfo">
<div class="inspirationlist besttime">
<span class="inspirationtitle">Best Time to Visit</span>
<div class="listtour">
<ul class="inspiration">
<li><a href="/southeast-asia/best-time-to-visit">Southeast Asia</a></li>
<li><a href="/thailand/best-time-to-visit"> Thailand</a></li>
<li><a href="/japan/best-time-to-visit">Japan</a></li>
<li><a href="/vietnam/climate-and-weather">Vietnam</a></li>
<li><a href="/cambodia/best-time-to-visit">Cambodia</a></li>
</ul>
<ul class="inspiration">
<li><a href="/india/best-time-to-visit">India</a></li>
<li><a href="/bhutan/best-time-to-visit">Bhutan</a></li>
<li><a href="/laos/best-time-to-visit">Laos</a></li>
<li><a href="/myanmar/best-time-to-visit">Myanmar</a></li>
<li><a href="/nepal/best-time-to-visit">Nepal</a></li>
</ul>
</div>
</div>
<div class="inspirationlist topthings">
<span class="inspirationtitle">Top Things to Do</span>
<div class="listtour">
<ul class="inspiration">
<li><a href="/southeast-asia/things-to-do">Asia</a></li>
<li><a href="/bhutan/top-things-to-do">Bhutan</a></li>
<li><a href="/cambodia/top-things-to-do-in-siem-reap">Cambodia</a></li>
<li><a href="/india/top-things-to-do">India</a></li>
<li><a href="/japan/top-things-to-do">Japan</a></li>
<li><a href="/laos/top-attractions">Laos</a></li>
</ul>
<ul class="inspiration">
<li><a href="/myanmar/top-things-to-do">Myanmar</a></li>
<li><a href="/nepal/top-things-to-do">Nepal</a></li>
<li><a href="/srilanka/top-things-to-do">Sri Lanka</a></li>
<li><a href="/thailand/top-things-to-do">Thailand</a></li>
<li><a href="/vietnam/top-things-to-do">Vietnam</a></li>
</ul>
</div>
</div>
<div class="inspirationlist vacationtype">
<span class="inspirationtitle">Vacation Type</span>
<ul class="inspiration">
<li><a href="/asia/family-trip/top-destinations">Family Tours</a></li>
<li><a href="/asia/romantic-trip/how-to-plan">Honeymoon Ideas</a></li>
<li><a href="/southeast-asia/top-beaches">Beach Relaxation</a></li>
<li><a href="/thailand/trekking">Trekking Tours</a></li>
<li><a href="/myanmar/tours/myanmar-photography">Photography Tours</a></li>
</ul>
</div>
<div class="inspirationlist festival">
<span class="inspirationtitle">Festivals & Events</span>
<ul class="inspiration">
<li><a href="/thailand/light-festivals">Thailand Lantern Festival</a></li>
<li><a href="/india/when-is-diwali">Diwali in India</a></li>
<li><a href="/vietnam/new-year">Tet in Vietnam</a></li>
</ul>
</div>
</div>
</div>
</li>
<li class="dropdown"><a href="/about-us/" class="p_topnavilink">About Us</a></li>
<li class="dropdown"><a href="/contact-us.htm" class="p_topnavilink contactbutton">Contact Us</a>
</li>
<li class="dropdown">
<div class="siteSearch">
<form class="searchtextbox" id="searchbox_001281624266240652297:cl1fy1cxepi"
name="googlesreach" action="https://secure.chinahighlights.com/result.asp">
<input type="hidden" value="001281624266240652297:cl1fy1cxepi" name="cx">
<input type="hidden" value="FORID:9" name="cof">
<input type="text" onfocus="this.value = ''" class="strkeys" placeholder="site search"
name="q" style="width: 145px;">
<input type="image" class="submits"
src="https://data.chinahighlights.com/pic/pc-top-navigation-web-search-bg.png"
width="25px">
<input type="hidden" name="__ftoken__"
value="MTU5ODMzNDc2NDQ0NA==.3664784f0395175e7de44382781cd7f7cb647e2a">
</form>
</div>
</li>
</ul>
</div>
</div>
</header>
<!--PC头部 结束-->
<!--@HEAD_1@-->
<!--PC正文-->
<div class="main_content">
<div id="main_content_pc">
<!--@CUSTOM-CONENT@-->
</div>
<!--PC右侧广告 结束-->
<div class="inforightad">
<a href="/tours/ah-1.htm"><img alt="Hoi An Woman" class="img-responsive"
src="https://data.asiahighlights.com/image/travel-guide/hoi-an-woman.jpg"
style="opacity: 1; transition: opacity 0.5s ease-in-out 0s;"></a>
</div>
<!--PC右侧广告 结束-->
<!--PC底部线路和文章推荐-->
<div class="nextcontext">
<h2 class="nexttitle">Visit Vietnam with Asia Highlights</h2>
<p class="nextinfo">Asia Highlights welcomes the chance to help you design your perfect trip to Vietnam.
Check out the following links to learn more about our tours and get a head start on planning your
hassle-free vacation today!</p>
<div class="tournext">
<img src="https://images.chinahighlights.com/allpicture/2018/03/7a8ecffdc34d45a29b4bff77_cut_600x550_77.jpg"
class="img-responsive" alt="xxx">
<div class="nextbg">
<div class="tournextname"><a href="/vietnam/tours/best-of-vietnam-with-mekong-delta">10-Day Best of
Vietnam with Mekong Delta</a></div>
<div class="tournextbutton"><a href="/vietnam/tours/best-of-vietnam-with-mekong-delta"
rel="nofollow">Explore</a></div>
</div>
</div>
<div class="tournext">
<img src="https://images.chinahighlights.com/allpicture/2018/03/7a8ecffdc34d45a29b4bff77_cut_600x550_77.jpg"
class="img-responsive" alt="xxx">
<div class="nextbg">
<div class="tournextname"><a href="/vietnam/tours/best-of-vietnam-with-mekong-delta">10-Day Best of
Vietnam with Mekong Delta</a></div>
<div class="tournextbutton"><a href="/vietnam/tours/best-of-vietnam-with-mekong-delta"
rel="nofollow">Explore</a></div>
</div>
</div>
<div class="tournext">
<img src="https://images.chinahighlights.com/allpicture/2018/03/7a8ecffdc34d45a29b4bff77_cut_600x550_77.jpg"
class="img-responsive" alt="xxx">
<div class="nextbg">
<div class="tournextname"><a href="/vietnam/tours/best-of-vietnam-with-mekong-delta">10-Day Best of
Vietnam with Mekong Delta</a></div>
<div class="tournextbutton"><a href="/vietnam/tours/best-of-vietnam-with-mekong-delta"
rel="nofollow">Explore</a></div>
</div>
</div>
<h2 class="nexttitle">Related Articles</h2>
<div class="nextarticle">
<a href="/southeast-asia/coronavirus-travel-tips"> <img
src="https://images.chinahighlights.com/allpicture/2018/03/7a8ecffdc34d45a29b4bff77_cut_600x550_77.jpg"
class="img-responsive" alt="xxx"></a>
<div class="nextarticlebg">
<div class="nextarticlename">
<a href="/southeast-asia/coronavirus-travel-tips"> Is it Safe to Travel to Asia During the
COVID-19 Outbreak? </a>
</div>
</div>
</div>
<div class="nextarticle">
<a href="/southeast-asia/coronavirus-travel-tips"><img
src="https://images.chinahighlights.com/allpicture/2018/03/7a8ecffdc34d45a29b4bff77_cut_600x550_77.jpg"
class="img-responsive" alt="xxx"></a>
<div class="nextarticlebg">
<div class="nextarticlename">
<a href="/southeast-asia/coronavirus-travel-tips"> Is it Safe to Travel to Asia During the
COVID-19 Outbreak? </a>
</div>
</div>
</div>
<div class="nextarticle">
<a href="/southeast-asia/coronavirus-travel-tips"> <img
src="https://images.chinahighlights.com/allpicture/2018/03/7a8ecffdc34d45a29b4bff77_cut_600x550_77.jpg"
class="img-responsive" alt="xxx"></a>
<div class="nextarticlebg">
<div class="nextarticlename">
<a href="/southeast-asia/coronavirus-travel-tips"> Is it Safe to Travel to Asia During the
COVID-19 Outbreak? </a>
</div>
</div>
</div>
</div>
<!--PC底部线路和文章推荐 结束-->
</div>
<!--PC正文 结束-->
<!--PC底部-->
<div class="infotailor">
<span class="infotailorword">We are here to help you...<br> start planning your tailor-made Asia tour with 1-1
help from our travel advisors.
<span class="infotailormade"><a href="/forms/tailormade">Create Your Trip <i aria-hidden="true"
class="fa fa-caret-right"></i></a></span>
</span>
</div>
<div class="infobottom">
<div class="footerbox">
<div class="aboutusleft">
<div class="bottomaboutus">
<div class="bottompctitle">About Us</div>
<div class="aboutusinfo">At Asia Highlights, we create your kind of journey your dates,
destinations, at your pace. Not just any journey, but the unique trip with exceptional
experience you're looking for. <a href="/about-us/">more
...</a>
<div class="trustPilotIconBig">
<img class="img-responsive"
src="https://data.asiahighlights.com/pic/trustpilot-new-icon.png"
originalsrc="https://data.asiahighlights.com/pic/trustpilot-new-icon.png" loader="lazy"
style="margin-bottom: 10px; opacity: 1; transition: opacity 0.5s ease-in-out 0s; ">
Rated
4.8 out of 5 | Excellent
</div>
</div>
</div>
</div>
<div class="aboutusright">
<div class="bottompctitle">Featured on</div>
<img src="https://data.chinahighlights.com/image/asia/asia-highlights-medias-group.png"
class="img-responsive bottomfeature" alt="Medias" style="width: 77%;">
</div>
<div class="clear"></div>
<div class="bottomaboutuslinks">
<div class="bottomlinksleft">
<ul class="withBorder">
<li><a href="/about-us/" rel="nofollow">About us</a></li>
<li><a href="/about-us/history.htm" rel="nofollow">History</a></li>
<li><a href="/about-us/our-differences.htm" rel="nofollow">Our Differences</a></li>
<li><a href="/contact-us.htm" rel="nofollow">Contact Us</a></li>
</ul>
</div>
<ul class="socialmedias">
<li><a href="https://www.facebook.com/AsiaHighlights/" rel="nofollow" title="Follow us on Facebook"
class="fb" target="_blank">
<i class="fa fa-facebook"></i>Facebook
</a></li>
<li><a href="https://twitter.com/Asiahighlights" rel="nofollow" title="Share us on Twitter"
class="tw" target="_blank"> <i class="fa fa-twitter"></i>Twitter </a></li>
<li><a href="https://www.instagram.com/asiahighlights/" rel="nofollow"
title="Follow us on Instagram" class="linkin" target="_blank">
<i class="fa fa-instagram" aria-hidden="true"></i>
Instagram </a></li>
<li><a href="https://www.pinterest.com/AsiaHighlights/_saved/" rel="nofollow"
title="Share us on Pinterest" class="fb" target="_blank"><i class="fa fa-pinterest"
aria-hidden="true"></i>Pinterest</a>
</li>
</ul>
</div>
</div>
</div>
<div class="clear"></div>
<div class="bottomlogo">
<div class="footerbox">
<img src="https://data.chinahighlights.com/grey.gif"
originalsrc="https://data.chinahighlights.com/image/asia/asia-highlights-bottom-logo.png" width="114"
height="71" loader="lazy" class="img-responsive bottomlogopc">
<span class="bottomcopyright">© Asia Highlights — Discovery Your Way! </span>
<span class="bottomprivacy"><a href="/privacy.htm">Privacy Policy</a> | <a
href="/terms-of-use.htm">Terms</a></span>
</div>
</div>
<!--PC底部 结束-->
<!--@PRODUCT-JS@-->
<!--@ADDON-JS@-->
<script>eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('8.R=10;(4(){3 h=b 26();4 11(X){8.R=X&&X.1I===\'1b\'?h.1V==1:10;1c()}h.1T=11;h.1Z=11;h.S=\'1M:1R/1x;1F,1Q/1P=\'})();5(!c.g){c.g=(4(){3 1u=y.M.1S;3 P=4(l){6 I l==="4"||1u.Q(l)==="[19 1L]"};3 1j=4(D){3 f=1O(D);5(1N(f)){6 0}5(f===0||!1Y(f)){6 f}6(f>0?1:-1)*o.1X(o.20(f))};3 1y=o.1U(2,1W)-1;3 1a=4(D){3 9=1j(D);6 o.1G(o.1H(9,0),1y)};6 4 g(J){3 C=E;3 U=y(J);5(J==p){F b H("c.g 1K 1J 1E-1D 19 - V p 1k B")}3 n=j.m>1?j[1]:2o B;3 T;5(I n!=="B"){5(!P(n)){F b H("c.g: 2q 2j, 2i 2k 2l 2m 2n a 4")}5(j.m>2){T=j[2]}}3 9=1a(U.m);3 A=P(C)?y(b C(9)):b c(9);3 k=0;3 d;1l(k<9){d=U[k];5(n){A[k]=I T==="B"?n(d,k):n.Q(T,d,k)}z{A[k]=d}k+=1}A.m=9;6 A}}())}5(!c.M.v){c.M.v=4(u){3 T,k;5(E==p){F b H("E 1i p 1k V 2p")}3 O=y(E);3 9=O.m>>>0;5(I u!=="4"){F b H(u+" 1i V a 4")}5(j.m>1){T=j[1]}k=0;1l(k<9){3 d;5(k 13 O){d=O[k];u.Q(T,d,k,O)}k++}}}4 1c(2h){3 14=4(i){i.W("1b",4(){i.r.q=1});5(8.R){i.1z("S",i.1B("1A").25(\'.28\',\'.1x\'))}z{i.1z("S",i.1B("1A"))}};3 1p=c.g(e.1q("h[1C=27]"));1p.v(4(7,Y){7.r.q=0;7.r.1w="q 0.18 1e-13-1m";14(7)});3 w=1o();w();4 12(l,1s,1v){3 N=p,L=b 1r();6 4(){3 K=b 1r();22(N);5(K-L>=1v){l();L=K}z{N=21(l,1s)}}}4 1h(1n){3 16=1n.24();6{15:16.15+8.23-e.t.2e,1t:16.1t+8.2d-e.t.2g}}4 1o(){3 G=c.g(e.1q("h[1C=2f]"));G.v(4(7,Y){7.r.q=0;7.r.1w="q 0.18 1e-13-1m"});6 4(){3 1g=8.2a;3 x=(e.t&&e.t.x)||(e.1d&&e.1d.x);G=G.29(4(7,Y){3 1f=1h(7).15;3 Z=1f<1g+x;5(Z){14(7)}6!Z})}}5(8.W){8.W("2c",12(w,s,s),10)}z{5(8.17){8.17("2b",12(w,s,s))}}};',62,151,'|||var|function|if|return|element|window|len||new|Array|kValue|document|number|from|img|target|arguments||fn|length|mapFn|Math|null|opacity|style|500|documentElement|callback|forEach|lazyloader|scrollTop|Object|else||undefined||value|this|throw|lazyImageList|TypeError|typeof|arrayLike|curTime|startTime|prototype|timeout||isCallable|call|isSupportWebp|src||items|not|addEventListener|event|index|hasVisible|false|getResult|throttle|in|loadImageByUrl|top|box|attachEvent|5s|object|toLength|load|createImageLoader|body|ease|offsetTop|seeHeight|getOffset|is|toInteger|or|while|out|el|createLazyloader|imageList|querySelectorAll|Date|delay|left|toStr|atleast|transition|webp|maxSafeInteger|setAttribute|originalsrc|getAttribute|loader|like|array|base64|min|max|type|an|requires|Function|data|isNaN|Number|vuUAAA|UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAwA0JaQAA3AA|image|toString|onerror|pow|width|53|floor|isFinite|onload|abs|setTimeout|clearTimeout|pageYOffset|getBoundingClientRect|replace|Image|ready|jpg|filter|innerHeight|onscroll|scroll|pageXOffset|clientTop|lazy|clientLeft|settings|the|provided|second|argument|must|be|void|defined|when'.split('|'),0,{}))
function loadScriptByAsync(src) {var asyncScript = document.createElement("script");asyncScript.async = true;asyncScript.crossorigin = "anonymous";asyncScript.src = src;firstScript=document.getElementsByTagName("script")[0];firstScript.parentNode.insertBefore(asyncScript, firstScript);}</script>
<!--@IN-ARTICLE-GOOGLE@-->
<!--@ADDTHIS-WIDGET@-->
</body>
</html>

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save