100% hoa được sử dụng tại Festival hoa Mê Linh được trồng tại các làng hoa thuộc huyện Mê Linh (Hà Nội). Đây là lần thứ 2 sự kiện này diễn ra và được đánh giá là Festival hoa lớn nhất miền Bắc.

Festival Hoa Mê Linh lần thứ 2 sẽ diễn ra từ ngày 26-29/12, tại Quảng trường Trung tâm hành chính huyện Mê Linh. Bước vào khu vực chính là hàng loạt chiếc cổng với nhiều loài hoa đa màu sắc.

Nhiều tiểu cảnh đang được trang trí trong sáng ngày 25/12. Đây là lần thứ 2 sự kiện Festival hoa Mê Linh diễn ra.

Các công nhân đang tích cực cắm hoa, trang trí để sự kiện diễn ra vào sáng mai (26/12).

Ban tổ chức cho biết, rất nhiều loài hoa đặc trưng sẽ được trưng bày, tạo nên bức tranh hoa lớn nhất miền Bắc. Đây là dịp để Mê Linh khẳng định thương hiệu làng hoa truyền thống.

Festival hoa Mê Linh năm nay có chủ đề “Mê Linh rực rỡ sắc hoa”.

Đây không chỉ là ngày hội văn hóa, mà còn là dịp tôn vinh giá trị của làng nghề trồng hoa, quảng bá tiềm năng du lịch của Mê Linh đến bạn bè quốc tế.

Các nhà vườn, nghệ nhân trên địa bàn huyện Mê Linh tất bật chuyển, trang trí hoa đến khu vực tổ chức.

Không gian Festival ngập tràn sắc màu và hương thơm của các loài hoa.

Hoa hồng, một loài hoa được trồng nhiều nhất tại làng hoa Mê Linh được trưng bày tại Festival lần này.

Một số tiểu cảnh nhiều màu sắc được dựng lên trên sân khấu chính.

“Hoa hồng, loài hoa chủ đạo của lễ hội nên được chăm chút cẩn thận để mang đến vẻ đẹp hoàn hảo nhất”, đại diện nhiều nhà vườn cho biết.

Một số tiểu cảnh bắt mắt tại khu vực quảng trường chính.

Không gian festival ngập tràn sắc màu và hương thơm của các loài hoa cùng với dàn âm thanh sôi động, vũ điệu ánh sáng rực rỡ, hứa hẹn sẽ tạo nên không khí thật sự vui tươi, sôi động đối với du khách.

Hai chú voi mô hình tượng trưng cho khởi nghĩa Hai Bà Trưng được tái hiện, phía xa là chim hồng hạc.

Khu vực Quảng trường diễn ra Festival hoa Mê Linh diễn ra rộng gần 10.000 m2.

Nhiều du khách, người dân địa phương tranh thủ chụp ảnh tại các đường hoa.

Một khu vực tiểu cảnh khác với mô hình tháp Eiffel, Khải Hoàn Môn…

Thời tiết tại Hà Nội những ngày này ít nắng, gió nhẹ, trời lạnh… nên các loài hoa không bị héo. Mặt khác nhiều nhà vườn đã chăm sóc rất cẩn thận, nên việc hoa xuống sắc không nhiều.

Qua Festival hoa lần này, Ban tổ chức còn mong muốn người dân có cơ hội giới thiệu các sản phẩm hoa đặc trưng, các kỹ thuật trồng hoa độc đáo, góp phần quảng bá thương hiệu hoa Mê Linh đến với bạn bè trong và ngoài nước. Đồng thời, đây cũng là dịp để các nghệ nhân, nhà vườn giao lưu, học hỏi kinh nghiệm, cùng nhau nâng cao chất lượng sản phẩm.
Lê Hiếu
if (!isNotAllow3rd) {
loadJsDefer(‘https://apis.google.com/js/platform.js?onload=onLoadGapi’);
loadJsDefer(‘https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v5.0’);
}
function onLoadGapi() {
gapi.load(‘auth2’, function() {
gapi.load(‘auth2’, function() {
gapi.auth2.init({
client_id: ‘678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com’,
scope: ’email profile’,
fetch_basic_profile: true
});
});
});
}
function deleteCookie(name) {
document.cookie = name + “=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;”;
}
function lgGetCookie(name) {
var value = document.cookie;
var start = value.indexOf(” ” + name + “=”);
if (start == -1) {
start = value.indexOf(name + “=”);
}
if (start == -1) {
value = null;
} else {
start = value.indexOf(“=”, start) + 1;
var end = value.indexOf(“;”, start);
if (end == -1) {
end = value.length;
}
value = unescape(value.substring(start, end));
}
return value;
}
function lgSetCookie(name, value, date) {
var cookieValue = escape(value) + ((date == null) ? “” : “; expires=” + date.toUTCString());
document.cookie = name + “=” + cookieValue;
}
function authLogin(name,isLogin=false){
if (isLogin){
$(‘#top-link-account .first’).hide();
$(‘#top-link-account .second’).html(`${name} | Đăng xuất`);
$(‘#top-link-account .second’).attr(‘data-out’,1);
$(“#cmt-account-header .tabs .close, #cmt-account .tabs .close”)
.click();
$(‘.comment-account’).html(`
`);
}else {
if (window.confirm(“Bạn muốn đăng xuất?”)) {
var el = $(“#top-link-account”);
// //el.find(“a.first”).html(““)
// // .removeAttr(“style”);
el.find(“.first”).show();
el.find(“a.second”).html(“”);
el.find(“a.second”).removeAttr(“data-out”);
$(‘.comment-account’).html(`
Đăng ký
`);
deleteCookie(‘my_dv’);
$(“#_btn_logout”).click();
}
}
}
function logout(){
if (window.confirm(“Bạn muốn đăng xuất?”)) {
var el = $(“#top-link-account”);
// //el.find(“a.first”).html(““)
// // .removeAttr(“style”);
el.find(“.first”).show();
el.find(“a.second”).html(“”);
el.find(“a.second”).attr(“data-out”, “0”);
$(‘.comment-account’).html(`
Đăng ký
`);
deleteCookie(‘my_dv’);
$(“#_btn_logout”).click();
}
}
function login(){
$(“#_btn_logout”).click();
$(“#cmt_alert”).html(“Vui lòng đăng nhập hoặc đăng ký để gửi bình luận”);
}
function register(){
$(“#_btn_logout”).click();
$(‘[data-target=”signup”]’).click();
fnCaptcha();
}
var aspCookie = null;
(runinit = window.runinit || []).push(function() {
if(lgGetCookie(‘my_dv’)){
var user = JSON.parse(lgGetCookie(‘my_dv’));
if(user.name){
authLogin(user.name, true);
}
}
$(‘.btn-refresh’).click(function() {
fnCaptcha();
});
$(‘.iconew-eye’).click(function() {
$(this).toggleClass(‘closed’);
var x = $(this).siblings(‘input’)[0];
if (x.type === “password”) {
x.type = “text”;
} else {
x.type = “password”;
}
});
function stripHtml(html) {
var temporalDivElement = document.createElement(“div”);
temporalDivElement.innerHTML = html;
return temporalDivElement.textContent || temporalDivElement.innerText || “”;
}
// ——————— User account
// 1. Hide login/logout button -> in case API doesn’t available, login/logout will not show + Init OAuth_v2
//$(“#top-link-account”).hide();
if (typeof gapi != “undefined”) {
//window._cnnd.oauth.init();
console.log(“login not available”);
}
// 2. Remove excessive login/register form -> only 1 form available // no need
// 3. Callback functions
var fnPopupAction = function(id, alert, loginData) {
id = id.toLowerCase();
if (id == “close”) {
$(“#cmt-account-header .close”).click();
return;
}
if (id == “info” && !window._isShowingInfo) {
$(“#cmt-account-header .close”).click();
return;
}
window._isShowingInfo = false;
if (loginData) {
$(“#cmt-account-header [data-target]”).hide();
$(“#cmt-account-header [data-target].logged-in”).show().first().click();
$(“#cmt-account-header [data-info-name]”).html(loginData.name || “Quý vị”);
$(“#cmt-account-header [data-info-email]”).html(loginData.email ||
“<không xác định>”);
} else {
$(“#cmt-account-header [data-target]”).hide();
$(“#cmt-account-header [data-target].not-login”).show().first().click();
$(“#cmt-account-social”).show();
}
setTimeout(function() {
$(“#cmt-account-header > .wrapper”).css(“animation”, “none”);
}, 200);
$(“#cmt-account-header”).show();
$(“#cmt-account-header input[type=”password”]”).val(“”);
$(“#cmt-account-header [data-target=”” + id + “”]”).click();
$(“body”).css(“overflow”, “hidden”);
$(“#nav”).removeClass(“active”);
$(“#cmt_alert”).html(alert || “Vui lòng đăng nhập hoặc đăng ký để gửi bình luận”);
};
var accountMessageProcess = function(data) {
if (data.isLogged) {
fnPopupAction(“info”, “Vui lòng đăng nhập hoặc đăng ký để gửi bình luận”, {
name: data.name,
email: data.email
});
} else {
fnPopupAction(data.act, data.alert || “Vui lòng đăng nhập hoặc đăng ký”);
if (data.act == “close” && data.raw.Data && data.raw.Data.Approved) {
//window.alert(“Đăng nhập thành công”);
fnPopupAction(“info”, “Đăng nhập thành công”, {
name: data.raw.Data.Name,
email: $(“#_login_email”).val() || $(“#_sign_email”).val()
});
}
}
};
// 5. Action functions -> bind event to form elements
var fnPopupBindAction = function() {
// Tab
$(“#cmt-account-header [data-target]”).on(‘click’, function() {
$(“#cmt-account-header [data-target], #cmt-account-header [data-tab]”).removeClass(
“active”);
$(this).addClass(“active”);
var tab = $(“#cmt-account-header [data-tab='” + $(this).attr(“data-target”) + “‘]”);
tab.addClass(“active”)
.find(“input[type=”text”], input[type=”email”]”).first().focus();
tab.find(“input”).keyup(function(event) {
if (event.keyCode === 13) {
tab.find(“.btn.clickable”).click();
}
});
fnCaptcha();
$(“#cmt_alert”).html(“Vui lòng đăng nhập hoặc đăng ký để gửi bình luận”);
});
$(“#cmt-account-header .close”).on(‘click’, function() {
$(“#cmt-account-header”).hide();
$(“#cmt-account-header > .wrap”).removeAttr(“style”);
$(“body”).css(“overflow”, “unset”);
fnCaptcha();
$(“#cmt_alert”).html(“Vui lòng đăng nhập hoặc đăng ký để gửi bình luận”);
});
// Reload Captcha
// $(“#_reload_captcha”).on(‘click’, function () {
// fnCaptcha();
// });
// Btn Login
$(“#comment-frame”).on(‘click’,’#btn_login’, function () {
$(“#top-link-account .first”).click();
});
$(“#comment-frame”).on(‘click’,’#btn_signup’, function () {
$(“#top-link-account .first”).click();
$(‘[data-target=”signup”]’).click();
});
$(“#_btn_login”).on(‘click’, function() {
$(“#cmt_alert”).html(“Vui lòng đăng nhập hoặc đăng ký để gửi bình luận”);
var email, password;
email = $(“#_login_email”).val();
password = $(“#_login_password”).val();
if (!/^[a-z0-9-_\.]+[@][0-9a-z-]+(\.[0-9a-z-]+)+$/ig.test(email) || password
.length < 8) {
$(“#cmt_alert”).html(“Email hoặc mật khẩu không đúng!”);
return;
}
$.ajax({
url: pageSettings.DomainApiComment + “/api/get-usercomment.htm”,
data: {
email: encodeURI(email),
password: password,
sitename: pageSettings.commentSiteName,
},
type: “get”,
success: function (res){
if (res && res.data == true){
var user = {
email: email,
name: email.substring(0, email.indexOf(‘@’)),
}
let now = new Date();
lgSetCookie(‘my_dv’,JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000)));
authLogin(user.name, true);
}else {
$(“#cmt_alert”).html(“Có lỗi phát sinh, vui lòng thử lại sau”);
}
}
});
});
// Btn Signup
$(“#_btn_sign”).on(‘click’, function() {
$(“#cmt_alert”).html(“Vui lòng đăng nhập hoặc đăng ký để gửi bình luận”);
var email, name, password, repassword, captcha;
email = $(“#_sign_email”).val();
name = $(“#_sign_name”).val();
if (name == ”){
name = email.split(‘@’)[0];
}
password = $(“#_sign_password”).val();
//repassword = $(“#_sign_repassword”).val();
captcha = $(“#_sign_captcha”).val();
var format = /[!@#$%^&*()_+\-=\[\]{};’:”\\|,.\/?]/g;
if (!/^[a-z0-9-_\.]+[@][0-9a-z-]+(\.[0-9a-z-]+)+$/ig.test(email)) {
$(“#cmt_alert”).html(“Email không hợp lệ”);
return;
}
//if (name.length 20) {
// $(“#cmt_alert”).html(“Họ tên không được quá 20 ký tự (Có thể để nickname thay thế)!”);
// return;
//}
//if (format.test(name)) {
// $(“#cmt_alert”).html(“Tên không được chứa ký tự đặc biệt!”);
// return;
//}
if (password.length < 8) {
$(“#cmt_alert”).html(
“Mật khẩu phải có ít nhất 8 ký tự, chứa ít nhất 1 chữ số và 1 chữ cái”);
return;
}
//if (password != repassword) {
// $(“#cmt_alert”).html(“Mật khẩu xác nhận lại không khớp!”);
// return;
//}
if (!(/[a-z]/ig.test(password) && /[0-9]/ig.test(password))) {
$(“#cmt_alert”).html(“Mật khẩu phải chứa ít nhất 1 chữ số và 1 chữ cái”);
return;
}
if (captcha.length <= 0) {
$(“#cmt_alert”).html(“Vui lòng điền mã xác nhận trong ảnh!”);
return;
}
$.ajax({
type: ‘POST’,
url: pageSettings.DomainApiComment + “/api/insert-usercomment.htm”,
data: {
name: name,
email: email,
password: password,
captcha: captcha,
sitename: pageSettings.commentSiteName
},
success: function (res){
if (res && res.message == “Success”){
var user = {
email: email,
name: email.split(‘@’)[0],
}
let now = new Date();
lgSetCookie(‘my_dv’,JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000)));
authLogin(user.name, true);
$(“#cmt-account-header .close”).click();
}else {
$(“#cmt_alert”).html(“Có lỗi phát sinh, vui lòng thử lại sau”);
}
}
});
});
// Btn logout
$(“#_btn_logout”).on(‘click’, function() {
$(“#cmt_alert”).html(“Vui lòng đăng nhập hoặc đăng ký để gửi bình luận”);
$(“#cmt-account-header .close”).click();
fnPopupAction(“login”, “Bạn đã đăng xuất thành công”);
var el = $(“#top-link-account”);
//el.find(“a.first”).html(““)
// .removeAttr(“style”);
el.find(“a.first”).show();
el.find(“a.second”).html(“”);
$(“#cmt-account-social”).show();
});
// Header login/account_info
// Header login/account_info
$(“#top-link-account .first”).on(‘click’, function() {
if ($(“#top-link-account .second”).attr(“data-out”)) {
$(“#top-link-account .second”).toggleClass(“show”);
} else {
fnPopupAction(“login”);
}
});
// Btn register/log_out
$(“#top-link-account .second”).on(‘click’, function() {
if ($(“#top-link-account .second”).attr(“data-out”)) {
//$(“#_btn_logout”).click();
authLogin(‘my_dv’,false);
} else {
fnPopupAction(‘signup’);
}
//var el = $(“#top-link-account”);
//el.find(“a.first”).html(““)
// .removeAttr(“style”);
//el.find(“a.second”).html(“”);
});
};
fnPopupBindAction();
//login Facebook
var otherLogin = {
init: function() {
var me = this;
//gapi.load(‘auth2’, function () {
// gapi.auth2.init({
// client_id: ‘678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com’,
// scope: ’email profile’,
// fetch_basic_profile: true
// });
//});
$(“#cmt-account-social button[data-type]”).on(‘click’, function() {
me[$(this).attr(“data-type”)](function(response) {
$(“#cmt-account-header .tabs .close, #cmt-account .tabs .close”)
.click();
});
});
try {
fbClient.appId = ‘1304555827613749’; //’211029740744825′;
fbClient.version = “v14.0”;
fbClient.init();
setTimeout(FB.AppEvents.logPageView, 5000);
} catch (e) {
// ignore
}
},
loginFacebook: function(cb) {
var me = this;
function reloginFacebook(callback) {
FB.api(‘/me’, {
fields: ‘id, name, email’
}, function(profile) {
//console.debug(profile);
if (typeof callback === “function”) callback(profile);
});
};
FB.login(function(response) {
if (response.authResponse) {
reloginFacebook(function(info) {
console.log(info);
info.social = “facebook”;
info.accessToken = response.authResponse.accessToken;
var user = {
email: info.email,
name: info.name,
}
let now = new Date();
lgSetCookie(‘my_dv’,JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000)));
authLogin(user.name, true);
});
} else {
$(“#cmt_alert”).html(
“Bạn đã từ chối cấp quyền truy cập tài khoản Facebook”);
}
}, {
scope: ‘public_profile,email’
});
},
loginGoogle: function(callback) {
var me = this;
function callSocialApi(data, cb) {
data.social = “google”;
var user = {
email: data.email,
name: data.name,
}
let now = new Date();
lgSetCookie(‘my_dv’,JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000)));
authLogin(user.name, true);
}
// API call for Google login
if (gapi.auth2.getAuthInstance().isSignedIn.get()) {
//console.debug(‘[VCC] GAPI Process’);
var profile = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile();
//var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token;
var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse()
.access_token;
var params = {
id: profile.getId(),
name: profile.getName(),
email: profile.getEmail(),
accessToken: access_token
}
//console.log(‘params: ‘, params);
callSocialApi(params, callback);
} else {
//console.debug(‘[VCC] GAPI Login’);
gapi.auth2.getAuthInstance().signIn().then(
function(success) {
var profile = gapi.auth2.getAuthInstance().currentUser.get()
.getBasicProfile();
//var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token;
var access_token = gapi.auth2.getAuthInstance().currentUser.get()
.getAuthResponse().access_token;
var params = {
id: profile.getId(),
name: profile.getName(),
email: profile.getEmail(),
accessToken: access_token
}
//console.log(‘params: ‘, params);
callSocialApi(params, callback);
},
function(error) {
$(“#cmt_alert”).html(
“Bạn đã từ chối cấp quyền cho Báo Dân Việt truy cập tài khoản Google”
);
}
);
}
}
}
otherLogin.init();
});
Nguồn: https://danviet.vn/tram-hoa-dua-no-truoc-gio-ra-mat-festival-hoa-me-linh-lon-nhat-mien-bac-20241225132256105.htm
.danvietm .comment-box span:first-child { display: none; }
Xin chào ${name}!
Đăng xuất