Merge branch 'master' of github.com:hainatravel/information-system

hotfix/paypal-note
赵鹏 2 years ago
commit c860d496f7

@ -985,14 +985,8 @@ class Information extends CI_Controller
public function test_feedback()
{
$feedback_newest = $this->Feedback_model->get_feedback_newest();
$feedback_newest = $this->Feedback_model->test_feedback_newest();
var_dump($feedback_newest);
$feedback_newest_content = $this->load->view(
'ch-feedback-newest',
array('feedback_list' => $feedback_newest),
true);
var_dump($feedback_newest_content);
}
public function test_price()
@ -1094,7 +1088,7 @@ class Information extends CI_Controller
}
}
}
$site_money = $this->currency->calc_show_price($site_money);
$site_money = $this->currency->calc_show_price($price_number);
//把金额格式化为带有逗号(,)方便阅读,如 12,345
$price_number = is_numeric($price_number) ? number_format($site_money) : $price_number;
if (!empty($price_number)) {
@ -1673,30 +1667,6 @@ class Information extends CI_Controller
file_put_contents($html_path, $template, LOCK_EX);
}
public function test_ah_feedback()
{
$feedback_array = [];
preg_match_all('^<!--@FEEDBACK_(.*)@-->^', '<div><!--@FEEDBACK_Siem Reap,Bangkok@--></div>', $feedback_array);
if (!empty($feedback_array)) {
foreach ($feedback_array[0] as $index => $tag_name) {
$city_name_string = $feedback_array[1][$index];
$city_name_list = explode(',', $city_name_string);
$feedback_list = $this->Feedback_model->get_feedback_by_city_list($city_name_list);
var_dump($feedback_list);
$feedback_content = $this->load->view(
'mobile_first/ah' . '-feedback-list',
array('feedback_list' => $feedback_list),
true
);
echo $feedback_content;
// $information->ic_content = str_replace(
// $tag_name,
// $feedback_content,
// $information->ic_content);
}
}
}
/**
* @description: CT用的生成静态文件方法.有些内容的替换CT这边不一样需要单独处理 zp
* @param {type} $device='mobile' or 'pc'

@ -14,7 +14,7 @@ class Feedback_model extends CI_Model {
$feedback_query =
$this->HT->query("
select top 20
select top 40
tad_content, tai_customerid, tai_title, tai_getdate, tai_url
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
@ -23,11 +23,13 @@ class Feedback_model extends CI_Model {
$feedback_result = $feedback_query->result();
$feedback_list = [];
$customer_id_list = [];
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
@ -36,6 +38,43 @@ class Feedback_model extends CI_Model {
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
return $feedback_list;
}
function test_feedback_newest() {
$feedback_query =
$this->HT->query("
select top 40
tad_content, tai_customerid, tai_title, tai_getdate, tai_url
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
where TAD_Content is not null
order by tai_getdate desc");
$feedback_result = $feedback_query->result();
$feedback_list = [];
$customer_id_list = [];
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
// 'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
// 'content' => $feedback_row->tad_content,
// 'url' => $feedback_row->tai_url,
// 'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
return $feedback_list;
@ -48,7 +87,7 @@ class Feedback_model extends CI_Model {
$feedback_query =
$this->HT->query("
select top 20
select top 40
tad_content, tai_customerid, tai_title, tai_getdate, tai_url, vci.cii2_name
from Eva_TAInfo
left join Eva_TADetail on TAD_TAI_SN=TAI_SN
@ -60,11 +99,14 @@ class Feedback_model extends CI_Model {
$first_city_num = $feedback_query->num_rows();
$feedback_result = $feedback_query->result();
$feedback_list = [];
$customer_id_list = [];
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
@ -73,9 +115,11 @@ class Feedback_model extends CI_Model {
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
$enough_count = 20 - $first_city_num;
$enough_count = 40 - $first_city_num;
if ($enough_count > 0 && count($city_name_list) > 1) {
@ -94,7 +138,9 @@ class Feedback_model extends CI_Model {
foreach ($feedback_result as $feedback_row) {
$createdOn = new DateTime($feedback_row->tai_getdate);
$createdOnString = $createdOn->format('M Y');
$feedback_count = COUNT($feedback_list);
if (!in_array($feedback_row->tai_customerid, $customer_id_list) && $feedback_count < 20) {
$feedback = [
'title' => $feedback_row->tai_title,
'customer' => $feedback_row->tai_customerid,
@ -103,6 +149,8 @@ class Feedback_model extends CI_Model {
'createdOn' => $createdOnString
];
$feedback_list[] = $feedback;
$customer_id_list[] = $feedback_row->tai_customerid;
}
}
}

@ -6,13 +6,15 @@
<h3 style="text-align: center; font-size: 20px; line-height: 22px;">Start planning your tailor-made tour now. Your 1:1 travel consultant will reply within 1 working day.</h3>
<form action="/orders/quick_inquiry_save" method="post" novalidate="" id="info_page_form">
<textarea id="form_additionalrequirements" name="additional_requirements" placeholder="E.g.:
This is a big trip for: birthday, anniversary, honeymoon, retirement, kid's graduation, bucket list..." style="height:70px;"></textarea>
<!--
<div class="selectionBlock">
<h4>
Number in your group
</h4>
<textarea id="form_additionalrequirements" name="additional_requirements" placeholder="E.g. This is a big trip for my birthday, anniversary, honeymoon, retirement, kid's graduation, bucket list
Our must-dos/must-sees are…" style="height:90px;"></textarea>
<div class="selectionBlock" style="margin-bottom: 10px;">
<p style="
margin-bottom: 0px;
">
<strong>Number in your group</strong>
</p>
<div id="group_error_msg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please select number in your group.</div>
</div>
@ -42,13 +44,10 @@ This is a big trip for: birthday, anniversary, honeymoon, retirement, kid's grad
</div>
<div id="adultBlock" style="display: none">
<p style="
margin-bottom: 0;
font-size: 22px;
margin-top: 20px;
">When you plan to take the trip:</p>
<div class="peopleSelect">
<p style="margin-top: 20px;"><strong>
<p style=" margin-top: 10px;
margin-bottom: 10px;"><strong>
Adults (≥18 years old)
</strong> </p>
<button class="minaddBtn reduceadult" id="minusAdult" type="button"
@ -89,7 +88,7 @@ This is a big trip for: birthday, anniversary, honeymoon, retirement, kid's grad
</div>
<div class="clear"></div>
<div id="childrenBlock" style="display: none">
<p style="margin-top: 0;"><strong>Children</strong></p>
<p style=" margin-top: -10px; margin-bottom: 5px;"><strong>Children (age of children at time of trip)</strong></p>
<div class="kids_age">
<p style="margin-bottom: 5px;">10-17 yrs old</p>
<select class="kids_number" id="teenagerNumber" name="teenager_10_17_yrs">
@ -139,7 +138,48 @@ This is a big trip for: birthday, anniversary, honeymoon, retirement, kid's grad
</div>
</div>
-->
<div class="selectionBlock">
<p style=" margin-top: 10px;
margin-bottom: 0;"><strong>
When would you travel?
</strong></p>
<div class="travel_group date_select" >
<input type="radio" value="exact travel dates" id="exact" name="trip_date">
<label for="exact" class="updatedestination" style="font-size: 18px;">
Exact travel dates
</label>
</div>
<div class="travel_group date_select" >
<input type="radio" value="approximate travel dates" id="approximate" name="trip_date">
<label for="approximate" class="updatedestination" style="font-size: 18px;">
Approximate travel dates
</label>
</div>
<div class="travel_group date_select" >
<input type="radio" value="haven't decided travel dates" id="yet" name="trip_date">
<label for="yet" class="updatedestination" style="font-size: 18px;">
Not decided travel dates
</label>
</div>
<div class="trip_date_length" id="tripDateBlock" style="display: none">
<p style="margin-bottom: 10px;">Select your travel date and trip length (days).</p>
<div id='dateSelectionBlock'>
<input type="text" class="arrivalDate datepicker" id="Date_Start" name="date_start" value="" placeholder="mm/dd/yyyy" autocomplete="off" style="width: auto; float: left; margin-right: 15px;">
<input type="month" id="expectedMonth" name="expected_month" placeholder="Select your expected travel date." style="width: auto; float: left; margin-right: 15px;">
</div>
<div class="peopleSelect">
<div class="numberBtn">
<input class="minaddBtn" id="tripLengthMinus" type="button" value="-">
<input class="number" type="text" value="14" id="tripLengthNumber" name="trip_length">
<input class="minaddBtn" id="tripLengthPlus" type="button" value="+">
</div>
</div>
</div>
</div>
<input class="FullName" id="realname" name="name" placeholder="Your name *" required="" type="text" value="" />
<div id="realname_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your name</div>
@ -152,12 +192,7 @@ This is a big trip for: birthday, anniversary, honeymoon, retirement, kid's grad
<div id="email_verify_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please verify your email</div>
</div>
<!--
<input class="InquiryCalendar" id="starting_date" name="date_start" placeholder="Starting date *" readonly="readonly" />
<div id="starting_date_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your starting date</div>
</div>
-->
<select name="country_code" class="country_code">
<option style="font-weight: 600;" value="United States +1">United States&nbsp; &nbsp;+1</option>
<option style="font-weight: 600;" value="United Kingdom +44">United Kingdom&nbsp; &nbsp;+44</option>
@ -456,9 +491,11 @@ This is a big trip for: birthday, anniversary, honeymoon, retirement, kid's grad
-->
</div>
<script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/flatpickr-4.6.1.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
<script src="https://data.asiahighlights.com/min/?f=/js/jquery-1.8.2.min.js,/js/flatpickr-4.6.1.min.js"></script>
<script>
var selectedExpectedDate = '';
document.addEventListener('DOMContentLoaded', () => {
flatpickr("#starting_date", {
dateFormat: "Y-m-d",
altInput: true,
@ -467,15 +504,15 @@ document.addEventListener('DOMContentLoaded', () => {
minDate: "today"
});
var info_page_button = document.getElementById("info_page_button");
var info_page_form = document.getElementById("info_page_form");
var quick_inquiry_button = document.getElementById("quick_inquiry_button");
var quick_inquiry_form = document.getElementById("quick_inquiry_form");
info_page_button.addEventListener('click', function(event) {
quick_inquiry_button.addEventListener('click', function(event) {
var validateResult = validateQuickInquiryForm();
if (validateResult) {
if (typeof(grecaptcha) === "undefined") {
console.warn('grecaptcha is disabled.');
info_page_form.submit();
quick_inquiry_form.submit();
} else {
grecaptcha.enterprise.ready(async () => {
const token = await grecaptcha.enterprise.execute('6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja', {action: 'ADD_TO_CART'});
@ -483,48 +520,63 @@ document.addEventListener('DOMContentLoaded', () => {
el.type = "hidden";
el.name = "__grecaptcha_token__";
el.value = token;
info_page_form.appendChild(el);
info_page_form.submit();
info_page_button.innerText = "Submitted successfully";
quick_inquiry_form.appendChild(el);
quick_inquiry_form.submit();
quick_inquiry_button.innerText = "Submitted successfully";
});
}
}
});
});
});
function validateQuickInquiryForm() {
function validateQuickInquiryForm() {
var result = true;
var realnameVal = document.getElementById("realname").value;
var emailVal = document.getElementById("email").value;
// var startingDateVal = document.getElementById("starting_date").value;
var expectedDateVal = document.getElementById("starting_date").value;
var expectedMonthVal = document.getElementById("expectedMonth").value;
var contactVal = document.getElementById("PhoneNo").value;
var realnameErrEl = document.getElementById("realname_errmsg");
var emailErrEl = document.getElementById("email_errmsg");
var emailVerifyErrEl = document.getElementById("email_verify_errmsg");
// var startingDateErrEl = document.getElementById("starting_date_errmsg");
var startingDateErrEl = document.getElementById("date_error_msg");
var contactErrEl = document.getElementById("contact_errmsg");
// var groupErrEl = document.getElementById("group_error_msg");
var groupErrEl = document.getElementById("group_error_msg");
realnameErrEl.style.display = 'none';
emailErrEl.style.display = 'none';
emailVerifyErrEl.style.display = 'none';
// startingDateErrEl.style.display = 'none';
startingDateErrEl.style.display = 'none';
contactErrEl.style.display = 'none';
// groupErrEl.style.display = 'none';
groupErrEl.style.display = 'none';
// var travel_group_is_checked = false;
// document.querySelectorAll('input[name="travel_group"]').forEach(function(groupNode) {
// if (groupNode.checked) {
// travel_group_is_checked = true;
// }
// });
var travel_group_is_checked = false;
document.querySelectorAll('input[name="travel_group"]').forEach(function(groupNode) {
if (groupNode.checked) {
travel_group_is_checked = true;
}
});
// if (travel_group_is_checked === false) {
// groupErrEl.style.display = '';
// result = false;
// }
if (travel_group_is_checked === false) {
groupErrEl.style.display = '';
result = false;
}
var tripDate_is_checked = false;
if (selectedExpectedDate === 'exact') {
tripDate_is_checked = expectedDateVal !== '';
} else if (selectedExpectedDate === 'approximate') {
tripDate_is_checked = expectedMonthVal !== '';
} else if (selectedExpectedDate === 'yet') {
tripDate_is_checked = true;
}
//时间选择
if (!tripDate_is_checked) {
startingDateErrEl.style.display = '';
result = false;
}
if (realnameVal === '') {
realnameErrEl.style.display = '';
@ -540,96 +592,134 @@ function validateQuickInquiryForm() {
result = false;
}
}
// if (startingDateVal === '') {
// startingDateErrEl.style.display = '';
// result = false;
// }
if (contactVal === '') {
contactErrEl.style.display = '';
result = false;
}
return result;
}
</script>
<script>
// var $adultBlock = $('#adultBlock');
// var $childrenBlock = $('#childrenBlock');
// var $adultNumberInput = $('#adultNumber');
// var adultNumber = $adultNumberInput.val();
// var $teenagerNumberInput = $('#teenagerNumber');
// var teenagerNumber = $teenagerNumberInput.val();
// var $childrenNumberInput = $('#childrenNumber');
// var childrenNumber = $childrenNumberInput.val();
// var $infantNumberInput = $('#infantNumber');
// var infantNumber = $infantNumberInput.val();
// $('input[name="travel_group"]').each((i, groupEle) => {
// $(groupEle).click(function (e) {
// $teenagerNumberInput.val(0);
// $childrenNumberInput.val(0);
// $infantNumberInput.val(0);
// var currentTarget = e.currentTarget;
// if (currentTarget.id === 'Family' || currentTarget.id === 'Other' ) {
// $adultBlock.show();
// $childrenBlock.show();
// } else {
// $adultBlock.show();
// $childrenBlock.hide();
// }
// if (currentTarget.id === 'Couple') {
// $adultNumberInput.val(2);
// } else if (currentTarget.id === 'Solo') {
// $adultNumberInput.val(1);
// }
// })
// });
// //成人
// $('#plusAdult').click(function () {
// adultNumber++;
// $adultNumberInput.val(adultNumber);
// });
// $('#minusAdult').click(function () {
// if (adultNumber > 1) {
// adultNumber--;
// $adultNumberInput.val(adultNumber);
// }
// });
// // 青少年
// $('#plusTeenager').click(function () {
// teenagerNumber++;
// $teenagerNumberInput.val(teenagerNumber);
// });
// $('#minusTeenager').click(function () {
// if (teenagerNumber > 0) {
// teenagerNumber--;
// $teenagerNumberInput.val(teenagerNumber);
// }
// });
// // 儿童
// $('#plusChildren').click(function () {
// childrenNumber++;
// $childrenNumberInput.val(childrenNumber);
// });
// $('#minusChildren').click(function () {
// if (childrenNumber > 0) {
// childrenNumber--;
// $childrenNumberInput.val(childrenNumber);
// }
// });
// // 婴儿
// $('#plusInfant').click(function () {
// infantNumber++;
// $infantNumberInput.val(infantNumber);
// });
// $('#minusInfant').click(function () {
// if (infantNumber > 0) {
// infantNumber--;
// $infantNumberInput.val(infantNumber);
// }
// });
}
</script>
<script>
$(function () {
var $adultBlock = $('#adultBlock');
var $childrenBlock = $('#childrenBlock');
var $adultNumberInput = $('#adultNumber');
var adultNumber = $adultNumberInput.val();
var $teenagerNumberInput = $('#teenagerNumber');
var teenagerNumber = $teenagerNumberInput.val();
var $childrenNumberInput = $('#childrenNumber');
var childrenNumber = $childrenNumberInput.val();
var $infantNumberInput = $('#infantNumber');
var infantNumber = $infantNumberInput.val();
$('input[name="travel_group"]').each((i, groupEle) => {
$(groupEle).click(function (e) {
$teenagerNumberInput.val(0);
$childrenNumberInput.val(0);
$infantNumberInput.val(0);
var currentTarget = e.currentTarget;
if (currentTarget.id === 'Family' || currentTarget.id === 'Other' ) {
$adultBlock.show();
$childrenBlock.show();
} else {
$adultBlock.show();
$childrenBlock.hide();
}
if (currentTarget.id === 'Couple') {
$adultNumberInput.val(2);
} else if (currentTarget.id === 'Solo') {
$adultNumberInput.val(1);
}
})
});
var $tripDateBlock = $('#tripDateBlock');
var $expectedDate = $('#Date_Start');
var $expectedMonth = $('#expectedMonth');
var $dateSelectionBlock = $('#dateSelectionBlock');
var $expectedTravelDateBlock = $('#expectedTravelDateBlock');
var selectedExpectedDate = '';
$('input[name="trip_date"]').each((i, tripDateEle) => {
$(tripDateEle).click(function (e) {
$expectedDate.val('');
$expectedMonth.val('');
$tripDateBlock.show();
var selectedTripDate = e.currentTarget;
selectedExpectedDate = selectedTripDate.id;
if (selectedTripDate.id === 'exact') {
$dateSelectionBlock.show();
$expectedTravelDateBlock.hide();
$expectedMonth.hide();
$expectedDate.show();
} else if (selectedTripDate.id === 'approximate') {
$dateSelectionBlock.show();
$expectedTravelDateBlock.hide();
$expectedDate.hide();
$expectedMonth.show();
} else if (selectedTripDate.id === 'yet') {
$dateSelectionBlock.hide();
$expectedTravelDateBlock.show();
}
})
});
var tripLength = $('#tripLengthNumber').val();
//成人
$('#plusAdult').click(function () {
adultNumber++;
$adultNumberInput.val(adultNumber);
});
$('#minusAdult').click(function () {
if (adultNumber > 1) {
adultNumber--;
$adultNumberInput.val(adultNumber);
}
});
// 青少年
$('#plusTeenager').click(function () {
teenagerNumber++;
$teenagerNumberInput.val(teenagerNumber);
});
$('#minusTeenager').click(function () {
if (teenagerNumber > 0) {
teenagerNumber--;
$teenagerNumberInput.val(teenagerNumber);
}
});
// 儿童
$('#plusChildren').click(function () {
childrenNumber++;
$childrenNumberInput.val(childrenNumber);
});
$('#minusChildren').click(function () {
if (childrenNumber > 0) {
childrenNumber--;
$childrenNumberInput.val(childrenNumber);
}
});
// 婴儿
$('#plusInfant').click(function () {
infantNumber++;
$infantNumberInput.val(infantNumber);
});
$('#minusInfant').click(function () {
if (infantNumber > 0) {
infantNumber--;
$infantNumberInput.val(infantNumber);
}
});
})
</script>
<style>
.date_select {width: 27.5% !important;}
.age_range { margin-top: 45px;}
@media (max-width: 750px){
.date_select {
width: 93% !important;
}
.age_range { margin-top: 0;}
}
</style>

@ -105,12 +105,11 @@
<ul class="inspiration">
<li><a
href="/southeast-asia/tours/highlights-of-thailand-cambodia-and-vietnam">3-Week
Itinerary (In-depth)</a></li>
href="/southeast-asia/tours/highlights-of-thailand-cambodia-and-vietnam">3 Weeks
</a></li>
<li><a href="/southeast-asia/tours/best-of-thailand-cambodia-and-vietnam">
2-Week Itinerary (Classic)</a></li>
<li><a href=" /southeast-asia/tours/from-south-vietnam-to-north-cambodia">1-Week
Itinerary (Time-smart)</a></li>
2 Weeks</a></li>
<li><a href=" /southeast-asia/tours/from-south-vietnam-to-north-cambodia">12 Days</a></li>
</ul>
</div>
@ -119,10 +118,10 @@
<span class="inspirationtitle">Vietnam & Cambodia:</span>
<ul class="inspiration">
<li><a href="/southeast-asia/tours/vietnam-cambodia-family-tour">2-Week
Itinerary for Family</a></li>
<li><a href="/southeast-asia/tours/vietnam-cambodia-mekong-cruise">2-Week
Itinerary for Retired Couple</a></li>
<li><a href="/southeast-asia/tours/vietnam-cambodia-family-tour">2 Weeks for Family</a></li>
<li><a href="/southeast-asia/tours/vietnam-cambodia-mekong-cruise">2 Weeks for Couple</a></li>
<li><a href="/southeast-asia/tours/cambodia-and-vietnam-highlights">12 Days</a></li>
<li><a href="/southeast-asia/tours/from-south-vietnam-to-north-cambodia">8 Days</a></li>
</ul>
</div>
@ -130,15 +129,14 @@
<div class="inspirationlist topthings">
<span class="inspirationtitle">Vietnam & Thailand:</span>
<ul class="inspiration">
<li><a href="/southeast-asia/tours/classic-vietnam-and-thailand">2-Week Itinerary (Classic)</a></li>
<li><a href="/southeast-asia/tours/classic-vietnam-and-thailand">2 Weeks</a></li>
</ul>
</div>
<div class="inspirationlist topthings">
<span class="inspirationtitle">Thailand & Cambodia:</span>
<ul class="inspiration">
<li><a href="/southeast-asia/tours/best-of-thailand-and-cambodia">2-Week
Itinerary (In-depth)</a></li>
<li><a href="/southeast-asia/tours/best-of-thailand-and-cambodia">11 Days</a></li>
</ul>
</div>
</div>

@ -98,24 +98,24 @@
<ul data-menu="submenu-6" id="submenu-6" class="menu__level" tabindex="-1" role="menu"
aria-label="Thailand_Vietnam_Cambodia">
<li class="menu__item" role="menuitem"><a href="/southeast-asia/tours/highlights-of-thailand-cambodia-and-vietnam" class="menu__link">3-Week Thailand, Cambodia, Vietnam Itinerary (In-depth)</a></li>
<li class="menu__item" role="menuitem"><a href="/southeast-asia/tours/best-of-thailand-cambodia-and-vietnam" class="menu__link">2-Week Thailand, Cambodia, Vietnam Itinerary (Classic)</a></li>
<li class="menu__item" role="menuitem" style="margin-bottom: 30px;"><a href=" /southeast-asia/tours/from-south-vietnam-to-north-cambodia" class="menu__link">1-Week Vietnam & Cambodia Itinerary (Time-smart)</a></li>
<li class="menu__item" role="menuitem"><a href="/southeast-asia/tours/highlights-of-thailand-cambodia-and-vietnam" class="menu__link">3 Weeks in Thailand, Cambodia, and Vietnam</a></li>
<li class="menu__item" role="menuitem"><a href="/southeast-asia/tours/best-of-thailand-cambodia-and-vietnam" class="menu__link">2 Weeks in Thailand, Cambodia, and Vietnam</a></li>
<li class="menu__item" role="menuitem" style="margin-bottom: 30px;"><a href=" /southeast-asia/tours/from-south-vietnam-to-north-cambodia" class="menu__link">12 Days in Thailand, Cambodia, and Vietnam)</a></li>
<li class="menu__item" role="menuitem"><a href="/southeast-asia/tours/vietnam-cambodia-family-tour" class="menu__link">2-Week Vietnam & Cambodia Itinerary (Family)</a></li>
<li class="menu__item" role="menuitem" style="margin-bottom: 30px;"><a href="/southeast-asia/tours/vietnam-cambodia-mekong-cruise" class="menu__link">2-Week Vietnam & Cambodia Itinerary (Retired Couple)</a></li>
<li class="menu__item" role="menuitem"><a href="/southeast-asia/tours/vietnam-cambodia-family-tour" class="menu__link">2 Weeks in Vietnam and Cambodia for Family</a></li>
<li class="menu__item" role="menuitem"><a href="/southeast-asia/tours/vietnam-cambodia-mekong-cruise" class="menu__link">2 Weeks in Vietnam and Cambodia With Mekong Cruise</a></li>
<li class="menu__item" role="menuitem"><a href="/southeast-asia/tours/cambodia-and-vietnam-highlights" class="menu__link">12 Days in Vietnam and Cambodia</a></li>
<li class="menu__item" role="menuitem" style="margin-bottom: 30px;"><a href="/southeast-asia/tours/from-south-vietnam-to-north-cambodia" class="menu__link">8 Days in Vietnam and Cambodia</a></li>
<li class="menu__item" role="menuitem" style="margin-bottom: 30px;"><a href="/southeast-asia/tours/classic-vietnam-and-thailand" class="menu__link">2 Weeks in Vietnam and Thailand</a></li>
<li class="menu__item" role="menuitem" style="margin-bottom: 30px;"><a href="/southeast-asia/tours/classic-vietnam-and-thailand" class="menu__link">2-Week Vietnam & Thailand Itinerary (Classic)</a></li>
<li class="menu__item" role="menuitem" style="margin-bottom: 30px;"><a href="/southeast-asia/tours/best-of-thailand-and-cambodia" class="menu__link">2-Weel Thailand & Cambodia Itinerary (In-depth)</a></li>
<li class="menu__item" role="menuitem" style="margin-bottom: 30px;"><a href="/southeast-asia/tours/best-of-thailand-and-cambodia" class="menu__link">11 Days in Thailand and Cambodia</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/southeast-asia/tours/thailand-cambodia-and-vietnam">All Thailand-Vietnam-Cambodia Tours</a></li>
</ul>
<!-- destinations -->
<ul data-menu="submenu-1" id="submenu-1" class="menu__level" tabindex="-1" role="menu" aria-label="destinations">
<li class="menu__item" role="menuitem"><a class="menu__link" href="/tours">Top Asia Tours</a></li>

@ -123,6 +123,21 @@
id="china_top_attractions_2021">China Top Attractions</a></li>
<li class="start-nav-item start-nav-item-last"><a href="/weather/"
id="china_weather_2021">China Weather</a></li>
<li class="start-nav-item start-nav-item-last"><a href="/travelguide/3-weeks-china-itinerary.htm"
id="china_weather_2021">3 Weeks in China</a></li>
<li class="start-nav-item start-nav-item-last"><a href="/travelguide/17-days-china-itinerary.htm"
id="china_weather_2021">17 Days in China</a></li>
<li class="start-nav-item start-nav-item-last"><a href="/travelguide/2-weeks-china-itinerary.htm"
id="china_weather_2021">2 Weeks in China</a></li>
<li class="start-nav-item start-nav-item-last"><a href="/travelguide/12-days-china-itinerary.htm"
id="china_weather_2021">12 Days in China</a></li>
<li class="start-nav-item start-nav-item-last"><a href="/travelguide/10-days-china-itinerary.htm"
id="china_weather_2021">10 Days in China</a></li>
<li class="start-nav-item start-nav-item-last"><a href="/travelguide/8-day-china-itinerary.htm"
id="china_weather_2021">8 Days in China</a></li>
<li class="start-nav-item start-nav-item-last"><a href="/travelguide/5-days-china-itinerary.htm"
id="china_weather_2021">5 Days in China</a></li>
</ul>
</div>
</li>

@ -894,7 +894,7 @@
</div>
<p id="tip_box" style="display: none; padding:0 20px; text-align: left; font-weight: 400; font-size: 19px;">
<strong >Note:</strong> <br>
<strong >Important notes:</strong> <br>
Your passport must be valid for more than 3 months at the time of entry into China. <br>
You dont't have Chinese visa refusal stamps in your passport.<br>
Please bring your China hotel reservation in case it is needed at the time of entry into China.
@ -907,7 +907,6 @@
<a href="https://www.facebook.com/login/?next=https%3A%2F%2Fwww.facebook.com%2Fgroups%2Fgoing2china%2F" target="_blank"><img alt="join us to China" class="img-responsive" src="https://data.chinahighlights.com/image/forms/thank-you-going-to-china.jpg" style=" border-radius: 6px;margin-top: 20px;" /></a>
</p>
</div>
<script>
function ready(fn) {
const el = (elementId) => {

@ -180,6 +180,20 @@
href="/travelguide/china-attraction-guide.htm">China
Top Attractions</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/weather/">China Weather</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/travelguide/3-weeks-china-itinerary.htm"
id="china_weather_2021">3 Weeks in China</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/travelguide/17-days-china-itinerary.htm"
id="china_weather_2021">17 Days in China</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/travelguide/2-weeks-china-itinerary.htm"
id="china_weather_2021">2 Weeks in China</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/travelguide/12-days-china-itinerary.htm"
id="china_weather_2021">12 Days in China</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/travelguide/10-days-china-itinerary.htm"
id="china_weather_2021">10 Days in China</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/travelguide/8-day-china-itinerary.htm"
id="china_weather_2021">8 Days in China</a></li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/travelguide/5-days-china-itinerary.htm"
id="china_weather_2021">5 Days in China</a></li>
</ul>
<!-- Culture -->
<ul data-menu="submenu-4" id="submenu-4" class="menu__level" tabindex="-1" role="menu" aria-label="Culture">

Loading…
Cancel
Save