[
'nh_admin_bar' => null,
'blocks' => [
'qhdw2uy' => object(Cake\ORM\Entity) id:0 {
'id' => (int) 154
'template_code' => 'batdongsan03'
'code' => 'qhdw2uy'
'name' => 'Logo'
'type' => 'html'
'view' => 'qhdw2uy.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{assign website_info value = $this->Setting->getWebsiteInfo()}
<div class="logo-section py-2">
{if !empty($website_info.company_logo)}
<a href="/">
{$this->LazyLoad->renderImage([
'src' => "{CDN_URL}{$website_info.company_logo}",
'alt' => "logo",
'class' => 'img-fluid',
'ignore' => true
])}
</a>
{/if}
</div>',
]
'data_extend' => [
]
'normal_data_extend' => [
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1738923645
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{assign website_info value = $this->Setting->getWebsiteInfo()}\r\n\r\n<div class=\"logo-section py-2\">\r\n {if !empty($website_info.company_logo)}\r\n <a href=\"\/\">\r\n {$this->LazyLoad->renderImage([\r\n 'src' => \"{CDN_URL}{$website_info.company_logo}\", \r\n 'alt' => \"logo\",\r\n 'class' => 'img-fluid',\r\n 'ignore' => true\r\n ])}\r\n <\/a>\r\n {\/if}\r\n<\/div>"}',
'data_extend' => '',
'normal_data_extend' => '',
'collection_data_extend' => '',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'hzfxs24' => object(Cake\ORM\Entity) id:1 {
'id' => (int) 157
'template_code' => 'batdongsan03'
'code' => 'hzfxs24'
'name' => '[Hệ thống] Menu'
'type' => 'menu'
'view' => 'view.tpl'
'config' => [
'class' => '',
'cache' => '0',
'item' => [
'' => [maximum depth reached],
],
]
'data_extend' => [
]
'normal_data_extend' => [
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1752566665
'data_block' => [
(int) 0 => [
'' => [maximum depth reached],
],
(int) 1 => [
'' => [maximum depth reached],
],
(int) 2 => [
'' => [maximum depth reached],
],
(int) 3 => [
'' => [maximum depth reached],
],
(int) 4 => [
'' => [maximum depth reached],
],
(int) 5 => [
'' => [maximum depth reached],
],
(int) 6 => [
'' => [maximum depth reached],
],
(int) 7 => [
'' => [maximum depth reached],
],
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","item":[{"type":"custom","name_vi":"V\u1ec1 ch\u00fang t\u00f4i","class_item":"","url_vi":"ve-chung-toi","image":"","image_source":"","view_item":"","type_sub_menu":""},{"type":"custom","name_vi":"D\u1ecbch v\u1ee5","class_item":"","url_vi":"dich-vu","image":"","image_source":"","has_sub_menu":"1","view_item":"sub_dropdown.tpl","type_sub_menu":"category_article","sub_categories_id":["67","66","65","64","63"]},{"type":"custom","name_vi":"H\u1ed3 s\u01a1 n\u0103ng l\u1ef1c ","class_item":"","url_vi":"ho-so-nang-luc","image":"","image_source":"","view_item":"","type_sub_menu":""},{"type":"custom","name_vi":"Quy tr\u00ecnh l\u00e0m vi\u1ec7c","class_item":"","url_vi":"quy-trinh-lam-viec","image":"","image_source":"","view_item":"","type_sub_menu":""},{"type":"custom","name_vi":"B\u1ea3ng gi\u00e1","class_item":"","url_vi":"bang-gia","image":"","image_source":"","view_item":"","type_sub_menu":""},{"type":"custom","name_vi":"Tin t\u1ee9c","class_item":"","url_vi":"tin-tuc","image":"","image_source":"","view_item":"","type_sub_menu":""},{"type":"category_article","category_id":"1","name_vi":"Tuy\u1ec3n d\u1ee5ng","class_item":"","url_vi":"tuyen-dung","image":"","image_source":"","view_item":"sub_dropdown.tpl","type_sub_menu":""},{"type":"4wiz20j","name_vi":"Li\u00ean h\u1ec7","class_item":"","url_vi":"","image":"","image_source":"","view_item":"","type_sub_menu":""}]}',
'data_extend' => '',
'normal_data_extend' => '',
'collection_data_extend' => '',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'47ciw8f' => object(Cake\ORM\Entity) id:2 {
'id' => (int) 237
'template_code' => 'batdongsan03'
'code' => '47ciw8f'
'name' => '[Header] - Phone '
'type' => 'html'
'view' => '47ciw8f.tpl'
'config' => [
'class' => 'float-right d-none d-lg-block ',
'cache' => '0',
'html_content' => '{assign website_info value = $this->Setting->getWebsiteInfo()}
{if !empty($website_info.phone)}
<div class="phone-header">
<a href="tel:{$website_info.phone}" target="_blank" rel="nofollow">
{__d('template', 'goi')}: {$website_info.phone}
</a>
</div>
{/if}',
]
'data_extend' => [
]
'normal_data_extend' => [
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1753521398
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"float-right d-none d-lg-block ","cache":"0","html_content":"{assign website_info value = $this->Setting->getWebsiteInfo()}\r\n\r\n{if !empty($website_info.phone)}\r\n <div class=\"phone-header\">\r\n <a href=\"tel:{$website_info.phone}\" target=\"_blank\" rel=\"nofollow\">\r\n {__d('template', 'goi')}: {$website_info.phone}\r\n <\/a>\r\n <\/div>\r\n{\/if}"}',
'data_extend' => null,
'normal_data_extend' => null,
'collection_data_extend' => null,
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'ksrhfzu' => object(Cake\ORM\Entity) id:3 {
'id' => (int) 193
'template_code' => 'batdongsan03'
'code' => 'ksrhfzu'
'name' => 'Logo Section 2'
'type' => 'html'
'view' => 'ksrhfzu.tpl'
'config' => [
'class' => '',
'cache' => '1',
'html_content' => '<div class="logo-section py-2">
{if !empty($data_extend['locale'][{LANGUAGE}]['logo_footer'])}
<a href="/">
{$this->LazyLoad->renderImage([
'src' => "{CDN_URL}{$this->Block->getLocale('logo_footer', $data_extend)}",
'alt' => 'logo',
'class' => 'img-fluid'
])}
</a>
{/if}
</div>',
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1752480793
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"1","html_content":"<div class=\"logo-section py-2\">\r\n {if !empty($data_extend['locale'][{LANGUAGE}]['logo_footer'])}\r\n <a href=\"\/\">\r\n {$this->LazyLoad->renderImage([\r\n 'src' => \"{CDN_URL}{$this->Block->getLocale('logo_footer', $data_extend)}\", \r\n 'alt' => 'logo',\r\n 'class' => 'img-fluid'\r\n ])}\r\n <\/a>\r\n {\/if}\r\n<\/div>"}',
'data_extend' => null,
'normal_data_extend' => '{"locale":{"vi":{"logo_footer":"/media/logo/logo-sao-khue.webp"}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'1d9kowy' => object(Cake\ORM\Entity) id:4 {
'id' => (int) 191
'template_code' => 'batdongsan03'
'code' => '1d9kowy'
'name' => 'Mô tả website'
'type' => 'html'
'view' => '1d9kowy.tpl'
'config' => [
'class' => 'mb-4 mb-md-0',
'cache' => '0',
'html_content' => '{assign website_info value = $this->Setting->getWebsiteInfo()}
{if !empty($website_info.company_name)}
<div class="title-footer mb-4">
{$website_info.company_name}
</div>
{/if}
<div class="entire-info-website">
{if !empty($data_extend['locale'][{LANGUAGE}]['mo_ta'])}
<div class="descript-website-section mb-0">
<p>
{$this->Block->getLocale('mo_ta', $data_extend)}
</p>
</div>
{/if}
<address>
{if !empty($website_info.sub_branch)}
{foreach from = $website_info.sub_branch item = sub_branch}
<div class="sub_base">
{if !empty($sub_branch.sub_name)}
{if !empty($sub_branch.sub_address)}
<p>
{$sub_branch.sub_name}: {$sub_branch.sub_address}
</p>
{/if}
{/if}
</div>
{/foreach}
{/if}
{if !empty($website_info.email)}
<span>{__d('template', 'email')}:</span>
<p>
{$website_info.email}
</p>
{/if}
{if !empty($website_info.hotline)}
<span>Hotline:</span>
<p>
{$website_info.hotline}
</p>
{/if}
</address>
</div>',
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1752481059
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"mb-4 mb-md-0","cache":"0","html_content":"{assign website_info value = $this->Setting->getWebsiteInfo()}\r\n{if !empty($website_info.company_name)}\r\n <div class=\"title-footer mb-4\">\r\n {$website_info.company_name}\r\n <\/div>\r\n{\/if}\r\n\r\n<div class=\"entire-info-website\">\r\n \r\n {if !empty($data_extend['locale'][{LANGUAGE}]['mo_ta'])}\r\n <div class=\"descript-website-section mb-0\">\r\n <p>\r\n {$this->Block->getLocale('mo_ta', $data_extend)}\r\n <\/p>\r\n <\/div>\r\n {\/if}\r\n \r\n <address>\r\n {if !empty($website_info.sub_branch)}\r\n {foreach from = $website_info.sub_branch item = sub_branch}\r\n <div class=\"sub_base\">\r\n {if !empty($sub_branch.sub_name)}\r\n {if !empty($sub_branch.sub_address)}\r\n <p>\r\n {$sub_branch.sub_name}: {$sub_branch.sub_address}\r\n <\/p>\r\n {\/if}\r\n {\/if}\r\n <\/div>\r\n {\/foreach}\r\n {\/if}\r\n \r\n {if !empty($website_info.email)}\r\n <span>{__d('template', 'email')}:<\/span>\r\n <p>\r\n {$website_info.email}\r\n <\/p>\r\n {\/if}\r\n \r\n {if !empty($website_info.hotline)}\r\n <span>Hotline:<\/span>\r\n <p>\r\n {$website_info.hotline}\r\n <\/p>\r\n {\/if}\r\n <\/address>\r\n<\/div>"}',
'data_extend' => null,
'normal_data_extend' => '{"locale":{"vi":{"tieu_de":"SAO KHUÊ SECURITY","mo_ta":"Chúng tôi tự hào là đơn vị hàng đầu trong lĩnh vực cung cấp dịch vụ bảo vệ uy tín, chất lượng và thiết kế thi công phòng sạch theo tiêu chuẩn ISO-GMP."}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'rek5jzo' => object(Cake\ORM\Entity) id:5 {
'id' => (int) 221
'template_code' => 'batdongsan03'
'code' => 'rek5jzo'
'name' => '[Footer] - Menu 1'
'type' => 'menu'
'view' => 'view_footer.tpl'
'config' => [
'class' => '',
'cache' => '1',
'item' => [
'' => [maximum depth reached],
],
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1751704987
'data_block' => [
(int) 0 => [
'' => [maximum depth reached],
],
(int) 1 => [
'' => [maximum depth reached],
],
(int) 2 => [
'' => [maximum depth reached],
],
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"1","item":[{"type":"custom","name_vi":"Ch\u00ednh s\u00e1ch b\u1ea3o m\u1eadt","class_item":"","url_vi":"#","image":"","image_source":"","view_item":"","type_sub_menu":""},{"type":"custom","name_vi":"Ch\u00ednh s\u00e1ch & Quy \u0111\u1ecbnh chung","class_item":"","url_vi":"#","image":"","image_source":"","view_item":"","type_sub_menu":""},{"type":"custom","name_vi":"S\u01a1 \u0111\u1ed3 trang","class_item":"","url_vi":"#","image":"","image_source":"","view_item":"","type_sub_menu":""}]}',
'data_extend' => null,
'normal_data_extend' => '{"locale":{"vi":{"tieu_de":"THÔNG TIN HỮU ÍCH"}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'imqa1kr' => object(Cake\ORM\Entity) id:6 {
'id' => (int) 222
'template_code' => 'batdongsan03'
'code' => 'imqa1kr'
'name' => '[Footer] - Menu 2'
'type' => 'menu'
'view' => 'view_footer.tpl'
'config' => [
'class' => '',
'cache' => '1',
'item' => [
'' => [maximum depth reached],
],
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1751704934
'data_block' => [
(int) 0 => [
'' => [maximum depth reached],
],
(int) 1 => [
'' => [maximum depth reached],
],
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"1","item":{"0":{"type":"custom","name_vi":"\u0110\u0103ng k\u00fd nh\u1eadn b\u1ea3n tin","class_item":"","url_vi":"#","image":"","image_source":"","view_item":"","type_sub_menu":""},"3":{"type":"custom","name_vi":"Li\u00ean h\u1ec7","class_item":"","url_vi":"#","image":"","image_source":"","view_item":"","type_sub_menu":""}}}',
'data_extend' => null,
'normal_data_extend' => '{"locale":{"vi":{"tieu_de":"ĐĂNG KÝ NHẬN BẢN TIN","image":"{CDN_URL}/media/icon/dmca_protected_16_120.png"}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'er5qyhf' => object(Cake\ORM\Entity) id:7 {
'id' => (int) 238
'template_code' => 'batdongsan03'
'code' => 'er5qyhf'
'name' => '[Footer] - cơ sở'
'type' => 'html'
'view' => 'er5qyhf.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{assign website_info value = $this->Setting->getWebsiteInfo()}
{if !empty($website_info.sub_branch)}
{foreach from = $website_info.sub_branch item = sub_branch}
{if !empty($sub_branch.sub_address)}
{if !empty($sub_branch.sub_name)}
<div class="title-footer mb-4">
{$sub_branch.sub_name}
</div>
{/if}
<div class="entire-map overflow-hidden mb-3">
<iframe src="https://maps.google.com/maps?hl=en&q={$sub_branch.sub_address}&t=p&z=14&ie=UTF8&iwloc=B&output=embed" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
</div>
{/if}
{/foreach}
{else}
<div class="entire-map overflow-hidden mb-3">
<iframe src="https://maps.google.com/maps?hl=en&q={$website_info.address}&t=p&z=14&ie=UTF8&iwloc=B&output=embed" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
</div>
{/if}',
]
'data_extend' => [
]
'normal_data_extend' => [
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1735008377
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{assign website_info value = $this->Setting->getWebsiteInfo()}\r\n\r\n{if !empty($website_info.sub_branch)}\r\n {foreach from = $website_info.sub_branch item = sub_branch}\r\n {if !empty($sub_branch.sub_address)}\r\n {if !empty($sub_branch.sub_name)}\r\n <div class=\"title-footer mb-4\">\r\n {$sub_branch.sub_name}\r\n <\/div>\r\n {\/if}\r\n \r\n <div class=\"entire-map overflow-hidden mb-3\">\r\n <iframe src=\"https:\/\/maps.google.com\/maps?hl=en&q={$sub_branch.sub_address}&t=p&z=14&ie=UTF8&iwloc=B&output=embed\" width=\"600\" height=\"450\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"><\/iframe>\r\n <\/div>\r\n {\/if}\r\n {\/foreach}\r\n{else}\r\n <div class=\"entire-map overflow-hidden mb-3\">\r\n <iframe src=\"https:\/\/maps.google.com\/maps?hl=en&q={$website_info.address}&t=p&z=14&ie=UTF8&iwloc=B&output=embed\" width=\"600\" height=\"450\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"><\/iframe>\r\n <\/div>\r\n{\/if}"}',
'data_extend' => null,
'normal_data_extend' => null,
'collection_data_extend' => null,
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'mlk8ubs' => object(Cake\ORM\Entity) id:8 {
'id' => (int) 155
'template_code' => 'batdongsan03'
'code' => 'mlk8ubs'
'name' => 'social'
'type' => 'html'
'view' => 'mlk8ubs.tpl'
'config' => [
'class' => 'mb-4 mb-md-0',
'cache' => '1',
'html_content' => '<div>
{if !empty($data_extend['locale'][{LANGUAGE}]['tieu_de'])}
<div class="title-footer mb-4">
{$this->Block->getLocale('tieu_de', $data_extend)}
</div>
{/if}
{if !empty($data_extend['locale'][{LANGUAGE}]['social'])}
{assign socials value = $this->Block->getLocale('social', $data_extend)}
<ul class="list-unstyled social-footer mb-0">
{foreach from = $socials item = social}
{if !empty($social.img)}
{assign var = url_img value = "{$this->Utilities->replaceVariableSystem($social.img)}"}
{else}
{assign var = url_img value = "data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="}
{/if}
<li class="{if !empty($social@first)}pr-2{else}px-2{/if}">
<a {if !empty($social.url)}href="{$this->Utilities->checkInternalUrl($social.url)}"{/if} title="{if !empty($social.name)}{$social.name}{/if}">
<i class="{$social.icon}"></i>
</a>
</li>
{/foreach}
</ul>
{/if}
</div>',
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1735011281
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"mb-4 mb-md-0","cache":"1","html_content":"<div> \r\n {if !empty($data_extend['locale'][{LANGUAGE}]['tieu_de'])}\r\n <div class=\"title-footer mb-4\">\r\n {$this->Block->getLocale('tieu_de', $data_extend)}\r\n <\/div>\r\n {\/if}\r\n \r\n {if !empty($data_extend['locale'][{LANGUAGE}]['social'])}\r\n {assign socials value = $this->Block->getLocale('social', $data_extend)}\r\n \r\n <ul class=\"list-unstyled social-footer mb-0\">\r\n {foreach from = $socials item = social}\r\n {if !empty($social.img)}\r\n {assign var = url_img value = \"{$this->Utilities->replaceVariableSystem($social.img)}\"}\r\n {else}\r\n \t{assign var = url_img value = \"data:image\/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==\"}\r\n {\/if}\r\n <li class=\"{if !empty($social@first)}pr-2{else}px-2{\/if}\">\r\n <a {if !empty($social.url)}href=\"{$this->Utilities->checkInternalUrl($social.url)}\"{\/if} title=\"{if !empty($social.name)}{$social.name}{\/if}\">\r\n <i class=\"{$social.icon}\"><\/i>\r\n <\/a>\r\n <\/li>\r\n {\/foreach}\r\n <\/ul>\r\n {\/if}\r\n<\/div>"}',
'data_extend' => '{"locale":{"vi":{"social":[{"name":"Facebook","icon":"fa-brands fa-facebook-f","url":"#"},{"name":"Linkedin","icon":"fa-brands fa-linkedin-in","url":"#"},{"name":"youtube","icon":"fa-brands fa-youtube","url":"#"},{"name":"Pinterest","icon":"fa-brands fa-pinterest","url":"#"},{"name":"X","icon":"fa-brands fa-x-twitter","url":"#"}]}}}',
'normal_data_extend' => '{"locale":{"vi":{"":""},"en":{"":""}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'1ycz29x' => object(Cake\ORM\Entity) id:9 {
'id' => (int) 239
'template_code' => 'batdongsan03'
'code' => '1ycz29x'
'name' => '[Footer] - menu 3'
'type' => 'menu'
'view' => 'view_foote_ngang.tpl'
'config' => [
'class' => '',
'cache' => '0',
'item' => [
'' => [maximum depth reached],
],
]
'data_extend' => [
]
'normal_data_extend' => [
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1735010502
'data_block' => [
(int) 0 => [
'' => [maximum depth reached],
],
(int) 1 => [
'' => [maximum depth reached],
],
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","item":[{"type":"custom","name_vi":"Ch\u00ednh s\u00e1ch b\u1ea3o m\u1eadt","name_en":"Privacy policy","class_item":"","url_vi":"#","url_en":"#","image":"","image_source":"","view_item":"","type_sub_menu":""},{"type":"custom","name_vi":"\u0110i\u1ec1u kho\u1ea3n s\u1eed d\u1ee5ng","name_en":"Terms of use","class_item":"","url_vi":"#","url_en":"#","image":"","image_source":"","view_item":"","type_sub_menu":""}]}',
'data_extend' => null,
'normal_data_extend' => null,
'collection_data_extend' => null,
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'xcahmvt' => object(Cake\ORM\Entity) id:10 {
'id' => (int) 215
'template_code' => 'batdongsan03'
'code' => 'xcahmvt'
'name' => 'Nút liên hệ góc màn hình'
'type' => 'html'
'view' => 'xcahmvt.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{assign icons value = $this->Block->getLocale('icons', $data_extend)}
{if !empty($icons)}
<div class="contact-fixed">
<div class="contact-fixed__button show">
<a>
<img src="{CDN_URL}/media/icon/7718888.webp" class="img-contact">
</a>
</div>
<div class="contact-fixed__close">
<a>
<img src="{CDN_URL}/media/icon/7718888.webp" class="img-contact">
</a>
</div>
<div class="contact-fixed__pulsation"></div>
<div class="contact-fixed__pulsation"></div>
<div class="contact-fixed__list show">
{foreach from = $icons item = icon}
<a class="contact-fixed__item" href="{if !empty($icon.link)}{$icon.link}{/if}" title="{if !empty($icon.tieu_de)}{$icon.tieu_de}{/if}" target="_blank">
<div class="contact-fixed__item-titles">
<div class="contact-fixed__item-title">
{if !empty($icon.tieu_de)}{$icon.tieu_de}{/if}
</div>
</div>
<div class="contact-fixed__item-icon">
{$this->LazyLoad->renderImage([
'src' => "{if !empty($icon.icon)}{$this->Utilities->replaceVariableSystem($icon.icon)}{/if}",
'alt' => "{if !empty($icon.tieu_de)}{$icon.tieu_de}{/if}",
'class' => 'img-fluid'
])}
</div>
</a>
{/foreach}
</div>
</div>
{/if}',
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1747982585
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{assign icons value = $this->Block->getLocale('icons', $data_extend)}\r\n\r\n{if !empty($icons)}\r\n <div class=\"contact-fixed\">\r\n <div class=\"contact-fixed__button show\">\r\n <a>\r\n <img src=\"{CDN_URL}\/media\/icon\/7718888.webp\" class=\"img-contact\"> \r\n <\/a>\r\n <\/div>\r\n <div class=\"contact-fixed__close\">\r\n <a>\r\n <img src=\"{CDN_URL}\/media\/icon\/7718888.webp\" class=\"img-contact\"> \r\n <\/a>\r\n <\/div>\r\n <div class=\"contact-fixed__pulsation\"><\/div>\r\n <div class=\"contact-fixed__pulsation\"><\/div>\r\n \r\n <div class=\"contact-fixed__list show\">\r\n {foreach from = $icons item = icon}\r\n <a class=\"contact-fixed__item\" href=\"{if !empty($icon.link)}{$icon.link}{\/if}\" title=\"{if !empty($icon.tieu_de)}{$icon.tieu_de}{\/if}\" target=\"_blank\">\r\n <div class=\"contact-fixed__item-titles\">\r\n <div class=\"contact-fixed__item-title\">\r\n {if !empty($icon.tieu_de)}{$icon.tieu_de}{\/if}\r\n <\/div>\r\n \r\n <\/div>\r\n <div class=\"contact-fixed__item-icon\">\r\n {$this->LazyLoad->renderImage([\r\n 'src' => \"{if !empty($icon.icon)}{$this->Utilities->replaceVariableSystem($icon.icon)}{\/if}\", \r\n 'alt' => \"{if !empty($icon.tieu_de)}{$icon.tieu_de}{\/if}\",\r\n 'class' => 'img-fluid'\r\n ])}\r\n <\/div>\r\n <\/a>\r\n {\/foreach}\r\n <\/div>\r\n <\/div>\r\n{\/if}"}',
'data_extend' => '{"locale":{"vi":{"icons":[{"tieu_de":"Hotline: 0832326236","icon":"{CDN_URL}/media/icon/icon-phone.webp","link":"tel:0832326236"},{"tieu_de":"Zalo: 0832326236","icon":"{CDN_URL}/media/icon/icon-zalo.webp","link":"http://zalo.me/0832326236"}]},"en":{"icons":[{"tieu_de":"Whatsapp","icon":"{CDN_URL}/media/icon/download-10.svg","link":"https://wa.me/+84981338832"},{"tieu_de":"Hotline","icon":"{CDN_URL}/media/icon/download-11.svg","link":"http://zalo.me/0981338832"},{"tieu_de":"Viber","icon":"{CDN_URL}/media/icon/download-1_1.svg","link":"http://zalo.me/0981338832"},{"tieu_de":"Line","icon":"{CDN_URL}/media/icon/download-2_1.svg","link":"https://line.me/ti/p/pmlfGEtcuB"},{"tieu_de":"Messenger","icon":"{CDN_URL}/media/icon/download_1.svg","link":"https://www.facebook.com/messages/t/509585168908341"}]}}}',
'normal_data_extend' => '{"locale":{"vi":{"":""}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'z1pws9h' => object(Cake\ORM\Entity) id:11 {
'id' => (int) 272
'template_code' => 'batdongsan03'
'code' => 'z1pws9h'
'name' => '[Hệ thống] Bộ lọc sản phẩm nhà xưởng'
'type' => 'html'
'view' => 'z1pws9h.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{assign var = current_url value = $this->Url->build()}
<div nh-filter-params class="filter-url">
<a class="btn-filter-mobile" nh-filter="btn" href="javascript:;">
<i class="fa-light fa-filter-list font-weight-bold"></i> {__d('template', 'bo_loc')}
</a>
<div class="back-drop"></div>
<div class="content-filter-product" nh-filter="content">
<div class="content-filter-head">
<div class="d-flex justify-content-between h3 mb-5">
<div class="font-weight-bold">{__d('template', 'bo_loc')}</div>
<a href="javascript:;" nh-filter="close" class="close-sidebar effect-rotate icon-close color-main">
<i class="fa-light fa-xmark"></i>
</a>
</div>
</div>
<form id="form_filter" action="/tim-kiem" method="get" autocomplete="off">
{* Data Lọc Thuộc tính *}
{assign var = white_list_attribute value = ['phongchaychuachay', 'dientich', 'citydistrict', 'pricedetail', 'specifications', 'address']}
{assign var = check_attribute_category value = $this->AttributeV2->checkApplyAttributeByCategory()}
{if empty($check_attribute_category) || (!empty($check_attribute_category) && empty({PAGE_CATEGORY_ID}))}
{assign var = check_attribute_category value = false}
{/if}
{if !empty($check_attribute_category)}
{assign var = attributes_apply_category value = $this->AttributeV2->attributesApplyCategory({PAGE_CATEGORY_ID}, {LANGUAGE})}
{else}
{assign var = attributes_apply_category value = $this->AttributeV2->getTypeAllAttributes(PRODUCT, {LANGUAGE})}
{/if}
<div class="row">
<div class="col-lg-6 col-12">
{* Lọc từ khóa *}
<div class="input-group mb-lg-0 mb-3">
<div class="input-group-prepend">
<span class="input-group-text bg-white border-right-0">
<i class="fas fa-search"></i>
</span>
</div>
<input type="text" value="{$this->Utilities->getParamsByKey('keyword')}" class="form-control border-left-0" placeholder="{__d('template', 'tim_kiem_theo_ten_toa_nha')} ..." name="keyword">
</div>
</div>
<div class="col-lg-4 col-12">
{if !empty($attributes_apply_category)}
{foreach from = $attributes_apply_category key = code item = attribute}
{if !empty($white_list_attribute) && !in_array($code, $white_list_attribute)}
{continue}
{/if}
{assign var = attribute_type value = $attribute.attribute_type}
{assign var = input_type value = $attribute.input_type}
{if !empty($attribute_type) && in_array($attribute_type, ['product'])}
{if $input_type eq 'city_district'}
{$this->element("attribute/city_district", [
'attribute' => $attribute,
'code' => $code,
'current_url' => $current_url
])}
{/if}
{/if}
{/foreach}
{/if}
</div>
{if !DEVICE}
<div id="button_search_filter" class="col-lg-2 col-12 mb-lg-0 mb-3">
<button type="submit" nh-filter-advanced class="btn btn-filter-advanced">
{__d('template', 'tim_kiem')}
</button>
</div>
{/if}
{if !empty($attributes_apply_category)}
{foreach from = $attributes_apply_category key = code item = attribute}
{if !empty($white_list_attribute) && !in_array($code, $white_list_attribute)}
{continue}
{/if}
{assign var = attribute_type value = $attribute.attribute_type}
{assign var = input_type value = $attribute.input_type}
{if !empty($attribute_type) && in_array($attribute_type, ['product'])}
{if !empty($input_type) && in_array($input_type, ['single_select', 'special_select_item', 'multiple_select'])}
<div class="col-lg-4 col-12">
{$this->element("attribute/select_option", [
'attribute' => $attribute,
'code' => $code,
'current_url' => $current_url
])}
</div>
{/if}
{if $input_type eq 'numeric'}
<div class="col-lg-4 col-12">
{$this->element("attribute/numeric", [
'attribute' => $attribute,
'code' => $code,
'current_url' => $current_url
])}
</div>
{/if}
{/if}
{/foreach}
{/if}
<div class="col-lg-4 col-12 mb-lg-0 mb-3">
<div class="dropdown">
<button type="button" class="btn btn-toggle-price">
{__d('template', 'gia_san_pham')}
</button>
<div class="dropdown-range-price">
<label>{__d('template', 'chon_khoang_gia')}</label>
<div class="price-range">
<div nh-price-range="slider"></div>
<div class="number_amount d-flex justify-content-between align-items-center mt-4">
<div class="box-price">
<span>Giá: </span>
<span nh-price-range="from" class="price-from color-highlight"></span>
<span class="color-highlight"> - </span>
<span nh-price-range="to" class="price-to color-highlight"></span>
</div>
</div>
<input type="hidden" name="price_from" value="{$this->Utilities->getParamsByKey('price_from')}">
<input type="hidden" name="price_to" value="{$this->Utilities->getParamsByKey('price_to')}">
</div>
</div>
</div>
</div>
{if DEVICE}
<div class="col-lg-2 col-12 mb-lg-0 mb-3">
<button type="submit" nh-filter-advanced class="btn btn-filter-advanced">
{__d('template', 'tim_kiem')}
</button>
</div>
{/if}
</div>
</form>
</div>
</div>',
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1738827906
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{assign var = current_url value = $this->Url->build()}\r\n<div nh-filter-params class=\"filter-url\">\r\n <a class=\"btn-filter-mobile\" nh-filter=\"btn\" href=\"javascript:;\">\r\n <i class=\"fa-light fa-filter-list font-weight-bold\"><\/i> {__d('template', 'bo_loc')}\r\n <\/a>\r\n <div class=\"back-drop\"><\/div>\r\n <div class=\"content-filter-product\" nh-filter=\"content\">\r\n <div class=\"content-filter-head\">\r\n <div class=\"d-flex justify-content-between h3 mb-5\">\r\n <div class=\"font-weight-bold\">{__d('template', 'bo_loc')}<\/div>\r\n <a href=\"javascript:;\" nh-filter=\"close\" class=\"close-sidebar effect-rotate icon-close color-main\">\r\n <i class=\"fa-light fa-xmark\"><\/i>\r\n <\/a>\r\n <\/div>\r\n <\/div>\r\n \r\n <form id=\"form_filter\" action=\"\/tim-kiem\" method=\"get\" autocomplete=\"off\">\r\n {* Data L\u1ecdc Thu\u1ed9c t\u00ednh *}\r\n {assign var = white_list_attribute value = ['phongchaychuachay', 'dientich', 'citydistrict', 'pricedetail', 'specifications', 'address']}\r\n {assign var = check_attribute_category value = $this->AttributeV2->checkApplyAttributeByCategory()}\r\n {if empty($check_attribute_category) || (!empty($check_attribute_category) && empty({PAGE_CATEGORY_ID}))}\r\n {assign var = check_attribute_category value = false}\r\n {\/if}\r\n \r\n {if !empty($check_attribute_category)}\r\n {assign var = attributes_apply_category value = $this->AttributeV2->attributesApplyCategory({PAGE_CATEGORY_ID}, {LANGUAGE})}\r\n {else}\r\n {assign var = attributes_apply_category value = $this->AttributeV2->getTypeAllAttributes(PRODUCT, {LANGUAGE})}\r\n {\/if}\r\n \r\n <div class=\"row\">\r\n <div class=\"col-lg-6 col-12\">\r\n {* L\u1ecdc t\u1eeb kh\u00f3a *}\r\n <div class=\"input-group mb-lg-0 mb-3\">\r\n <div class=\"input-group-prepend\">\r\n <span class=\"input-group-text bg-white border-right-0\">\r\n <i class=\"fas fa-search\"><\/i>\r\n <\/span>\r\n <\/div>\r\n <input type=\"text\" value=\"{$this->Utilities->getParamsByKey('keyword')}\" class=\"form-control border-left-0\" placeholder=\"{__d('template', 'tim_kiem_theo_ten_toa_nha')} ...\" name=\"keyword\">\r\n <\/div>\r\n <\/div>\r\n \r\n <div class=\"col-lg-4 col-12\">\r\n {if !empty($attributes_apply_category)}\r\n {foreach from = $attributes_apply_category key = code item = attribute}\r\n {if !empty($white_list_attribute) && !in_array($code, $white_list_attribute)}\r\n {continue}\r\n {\/if}\r\n \r\n {assign var = attribute_type value = $attribute.attribute_type}\r\n {assign var = input_type value = $attribute.input_type}\r\n \r\n {if !empty($attribute_type) && in_array($attribute_type, ['product'])}\r\n {if $input_type eq 'city_district'}\r\n {$this->element(\"attribute\/city_district\", [\r\n 'attribute' => $attribute,\r\n 'code' => $code,\r\n 'current_url' => $current_url\r\n ])}\r\n {\/if}\r\n {\/if}\r\n {\/foreach}\r\n {\/if}\r\n <\/div>\r\n \r\n {if !DEVICE}\r\n <div id=\"button_search_filter\" class=\"col-lg-2 col-12 mb-lg-0 mb-3\">\r\n <button type=\"submit\" nh-filter-advanced class=\"btn btn-filter-advanced\">\r\n {__d('template', 'tim_kiem')}\r\n <\/button>\r\n <\/div>\r\n {\/if}\r\n \r\n {if !empty($attributes_apply_category)}\r\n {foreach from = $attributes_apply_category key = code item = attribute}\r\n {if !empty($white_list_attribute) && !in_array($code, $white_list_attribute)}\r\n {continue}\r\n {\/if}\r\n \r\n {assign var = attribute_type value = $attribute.attribute_type}\r\n {assign var = input_type value = $attribute.input_type}\r\n \r\n {if !empty($attribute_type) && in_array($attribute_type, ['product'])}\r\n {if !empty($input_type) && in_array($input_type, ['single_select', 'special_select_item', 'multiple_select'])}\r\n <div class=\"col-lg-4 col-12\">\r\n {$this->element(\"attribute\/select_option\", [\r\n 'attribute' => $attribute,\r\n 'code' => $code,\r\n 'current_url' => $current_url\r\n ])}\r\n <\/div>\r\n {\/if}\r\n \r\n {if $input_type eq 'numeric'}\r\n <div class=\"col-lg-4 col-12\">\r\n {$this->element(\"attribute\/numeric\", [\r\n 'attribute' => $attribute,\r\n 'code' => $code,\r\n 'current_url' => $current_url\r\n ])}\r\n <\/div>\r\n {\/if}\r\n {\/if}\r\n {\/foreach}\r\n {\/if}\r\n \r\n <div class=\"col-lg-4 col-12 mb-lg-0 mb-3\">\r\n <div class=\"dropdown\">\r\n <button type=\"button\" class=\"btn btn-toggle-price\">\r\n {__d('template', 'gia_san_pham')}\r\n <\/button>\r\n <div class=\"dropdown-range-price\">\r\n <label>{__d('template', 'chon_khoang_gia')}<\/label>\r\n <div class=\"price-range\">\r\n <div nh-price-range=\"slider\"><\/div>\r\n <div class=\"number_amount d-flex justify-content-between align-items-center mt-4\">\r\n <div class=\"box-price\">\r\n <span>Gi\u00e1: <\/span>\r\n <span nh-price-range=\"from\" class=\"price-from color-highlight\"><\/span> \r\n <span class=\"color-highlight\"> - <\/span>\r\n <span nh-price-range=\"to\" class=\"price-to color-highlight\"><\/span>\r\n <\/div>\r\n <\/div>\r\n \r\n <input type=\"hidden\" name=\"price_from\" value=\"{$this->Utilities->getParamsByKey('price_from')}\">\r\n <input type=\"hidden\" name=\"price_to\" value=\"{$this->Utilities->getParamsByKey('price_to')}\">\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n \r\n {if DEVICE}\r\n <div class=\"col-lg-2 col-12 mb-lg-0 mb-3\">\r\n <button type=\"submit\" nh-filter-advanced class=\"btn btn-filter-advanced\">\r\n {__d('template', 'tim_kiem')}\r\n <\/button>\r\n <\/div>\r\n {\/if}\r\n <\/div>\r\n <\/form>\r\n <\/div>\r\n<\/div>"}',
'data_extend' => '',
'normal_data_extend' => '{"locale":{"vi":{"san_pham_numeric":"Sản phẩm numeric"}},"normal":{}}',
'collection_data_extend' => '',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'tyc9jrx' => object(Cake\ORM\Entity) id:12 {
'id' => (int) 212
'template_code' => 'batdongsan03'
'code' => 'tyc9jrx'
'name' => 'Breadcrums'
'type' => 'html'
'view' => 'tyc9jrx.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '<nav class="breadcrumbs-section my-3">
<a href="/">
{__d('template', 'trang_chu')}
</a>
{if !empty($breadcrumb)}
{foreach from = $breadcrumb item = item name = breadcrumb_each}
{if !$smarty.foreach.breadcrumb_each.last}
{if !empty($item.url)}
<a href="{$this->Utilities->checkInternalUrl($item.url)}">
{if !empty($item.name)}
{$item.name|escape}
{/if}
</a>
{/if}
{else}
<a href="{$this->Utilities->checkInternalUrl($item.url)}">
<span>
{if !empty($item.name)}
{$item.name|escape}
{/if}
</span>
</a>
{/if}
{/foreach}
{/if}
</nav>',
]
'data_extend' => [
]
'normal_data_extend' => [
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1735201586
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"<nav class=\"breadcrumbs-section my-3\">\r\n\t<a href=\"\/\">\r\n\t {__d('template', 'trang_chu')}\r\n\t<\/a>\r\n\t{if !empty($breadcrumb)}\r\n\t {foreach from = $breadcrumb item = item name = breadcrumb_each}\r\n\t {if !$smarty.foreach.breadcrumb_each.last}\r\n\t {if !empty($item.url)}\r\n \t <a href=\"{$this->Utilities->checkInternalUrl($item.url)}\">\r\n \t {if !empty($item.name)}\r\n \t {$item.name|escape}\r\n \t {\/if}\r\n \t <\/a>\r\n\t {\/if}\r\n\t {else}\r\n\t <a href=\"{$this->Utilities->checkInternalUrl($item.url)}\">\r\n\t <span>\r\n \t {if !empty($item.name)}\r\n \t {$item.name|escape}\r\n \t {\/if}\r\n \t <\/span>\r\n \t <\/a>\r\n\t {\/if}\r\n\t {\/foreach}\r\n\t{\/if}\r\n<\/nav>"}',
'data_extend' => '',
'normal_data_extend' => '',
'collection_data_extend' => '',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'y5c1wfn' => object(Cake\ORM\Entity) id:13 {
'id' => (int) 231
'template_code' => 'batdongsan03'
'code' => 'y5c1wfn'
'name' => '[Page] Banner tiêu đề seo'
'type' => 'html'
'view' => 'y5c1wfn.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{if !empty({PAGE_CATEGORY_ID})}
{assign var = data_category value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {ARTICLE}, [
'get_user' => true,
'get_categories' => true,
{LANG} => LANGUAGE
])}
<div class="title-category">
{if !empty($data_category.name)}
<h1>
{$data_category.name}
</h1>
{/if}
{if !empty($data_category.description)}
<h3 class="title-section mb-4">
{$data_category.description}
</h3>
{/if}
{if !empty($data_category.content)}
{$data_category.content}
{/if}
</div>
{/if}',
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1752051528
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{if !empty({PAGE_CATEGORY_ID})}\r\n {assign var = data_category value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {ARTICLE}, [\r\n 'get_user' => true,\r\n 'get_categories' => true,\r\n {LANG} => LANGUAGE\r\n ])}\r\n <div class=\"title-category\"> \r\n {if !empty($data_category.name)}\r\n <h1>\r\n {$data_category.name}\r\n <\/h1>\r\n {\/if}\r\n \r\n {if !empty($data_category.description)}\r\n <h3 class=\"title-section mb-4\">\r\n {$data_category.description}\r\n <\/h3>\r\n {\/if}\r\n \r\n \r\n {if !empty($data_category.content)}\r\n {$data_category.content}\r\n {\/if}\r\n <\/div> \r\n{\/if}"}',
'data_extend' => '',
'normal_data_extend' => '{"locale":{"vi":{"anh_nen":"{CDN_URL}/media/banner/bg_duan.webp"}},"normal":{}}',
'collection_data_extend' => '',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'5hw381f' => object(Cake\ORM\Entity) id:14 {
'id' => (int) 259
'template_code' => 'batdongsan03'
'code' => '5hw381f'
'name' => 'Danh mục & sản phẩm theo đường dẫn'
'type' => 'html'
'view' => '5hw381f.tpl'
'config' => [
'class' => '',
'cache' => '1',
'html_content' => '{assign var = category_info value = $this->Category->getCategories({PRODUCT}, {LANGUAGE}, [
'get_user' => true,
{FILTER} => [
'parent_id' => PAGE_CATEGORY_ID
],
{SORT} => [
{FIELD} => 'category_id',
{SORT} => ASC
]
])}
{if !empty($category_info)}
{assign var ="counter" value =0}
{foreach from = $category_info item = category}
{if $counter < 8}
{if !empty($category.name)}
<h3 class="title-section mb-5">
{$category.name}
</h3>
{/if}
{assign var = data value = $this->Product->getProducts([
'get_categories' => true,
'get_attributes' => true,
{FIELD} => FULL_INFO,
{FILTER} => [
'id_categories' => [{$category.id}]
]
], {LANGUAGE})}
{if !empty($data)}
<div class="swiper" nh-swiper="{if !empty($data_extend.slider)}{htmlentities($data_extend.slider|@json_encode)}{/if}">
<div class="swiper-wrapper">
{foreach from = $data item = product}
<div nh-product="{if !empty($product.id)}{$product.id}{/if}" nh-product-item-id="{if !empty($product.items[0])}{$product.items[0].id}{/if}" nh-product-attribute-special="{if !empty($product.attributes_item_special)}{htmlentities($product.attributes_item_special|@json_encode)}{/if}" class="product-item swiper-slide mb-5">
<div class="inner-image wrp-effect-scale overflow-hidden">
<div class="product-status">
{if !empty($product.apply_special) && !empty($product.discount_percent)}
<span class="onsale">
-{$product.discount_percent}%
</span>
{/if}
{if !empty($product.attributes.project.value)}
{if ($product.attributes.project.value === 1) }
<span class="new_project text-uppercase">
{$product.attributes.project.name}
</span>
{/if}
{/if}
{if !empty($product.featured)}
<span class="featured text-uppercase">
{__d('template', 'noi_bat')}
</span>
{/if}
{if isset($product.total_quantity_available) && $product.total_quantity_available <= 0 && !empty($data_init.product.check_quantity)}
<span class="out-stock">
{__d('template', 'het_hang')}
</span>
{/if}
</div>
<div class="ratio-3-2">
{if !empty($product['all_images'][0])}
{assign var = url_img value = "{CDN_URL}{$this->Utilities->getThumbs($product['all_images'][0], 350)}"}
{else}
{assign var = url_img value = "data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="}
{/if}
<a href="{$this->Utilities->checkInternalUrl($product.url)}" title="{$product.name}">
{$this->LazyLoad->renderImage([
'src' => $url_img,
'alt' => $product.name,
'class' => 'img-fluid',
'ignore' => true
])}
</a>
</div>
</div>
<div class="inner-content">
{if !empty($product.name)}
<h4 class="product-title mb-3">
<a href="{$this->Utilities->checkInternalUrl($product.url)}">
{$product.name|escape|truncate:50:" ..."}
</a>
</h4>
{/if}
{if !empty($product.attributes.address.value)}
<span class="vi-tri">
{$product.attributes.address.value}
</span>
{/if}
{if !empty($product.items)}
{foreach from = $product.items item = product}
<div class="price-heart d-flex justify-content-between align-items-center">
<div class="price mt-2">
<span class="price-amount">
{if empty($product.apply_special) && !empty($product.price)}
{$product.price|number_format:0:".":","}
<span class="currency-symbol">{CURRENCY_UNIT}</span>
{/if}
{if !empty($product.apply_special) && !empty($product.price_special)}
{$product.price_special|number_format:0:".":","}
<span class="currency-symbol">{CURRENCY_UNIT}</span>
{/if}
</span>
{if !empty($product.apply_special) && !empty($product.price)}
<span class="price-amount old-price">
{$product.price|number_format:0:".":","}
<span class="currency-symbol">{CURRENCY_UNIT}</span>
</span>
{/if}
</div>
<a nh-btn-action="wishlist" wishlist-id="{if !empty($product.id)}{$product.id}{/if}" wishlist-type="{PRODUCT}" class="btn-product-action mr-3" href="javascript:;" title="{__d('template', 'yeu_thich')}">
<i class="fa-light fa-heart"></i>
</a>
</div>
{/foreach}
{/if}
</div>
</div>
{/foreach}
</div>
</div>
{assign var ="counter" value =$counter+1}
{/if}
{/if}
{/foreach}
{else}
<div nh-block="4375hpu" class="product-filter" type-load="document-ready"></div>
<div nh-block="8twlsfg" class="product-block" type-load="document-ready"></div>
{/if}',
]
'data_extend' => [
'slider' => [
'' => [maximum depth reached],
],
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1735786976
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"1","html_content":"{assign var = category_info value = $this->Category->getCategories({PRODUCT}, {LANGUAGE}, [\r\n 'get_user' => true,\r\n {FILTER} => [\r\n 'parent_id' => PAGE_CATEGORY_ID\r\n ],\r\n {SORT} => [\r\n {FIELD} => 'category_id',\r\n {SORT} => ASC\r\n ]\r\n ])}\r\n\r\n{if !empty($category_info)}\r\n{assign var =\"counter\" value =0}\r\n{foreach from = $category_info item = category}\r\n {if $counter < 8}\r\n \r\n {if !empty($category.name)}\r\n <h3 class=\"title-section mb-5\">\r\n {$category.name}\r\n <\/h3>\r\n {\/if}\r\n \r\n {assign var = data value = $this->Product->getProducts([\r\n 'get_categories' => true,\r\n 'get_attributes' => true,\r\n {FIELD} => FULL_INFO,\r\n {FILTER} => [\r\n 'id_categories' => [{$category.id}]\r\n ]\r\n ], {LANGUAGE})}\r\n {if !empty($data)}\r\n <div class=\"swiper\" nh-swiper=\"{if !empty($data_extend.slider)}{htmlentities($data_extend.slider|@json_encode)}{\/if}\">\r\n <div class=\"swiper-wrapper\">\r\n {foreach from = $data item = product}\r\n <div nh-product=\"{if !empty($product.id)}{$product.id}{\/if}\" nh-product-item-id=\"{if !empty($product.items[0])}{$product.items[0].id}{\/if}\" nh-product-attribute-special=\"{if !empty($product.attributes_item_special)}{htmlentities($product.attributes_item_special|@json_encode)}{\/if}\" class=\"product-item swiper-slide mb-5\">\r\n <div class=\"inner-image wrp-effect-scale overflow-hidden\">\r\n <div class=\"product-status\">\r\n {if !empty($product.apply_special) && !empty($product.discount_percent)}\r\n <span class=\"onsale\">\r\n -{$product.discount_percent}%\r\n <\/span>\r\n {\/if}\r\n \r\n {if !empty($product.attributes.project.value)}\r\n {if ($product.attributes.project.value === 1) }\r\n <span class=\"new_project text-uppercase\">\r\n {$product.attributes.project.name}\r\n <\/span>\r\n {\/if}\r\n {\/if}\r\n \r\n \r\n {if !empty($product.featured)}\r\n <span class=\"featured text-uppercase\">\r\n {__d('template', 'noi_bat')}\r\n <\/span>\r\n {\/if}\r\n \r\n {if isset($product.total_quantity_available) && $product.total_quantity_available <= 0 && !empty($data_init.product.check_quantity)}\r\n <span class=\"out-stock\">\r\n {__d('template', 'het_hang')}\r\n <\/span>\r\n {\/if}\r\n <\/div>\r\n \r\n <div class=\"ratio-3-2\">\r\n {if !empty($product['all_images'][0])}\r\n {assign var = url_img value = \"{CDN_URL}{$this->Utilities->getThumbs($product['all_images'][0], 350)}\"}\r\n {else}\r\n {assign var = url_img value = \"data:image\/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==\"}\r\n {\/if}\r\n \r\n <a href=\"{$this->Utilities->checkInternalUrl($product.url)}\" title=\"{$product.name}\">\r\n {$this->LazyLoad->renderImage([\r\n 'src' => $url_img, \r\n 'alt' => $product.name, \r\n 'class' => 'img-fluid',\r\n 'ignore' => true\r\n ])}\r\n <\/a>\r\n <\/div>\r\n <\/div>\r\n \r\n <div class=\"inner-content\">\r\n {if !empty($product.name)}\r\n <h4 class=\"product-title mb-3\">\r\n <a href=\"{$this->Utilities->checkInternalUrl($product.url)}\">\r\n {$product.name|escape|truncate:50:\" ...\"}\r\n <\/a>\r\n <\/h4>\r\n {\/if}\r\n \r\n {if !empty($product.attributes.address.value)}\r\n <span class=\"vi-tri\">\r\n {$product.attributes.address.value}\r\n <\/span>\r\n {\/if}\r\n \r\n {if !empty($product.items)}\r\n {foreach from = $product.items item = product}\r\n <div class=\"price-heart d-flex justify-content-between align-items-center\">\r\n <div class=\"price mt-2\"> \r\n <span class=\"price-amount\">\r\n {if empty($product.apply_special) && !empty($product.price)}\r\n {$product.price|number_format:0:\".\":\",\"}\r\n <span class=\"currency-symbol\">{CURRENCY_UNIT}<\/span>\r\n {\/if}\r\n \r\n {if !empty($product.apply_special) && !empty($product.price_special)}\r\n {$product.price_special|number_format:0:\".\":\",\"}\r\n <span class=\"currency-symbol\">{CURRENCY_UNIT}<\/span>\r\n {\/if}\r\n <\/span> \r\n \r\n {if !empty($product.apply_special) && !empty($product.price)}\r\n <span class=\"price-amount old-price\">\r\n {$product.price|number_format:0:\".\":\",\"}\r\n <span class=\"currency-symbol\">{CURRENCY_UNIT}<\/span>\r\n <\/span>\r\n {\/if}\r\n <\/div>\r\n \r\n <a nh-btn-action=\"wishlist\" wishlist-id=\"{if !empty($product.id)}{$product.id}{\/if}\" wishlist-type=\"{PRODUCT}\" class=\"btn-product-action mr-3\" href=\"javascript:;\" title=\"{__d('template', 'yeu_thich')}\">\r\n <i class=\"fa-light fa-heart\"><\/i>\r\n <\/a>\r\n <\/div>\r\n {\/foreach}\r\n {\/if}\r\n <\/div> \r\n <\/div>\r\n {\/foreach}\r\n <\/div>\r\n <\/div>\r\n {assign var =\"counter\" value =$counter+1}\r\n {\/if}\r\n {\/if}\r\n{\/foreach}\r\n \r\n \r\n{else}\r\n <div nh-block=\"4375hpu\" class=\"product-filter\" type-load=\"document-ready\"><\/div>\r\n <div nh-block=\"8twlsfg\" class=\"product-block\" type-load=\"document-ready\"><\/div>\r\n{\/if}"}',
'data_extend' => '{"slider":{"slidesPerView":1,"spaceBetween":10,"watchSlidesProgress":true,"autoplay":{"delay":3000,"disableOnInteraction":true,"pauseOnMouseEnter":true},"breakpoints":{"480":{"slidesPerView":2,"spaceBetween":10},"768":{"slidesPerView":3,"spaceBetween":20},"1024":{"slidesPerView":4,"spaceBetween":30}}}}',
'normal_data_extend' => '{"locale":{"vi":{"":""},"en":{"":""}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'awy4svf' => object(Cake\ORM\Entity) id:15 {
'id' => (int) 261
'template_code' => 'batdongsan03'
'code' => 'awy4svf'
'name' => '[Product] - Diện tích văn phòng cho thuê trống'
'type' => 'product'
'view' => 'view.tpl'
'config' => [
'class' => '',
'cache' => '0',
'number_record' => (int) 8,
'has_pagination' => '0',
'sort_field' => '',
'sort_type' => 'desc',
'data_type' => 'category_product',
'data_ids' => [
'' => [maximum depth reached],
],
'filter_data' => '',
]
'data_extend' => [
'item' => 'item_dien_tich',
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1735207209
'data_block' => [
'data' => [
'' => [maximum depth reached],
],
'pagination' => [
'' => [maximum depth reached],
],
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","number_record":8,"has_pagination":"0","sort_field":"","sort_type":"desc","data_type":"category_product","data_ids":["31"],"filter_data":""}',
'data_extend' => '{"item":"item_dien_tich"}',
'normal_data_extend' => '{"locale":{"vi":{"tieu_de":"Diện tích văn phòng cho thuê trống (m2): 100-200-500-v.v","link":"#"},"en":{"tieu_de":"Vacant office space for rent (m2): 100-200-500-etc","link":"#"}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'368bksc' => object(Cake\ORM\Entity) id:16 {
'id' => (int) 263
'template_code' => 'batdongsan03'
'code' => '368bksc'
'name' => '[Product] - Phân hạng tòa nhà'
'type' => 'html'
'view' => '368bksc.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{assign var = list_categorys value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {PRODUCT}, [
'get_user' => true,
'get_categories' => true,
'get_attributes' => true,
{LANG} => LANGUAGE
])}
{assign var = category_info value = $this->Category->getCategories({PRODUCT}, {LANGUAGE}, [
{FILTER} => [
'parent_id' => PAGE_CATEGORY_ID
]
])}
{if !empty($category_info)}
<div class="section-ttbs py-60">
<div class="container">
{assign list_program value = ''}
{if !empty($list_categorys.attributes.building)}
{assign list_program value = json_decode($list_categorys.attributes.building, 1)}
{/if}
{assign list_program2 value = ''}
{if !empty($list_categorys.attributes.desbuilding)}
{assign list_program2 value = json_decode($list_categorys.attributes.desbuilding, 1)}
{/if}
<div class="title-seo-cate text-center mb-5">
{if !empty({$list_program[{LANGUAGE}]})}
<h3 class="title-section mb-4">
{$list_program[{LANGUAGE}]}
</h3>
{/if}
{if !empty({$list_program2[{LANGUAGE}]})}
<p>
{$list_program2[{LANGUAGE}]}
</p>
{/if}
</div>
<div class="row">
{assign var ="total_items" value =$category_info|@count}
{assign var ="start_index" value =$total_items-3}
{foreach from =$category_info item =product name =products}
{if $smarty.foreach.products.index >= $start_index}
<div class="col-md-4 mb-5 mb-md-0">
<div class="toa-nha wrp-effect-scale">
<div class="inner-image rounded-8 overflow-hidden">
<div class="ratio-3-2 overflow-hidden">
{if !empty($product.image_avatar)}
{assign var = url_img value = "{CDN_URL}{$this->Utilities->getThumbs($product.image_avatar, 350)}"}
{else}
{assign var = url_img value = "data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="}
{/if}
<a href="{$this->Utilities->checkInternalUrl($product.url)}" title="{$product.name}">
{$this->LazyLoad->renderImage([
'src' => $url_img,
'alt' => $product.name,
'class' => 'img-fluid rounded-8',
'ignore' => true
])}
</a>
</div>
</div>
<div class="inner-content px-0">
{if !empty($product.name)}
<h3 class="product-title font-weight-600 mb-3">
<a href="{$this->Utilities->checkInternalUrl($product.url)}">
{$product.name|escape|truncate:50:" ..."}
</a>
</h3>
{/if}
</div>
</div>
</div>
{/if}
{/foreach}
</div>
</div>
</div>
{/if}',
]
'data_extend' => [
]
'normal_data_extend' => [
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1735373329
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{assign var = list_categorys value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {PRODUCT}, [\r\n 'get_user' => true,\r\n 'get_categories' => true,\r\n 'get_attributes' => true,\r\n {LANG} => LANGUAGE\r\n])}\r\n\r\n{assign var = category_info value = $this->Category->getCategories({PRODUCT}, {LANGUAGE}, [\r\n {FILTER} => [\r\n 'parent_id' => PAGE_CATEGORY_ID\r\n ]\r\n])}\r\n \r\n{if !empty($category_info)}\r\n <div class=\"section-ttbs py-60\">\r\n <div class=\"container\">\r\n \r\n {assign list_program value = ''}\r\n {if !empty($list_categorys.attributes.building)}\r\n {assign list_program value = json_decode($list_categorys.attributes.building, 1)}\r\n {\/if}\r\n \r\n {assign list_program2 value = ''}\r\n {if !empty($list_categorys.attributes.desbuilding)}\r\n {assign list_program2 value = json_decode($list_categorys.attributes.desbuilding, 1)}\r\n {\/if}\r\n <div class=\"title-seo-cate text-center mb-5\"> \r\n {if !empty({$list_program[{LANGUAGE}]})}\r\n <h3 class=\"title-section mb-4\">\r\n {$list_program[{LANGUAGE}]}\r\n <\/h3>\r\n {\/if}\r\n \r\n {if !empty({$list_program2[{LANGUAGE}]})}\r\n <p> \r\n {$list_program2[{LANGUAGE}]}\r\n <\/p>\r\n {\/if}\r\n <\/div>\r\n \r\n <div class=\"row\">\r\n {assign var =\"total_items\" value =$category_info|@count}\r\n {assign var =\"start_index\" value =$total_items-3}\r\n \r\n {foreach from =$category_info item =product name =products}\r\n {if $smarty.foreach.products.index >= $start_index}\r\n <div class=\"col-md-4 mb-5 mb-md-0\">\r\n <div class=\"toa-nha wrp-effect-scale\">\r\n <div class=\"inner-image rounded-8 overflow-hidden\">\r\n <div class=\"ratio-3-2 overflow-hidden\">\r\n {if !empty($product.image_avatar)}\r\n {assign var = url_img value = \"{CDN_URL}{$this->Utilities->getThumbs($product.image_avatar, 350)}\"}\r\n {else}\r\n {assign var = url_img value = \"data:image\/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==\"}\r\n {\/if}\r\n \r\n <a href=\"{$this->Utilities->checkInternalUrl($product.url)}\" title=\"{$product.name}\">\r\n {$this->LazyLoad->renderImage([\r\n 'src' => $url_img, \r\n 'alt' => $product.name, \r\n 'class' => 'img-fluid rounded-8',\r\n 'ignore' => true\r\n ])}\r\n <\/a>\r\n <\/div>\r\n <\/div>\r\n \r\n <div class=\"inner-content px-0\">\r\n {if !empty($product.name)}\r\n <h3 class=\"product-title font-weight-600 mb-3\">\r\n <a href=\"{$this->Utilities->checkInternalUrl($product.url)}\">\r\n {$product.name|escape|truncate:50:\" ...\"}\r\n <\/a>\r\n <\/h3>\r\n {\/if}\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n {\/if}\r\n {\/foreach}\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n{\/if}"}',
'data_extend' => null,
'normal_data_extend' => null,
'collection_data_extend' => null,
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'wfq9zj7' => object(Cake\ORM\Entity) id:17 {
'id' => (int) 265
'template_code' => 'batdongsan03'
'code' => 'wfq9zj7'
'name' => '[Product] - Văn phòng trọn gói'
'type' => 'html'
'view' => 'wfq9zj7.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{assign var = list_categorys value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {PRODUCT}, [
'get_user' => true,
'get_categories' => true,
'get_attributes' => true,
{LANG} => LANGUAGE
])}
{assign var = category_info value = $this->Category->getCategories({PRODUCT}, {LANGUAGE}, [
{FILTER} => [
'parent_id' => PAGE_CATEGORY_ID
]
])}
{if !empty($category_info)}
<div class="section-ttbs py-60">
<div class="container">
{assign list_program value = ''}
{if !empty($list_categorys.attributes.office)}
{assign list_program value = json_decode($list_categorys.attributes.office, 1)}
{/if}
{assign list_program2 value = ''}
{if !empty($list_categorys.attributes.desoffice)}
{assign list_program2 value = json_decode($list_categorys.attributes.desoffice, 1)}
{/if}
<div class="title-seo-cate text-center mb-5">
{if !empty({$list_program[{LANGUAGE}]})}
<h3 class="title-section mb-4">
{$list_program[{LANGUAGE}]}
</h3>
{/if}
{if !empty({$list_program2[{LANGUAGE}]})}
<p>
{$list_program2[{LANGUAGE}]}
</p>
{/if}
</div>
<div nh-block="v1nsqoe" class="van-phong-block" type-load="document-ready"></div>
</div>
</div>
{/if}',
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1735285719
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{assign var = list_categorys value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {PRODUCT}, [\r\n 'get_user' => true,\r\n 'get_categories' => true,\r\n 'get_attributes' => true,\r\n {LANG} => LANGUAGE\r\n])}\r\n\r\n{assign var = category_info value = $this->Category->getCategories({PRODUCT}, {LANGUAGE}, [\r\n {FILTER} => [\r\n 'parent_id' => PAGE_CATEGORY_ID\r\n ]\r\n])}\r\n \r\n{if !empty($category_info)}\r\n <div class=\"section-ttbs py-60\">\r\n <div class=\"container\">\r\n \r\n {assign list_program value = ''}\r\n {if !empty($list_categorys.attributes.office)}\r\n {assign list_program value = json_decode($list_categorys.attributes.office, 1)}\r\n {\/if}\r\n \r\n {assign list_program2 value = ''}\r\n {if !empty($list_categorys.attributes.desoffice)}\r\n {assign list_program2 value = json_decode($list_categorys.attributes.desoffice, 1)}\r\n {\/if}\r\n <div class=\"title-seo-cate text-center mb-5\"> \r\n {if !empty({$list_program[{LANGUAGE}]})}\r\n <h3 class=\"title-section mb-4\">\r\n {$list_program[{LANGUAGE}]}\r\n <\/h3>\r\n {\/if}\r\n \r\n {if !empty({$list_program2[{LANGUAGE}]})}\r\n <p> \r\n {$list_program2[{LANGUAGE}]}\r\n <\/p>\r\n {\/if}\r\n <\/div>\r\n \r\n <div nh-block=\"v1nsqoe\" class=\"van-phong-block\" type-load=\"document-ready\"><\/div>\r\n <\/div>\r\n <\/div>\r\n{\/if}"}',
'data_extend' => null,
'normal_data_extend' => '{"locale":{"vi":{"":""},"en":{"":""}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'csm6b0i' => object(Cake\ORM\Entity) id:18 {
'id' => (int) 266
'template_code' => 'batdongsan03'
'code' => 'csm6b0i'
'name' => '[Product] - Câu hỏi thường gặp'
'type' => 'html'
'view' => 'csm6b0i.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{assign var = list_categorys value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {PRODUCT}, [
'get_user' => true,
'get_categories' => true,
'get_attributes' => true,
{LANG} => LANGUAGE
])}
{assign list_project value = []}
{if !empty($list_categorys.attributes.articleqa)}
{assign list_project value = $list_categorys.attributes.articleqa|json_decode:1}
{/if}
{if !empty($list_project)}
{assign var = list_article value = $this->Article->getArticles([
'get_categories' => true,
{FIELD} => FULL_INFO,
{FILTER} => [
'ids' => $list_project
]
], {LANGUAGE})}
{/if}
{assign list_program_title value = ''}
{if !empty($list_categorys.attributes.question)}
{assign list_program_title value = json_decode($list_categorys.attributes.question, 1)}
{/if}
{if !empty($list_article)}
<div class="accordion py-60" id="accordionExample">
{if !empty($list_program_title[{LANGUAGE}])}
<h3 class="title-section mb-5">
{$list_program_title[{LANGUAGE}]}
</h3>
{/if}
<div class="question-frequen" id="accordionExample">
{foreach from = $list_article item = item}
<div class="card">
<div class="card-header" id="heading{$item.id}">
<h3 class="btn btn-collapsed {if empty($item@first)}collapsed{/if}" type="button" data-toggle="collapse" data-target="#collapse{$item.id}" aria-expanded="{if !empty($item@first)}true{else}false{/if}" aria-controls="collapse{$item.id}">
{if !empty($item.name)}
{$item.name}
{/if}
<span class="accordion-icon">
<i class="fa-solid fa-chevron-right"></i>
</span>
</h3>
</div>
<div id="collapse{$item.id}" class="collapse {if !empty($item@first)}show{/if}" aria-labelledby="heading{$item.id}" data-parent="#accordionExample">
<div class="card-body">
{if !empty($item.description)}
{$item.description}
{/if}
</div>
</div>
</div>
{/foreach}
</div>
</div>
{/if}',
]
'data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
]
'normal_data_extend' => [
'locale' => [
'' => [maximum depth reached],
],
'normal' => [
'' => [maximum depth reached],
],
]
'collection_data_extend' => [
'number_record' => '',
'sort_field' => '',
'sort_type' => 'desc',
'extend_collection' => '',
'get_data_type' => 'all',
]
'status' => (int) 1
'updated' => (int) 1735313820
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{assign var = list_categorys value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {PRODUCT}, [\r\n 'get_user' => true,\r\n 'get_categories' => true,\r\n 'get_attributes' => true,\r\n {LANG} => LANGUAGE\r\n])}\r\n\r\n{assign list_project value = []}\r\n{if !empty($list_categorys.attributes.articleqa)}\r\n {assign list_project value = $list_categorys.attributes.articleqa|json_decode:1}\r\n{\/if}\r\n\r\n{if !empty($list_project)}\r\n {assign var = list_article value = $this->Article->getArticles([\r\n 'get_categories' => true,\r\n {FIELD} => FULL_INFO,\r\n {FILTER} => [\r\n 'ids' => $list_project\r\n ]\r\n ], {LANGUAGE})}\r\n{\/if}\r\n\r\n{assign list_program_title value = ''}\r\n{if !empty($list_categorys.attributes.question)}\r\n {assign list_program_title value = json_decode($list_categorys.attributes.question, 1)}\r\n{\/if}\r\n\r\n{if !empty($list_article)}\r\n <div class=\"accordion py-60\" id=\"accordionExample\">\r\n {if !empty($list_program_title[{LANGUAGE}])}\r\n \t<h3 class=\"title-section mb-5\">\r\n \t\t{$list_program_title[{LANGUAGE}]}\r\n \t<\/h3>\r\n {\/if}\r\n \r\n \r\n <div class=\"question-frequen\" id=\"accordionExample\">\r\n {foreach from = $list_article item = item}\r\n <div class=\"card\">\r\n <div class=\"card-header\" id=\"heading{$item.id}\">\r\n <h3 class=\"btn btn-collapsed {if empty($item@first)}collapsed{\/if}\" type=\"button\" data-toggle=\"collapse\" data-target=\"#collapse{$item.id}\" aria-expanded=\"{if !empty($item@first)}true{else}false{\/if}\" aria-controls=\"collapse{$item.id}\">\r\n {if !empty($item.name)}\r\n {$item.name}\r\n {\/if}\r\n \r\n <span class=\"accordion-icon\">\r\n <i class=\"fa-solid fa-chevron-right\"><\/i>\r\n <\/span>\r\n <\/h3>\r\n <\/div>\r\n \r\n <div id=\"collapse{$item.id}\" class=\"collapse {if !empty($item@first)}show{\/if}\" aria-labelledby=\"heading{$item.id}\" data-parent=\"#accordionExample\">\r\n <div class=\"card-body\">\r\n {if !empty($item.description)}\r\n {$item.description}\r\n {\/if}\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n {\/foreach}\r\n <\/div>\r\n <\/div>\r\n{\/if}"}',
'data_extend' => null,
'normal_data_extend' => '{"locale":{"vi":{"":""},"en":{"":""}},"normal":{}}',
'collection_data_extend' => '{"number_record":"","sort_field":"","sort_type":"desc","extend_collection":"","get_data_type":"all"}',
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
'81brwpk' => object(Cake\ORM\Entity) id:19 {
'id' => (int) 267
'template_code' => 'batdongsan03'
'code' => '81brwpk'
'name' => '[Prodcut] - Thị trường văn phòng cho thuê'
'type' => 'html'
'view' => '81brwpk.tpl'
'config' => [
'class' => '',
'cache' => '0',
'html_content' => '{strip}
{assign var = list_categorys value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {PRODUCT}, [
'get_user' => true,
'get_categories' => true,
'get_attributes' => true,
{LANG} => LANGUAGE
])}
{assign list_program value = ''}
{if !empty($list_categorys.attributes.overview)}
{assign list_program value = json_decode($list_categorys.attributes.overview, 1)}
{/if}
{if !empty($list_program)}
{assign var = article value = $this->Article->getDetailArticle({$list_program[0]}, {LANGUAGE}, [
'get_user' => true,
'get_categories' => true
])}
{/if}
{if !empty($article)}
<div class="section-ttbs py-60">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-6 mb-lg-0 mb-5">
<div class="inner-content pr-lg-5 px-0">
{if !empty($article.name)}
<a href="{$this->Utilities->checkInternalUrl($article.url)}">
<h3 class="title-section">
{$article.name}
</h3>
</a>
{/if}
{if !empty($article.description)}
<div class="description_article text-justify">
{$article.description}
</div>
{/if}
{if !empty($article.url)}
<div class="phone-header mt-5">
<a href="{$this->Utilities->checkInternalUrl($article.url)}">
{__d('template', 'xem_them')}
</a>
</div>
{/if}
</div>
</div>
<div class="col-lg-6">
<div class="inner-image wrp-effect-scale overflow-hidden rounded-8">
<div class="ratio-4-3">
{if !empty($article.image_avatar)}
{assign var = url_img value = "{CDN_URL}{$this->Utilities->getThumbs($article.image_avatar, 350)}"}
{else}
{assign var = url_img value = "data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="}
{/if}
{$this->LazyLoad->renderImage([
'src' => $url_img,
'alt' => "{if !empty($article.name)}{$article.name}{/if}",
'class' => 'img-fluid',
'ignore' => true
])}
</div>
</div>
</div>
</div>
</div>
{/if}
{/strip}',
]
'data_extend' => [
]
'normal_data_extend' => [
]
'collection_data_extend' => [
]
'status' => (int) 1
'updated' => (int) 1735787080
'data_block' => [
]
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
'config' => true,
'data_extend' => true,
'normal_data_extend' => true,
'collection_data_extend' => true,
'data_block' => true,
]
'[original]' => [
'config' => '{"class":"","cache":"0","html_content":"{strip}\r\n{assign var = list_categorys value = $this->Category->getInfoCategory({PAGE_RECORD_ID}, {PRODUCT}, [\r\n 'get_user' => true,\r\n 'get_categories' => true,\r\n 'get_attributes' => true,\r\n {LANG} => LANGUAGE\r\n])}\r\n\r\n{assign list_program value = ''}\r\n{if !empty($list_categorys.attributes.overview)}\r\n {assign list_program value = json_decode($list_categorys.attributes.overview, 1)}\r\n{\/if}\r\n\r\n{if !empty($list_program)}\r\n {assign var = article value = $this->Article->getDetailArticle({$list_program[0]}, {LANGUAGE}, [\r\n 'get_user' => true,\r\n 'get_categories' => true\r\n ])}\r\n{\/if}\r\n\r\n{if !empty($article)}\r\n<div class=\"section-ttbs py-60\">\r\n <div class=\"container\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col-lg-6 mb-lg-0 mb-5\">\r\n <div class=\"inner-content pr-lg-5 px-0\">\r\n {if !empty($article.name)}\r\n <a href=\"{$this->Utilities->checkInternalUrl($article.url)}\">\r\n <h3 class=\"title-section\">\r\n {$article.name}\r\n <\/h3>\r\n <\/a>\r\n {\/if}\r\n \r\n {if !empty($article.description)}\r\n <div class=\"description_article text-justify\">\r\n {$article.description}\r\n <\/div>\r\n {\/if}\r\n \r\n {if !empty($article.url)}\r\n <div class=\"phone-header mt-5\">\r\n <a href=\"{$this->Utilities->checkInternalUrl($article.url)}\">\r\n {__d('template', 'xem_them')} \r\n <\/a>\r\n <\/div>\r\n {\/if}\r\n <\/div>\r\n <\/div> \r\n \r\n <div class=\"col-lg-6\">\r\n <div class=\"inner-image wrp-effect-scale overflow-hidden rounded-8\">\r\n <div class=\"ratio-4-3\">\r\n {if !empty($article.image_avatar)}\r\n {assign var = url_img value = \"{CDN_URL}{$this->Utilities->getThumbs($article.image_avatar, 350)}\"}\r\n {else}\r\n {assign var = url_img value = \"data:image\/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==\"}\r\n {\/if}\r\n \r\n {$this->LazyLoad->renderImage([\r\n 'src' => $url_img, \r\n 'alt' => \"{if !empty($article.name)}{$article.name}{\/if}\", \r\n 'class' => 'img-fluid',\r\n 'ignore' => true\r\n ])}\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n{\/if}\r\n{\/strip}"}',
'data_extend' => null,
'normal_data_extend' => null,
'collection_data_extend' => null,
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'TemplatesBlock'
},
],
'structure' => [
'header' => [
(int) 0 => [
'id' => (int) 1450,
'code' => 'rd71b0i',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
],
'content' => [
(int) 0 => [
'id' => (int) 1167,
'code' => '5cvduha',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 1 => [
'id' => (int) 1168,
'code' => 'gzvn1lw',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 2 => [
'id' => (int) 1169,
'code' => 'fdwr0lu',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 3 => [
'id' => (int) 1170,
'code' => 'oijhagb',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 4 => [
'id' => (int) 1171,
'code' => 'spjiqd5',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 5 => [
'id' => (int) 1172,
'code' => 'sfozxmy',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 6 => [
'id' => (int) 1173,
'code' => '08v6qy4',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 7 => [
'id' => (int) 1174,
'code' => '6e1s2wg',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 8 => [
'id' => (int) 1175,
'code' => '3eu9128',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
],
'footer' => [
(int) 0 => [
'id' => (int) 1451,
'code' => 'los2e1v',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 1 => [
'id' => (int) 1452,
'code' => '601bgio',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 2 => [
'id' => (int) 1453,
'code' => 'nth1u60',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
(int) 3 => [
'id' => (int) 1454,
'code' => 'hsf6p5a',
'config' => [
'' => [maximum depth reached],
],
'columns' => [
'' => [maximum depth reached],
],
],
],
],
'page_code' => '0gzvq6t',
'cache_page' => false,
'schema_data' => [
'brand' => [
'id' => (int) 61,
'image_avatar' => '/media/download-5.webp',
'images' => [
(int) 0 => '/media/download-5.webp',
],
'url_video' => null,
'type_video' => null,
'files' => null,
'created_by' => (int) 1,
'created_by_user' => null,
'created' => (int) 1753868882,
'updated' => (int) 1753868882,
'position' => (int) 61,
'lang' => 'vi',
'status' => (int) 1,
'name' => 'VĂN PHÚ INVEST',
'content' => null,
'seo_title' => 'VĂN PHÚ INVEST',
'seo_description' => null,
'seo_keyword' => null,
'url_id' => (int) 270,
'url' => 'van-phu-invest',
],
],
'breadcrumb' => [
(int) 0 => [
'name' => 'VĂN PHÚ INVEST',
'url' => 'van-phu-invest',
],
],
'seo_info' => [
'title' => 'VĂN PHÚ INVEST',
'description' => null,
'keywords' => null,
'image' => '/media/download-5.webp',
'alternate' => [
],
'site_name' => 'CÔNG TY CỔ PHẦN XÂY DỰNG - DỊCH VỤ SAO KHUÊ CAPITAL',
],
'data_init' => [
'device' => (int) 0,
'member' => null,
'social' => null,
'template' => [
'code' => 'batdongsan03',
'url' => '/templates/batdongsan03/',
],
'cdn_url' => 'https://cdn4153.cdn4s7.io.vn',
'wishlist' => null,
'recaptcha' => null,
'embed_code' => [
'head' => '<!-- 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-MBM4MV3X');</script>
<!-- End Google Tag Manager -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">',
'top_body' => null,
'bottom_body' => null,
'load_embed' => '1',
'time_delay' => null,
],
'cart' => null,
'product' => [
'check_quantity' => null,
],
],
'row' => [
'id' => (int) 1172,
'code' => 'sfozxmy',
'config' => [
'id_row' => '',
'style_class' => '',
'full_screen' => (int) 1,
],
'columns' => [
(int) 0 => [
'id' => (int) 1383,
'code' => null,
'is_layout' => false,
'row_code' => 'sfozxmy',
'column_value' => (int) 12,
'blocks' => [
'' => [maximum depth reached],
],
],
],
],
]