Database Error
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM `thwebi_convert`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id)' at line 1
SQL Query: SELECT `Node`.*, .* FROM `thwebi_convert`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) INNER JOIN `thwebi_convert`.`category_linkeds` AS `CategoryLinked` ON (`Node`.`id` = `CategoryLinked`.`node_id`) WHERE `Node`.`status` = 1 AND `Node`.`type` IS NULL AND `CategoryLinked`.`category_id` = ('136') GROUP BY `CategoryLinked`.`node_id` ORDER BY `Node`.`pos` desc, `Node`.`id` desc LIMIT 10
Notice: If you want to customize this error message, create app/View/Errors/pdo_error.ctp
Stack Trace
- CORE/Cake/Model/Datasource/DboSource.php line 502 → PDOStatement->execute(array)
try {
$query = $this->_connection->prepare($sql, $prepareOptions);
$query->setFetchMode(PDO::FETCH_LAZY);
if (!$query->execute($params)) {
$this->_result = $query;
array()
- CORE/Cake/Model/Datasource/DboSource.php line 468 → DboSource->_execute(string, array)
$options += array('log' => $this->fullDebug);
$t = microtime(true);
$this->_result = $this->_execute($sql, $params);
'SELECT `Node`.*, .* FROM `thwebi_convert`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) INNER JOIN `thwebi_convert`.`category_linkeds` AS `CategoryLinked` ON (`Node`.`id` = `CategoryLinked`.`node_id`) WHERE `Node`.`status` = 1 AND `Node`.`type` IS NULL AND `CategoryLinked`.`category_id` = ('136') GROUP BY `CategoryLinked`.`node_id` ORDER BY `Node`.`pos` desc, `Node`.`id` desc LIMIT 10' array()
- CORE/Cake/Model/Datasource/DboSource.php line 715 → DboSource->execute(string, array, array)
if ($cache && ($cached = $this->getQueryCache($sql, $params)) !== false) {
return $cached;
}
$result = $this->execute($sql, array(), $params);
if ($result) {
'SELECT `Node`.*, .* FROM `thwebi_convert`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) INNER JOIN `thwebi_convert`.`category_linkeds` AS `CategoryLinked` ON (`Node`.`id` = `CategoryLinked`.`node_id`) WHERE `Node`.`status` = 1 AND `Node`.`type` IS NULL AND `CategoryLinked`.`category_id` = ('136') GROUP BY `CategoryLinked`.`node_id` ORDER BY `Node`.`pos` desc, `Node`.`id` desc LIMIT 10' array() array()
- CORE/Cake/Model/Datasource/DboSource.php line 1226 → DboSource->fetchAll(string, boolean)
// Build SQL statement with the primary model, plus hasOne and belongsTo associations
$query = $this->buildAssociationQuery($Model, $queryData);
$resultSet = $this->fetchAll($query, $Model->cacheQueries);
unset($query);
'SELECT `Node`.*, .* FROM `thwebi_convert`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) INNER JOIN `thwebi_convert`.`category_linkeds` AS `CategoryLinked` ON (`Node`.`id` = `CategoryLinked`.`node_id`) WHERE `Node`.`status` = 1 AND `Node`.`type` IS NULL AND `CategoryLinked`.`category_id` = ('136') GROUP BY `CategoryLinked`.`node_id` ORDER BY `Node`.`pos` desc, `Node`.`id` desc LIMIT 10' false
- CORE/Cake/Model/Model.php line 3053 → DboSource->read(Node, array)
* @return array
*/
protected function _readDataSource($type, $query) {
$results = $this->getDataSource()->read($this, $query);
$this->resetAssociations();
object(Node) { name => 'Node' useTable => 'nodes' useDbConfig => 'default' id => false data => array() schemaName => 'thwebi_convert' table => 'nodes' primaryKey => 'id' validate => array() validationErrors => array() validationDomain => null tablePrefix => '' plugin => 'Default' alias => 'Node' tableToModel => array( 'nodes' => 'Node' ) cacheQueries => false belongsTo => array() hasOne => array() hasMany => array() hasAndBelongsToMany => array() actsAs => null Behaviors => object(BehaviorCollection) { modelName => 'Node' defaultPriority => (int) 10 [protected] _methods => array([maximum depth reached]) [protected] _mappedMethods => array([maximum depth reached]) [protected] _enabled => array([maximum depth reached]) [protected] _loaded => array([maximum depth reached]) } whitelist => array() cacheSources => true findQueryType => 'all' recursive => (int) 1 order => null virtualFields => array() __backAssociation => array() __backInnerAssociation => array() __backOriginalAssociation => array() __backContainableAssociation => array() __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( 'all' => true, 'first' => true, 'count' => true, 'neighbors' => true, 'list' => true, 'threaded' => true ) Category => object(Category) { name => 'Category' useTable => 'categories' actsAs => array( [maximum depth reached] ) useDbConfig => 'default' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'categories' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => 'Default' alias => 'Category' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } [protected] _schema => array( 'id' => array( 'type' => 'integer', 'null' => false, 'default' => null, 'length' => (int) 11, 'unsigned' => false, 'key' => 'primary' ), 'title' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 128, 'collate' => 'utf8mb4_general_ci', 'charset' => 'utf8mb4' ), 'slug' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 128, 'key' => 'index', 'collate' => 'utf8mb4_general_ci', 'charset' => 'utf8mb4' ), 'link' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 512, 'collate' => 'utf8mb4_general_ci', 'charset' => 'utf8mb4' ), 'type' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 12, 'collate' => 'utf8mb4_general_ci', 'charset' => 'utf8mb4' ), 'pos' => array( 'type' => 'integer', 'null' => true, 'default' => '1', 'length' => (int) 11, 'unsigned' => false ), 'robots' => array( 'type' => 'integer', 'null' => true, 'default' => '1', 'length' => (int) 11, 'unsigned' => false ), 'views' => array( 'type' => 'integer', 'null' => true, 'default' => '0', 'length' => (int) 11, 'unsigned' => false ), 'lang' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 32, 'collate' => 'utf8mb4_general_ci', 'charset' => 'utf8mb4' ), 'lang_node_id' => array( 'type' => 'integer', 'null' => true, 'default' => null, 'length' => (int) 11, 'unsigned' => false, 'comment' => 'Node ID của bài viết đầu tiên được tạo' ), 'created' => array( 'type' => 'integer', 'null' => true, 'default' => null, 'length' => (int) 11, 'unsigned' => false ), 'modified' => array( 'type' => 'integer', 'null' => true, 'default' => null, 'length' => (int) 11, 'unsigned' => false ), 'status' => array( 'type' => 'integer', 'null' => true, 'default' => '1', 'length' => (int) 11, 'unsigned' => false ) ) [protected] _associationKeys => array( 'belongsTo' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'counterCache' ), 'hasOne' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'dependent' ), 'hasMany' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'limit', (int) 6 => 'offset', (int) 7 => 'dependent', (int) 8 => 'exclusive', (int) 9 => 'finderQuery', (int) 10 => 'counterQuery' ), 'hasAndBelongsToMany' => array( (int) 0 => 'className', (int) 1 => 'joinTable', (int) 2 => 'with', (int) 3 => 'foreignKey', (int) 4 => 'associationForeignKey', (int) 5 => 'conditions', (int) 6 => 'fields', (int) 7 => 'order', (int) 8 => 'limit', (int) 9 => 'offset', (int) 10 => 'unique', (int) 11 => 'finderQuery' ) ) [protected] _associations => array( (int) 0 => 'belongsTo', (int) 1 => 'hasOne', (int) 2 => 'hasMany', (int) 3 => 'hasAndBelongsToMany' ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) { [protected] _generalManager => object(CakeEventManager) {} [protected] _listeners => array( [maximum depth reached] ) [protected] _isGlobal => false } [protected] _validator => null } array( 'conditions' => array( 'Node.status' => (int) 1, 'Node.type' => null, 'CategoryLinked.category_id' => array( (int) 0 => '136' ) ), 'fields' => array( (int) 0 => 'Node.*', (int) 1 => '.*' ), 'joins' => array( (int) 0 => array( 'table' => '', 'alias' => '', 'type' => 'INNER', 'conditions' => array( (int) 0 => 'Node.id=.node_id' ) ), (int) 1 => array( 'table' => 'category_linkeds', 'alias' => 'CategoryLinked', 'type' => 'INNER', 'conditions' => array( (int) 0 => 'Node.id = CategoryLinked.node_id' ) ) ), 'limit' => (int) 10, 'offset' => null, 'order' => array( (int) 0 => 'Node.pos desc, Node.id desc' ), 'page' => (int) 1, 'group' => 'CategoryLinked.node_id', 'callbacks' => true, 'maxLimit' => (int) 100, 'paramType' => 'named', 'queryScope' => null )
- CORE/Cake/Model/Model.php line 3025 → Model->_readDataSource(string, array)
return null;
}
return $this->_readDataSource($type, $query);
}
'all' array( 'conditions' => array( 'Node.status' => (int) 1, 'Node.type' => null, 'CategoryLinked.category_id' => array( (int) 0 => '136' ) ), 'fields' => array( (int) 0 => 'Node.*', (int) 1 => '.*' ), 'joins' => array( (int) 0 => array( 'table' => '', 'alias' => '', 'type' => 'INNER', 'conditions' => array( (int) 0 => 'Node.id=.node_id' ) ), (int) 1 => array( 'table' => 'category_linkeds', 'alias' => 'CategoryLinked', 'type' => 'INNER', 'conditions' => array( (int) 0 => 'Node.id = CategoryLinked.node_id' ) ) ), 'limit' => (int) 10, 'offset' => null, 'order' => array( (int) 0 => 'Node.pos desc, Node.id desc' ), 'page' => (int) 1, 'group' => 'CategoryLinked.node_id', 'callbacks' => true, 'maxLimit' => (int) 100, 'paramType' => 'named', 'queryScope' => null )
- CORE/Cake/Controller/Component/PaginatorComponent.php line 212 → Model->find(string, array)
if ($recursive != $object->recursive) {
$parameters['recursive'] = $recursive;
}
$results = $object->find($type, array_merge($parameters, $extra));
}
'all' array( 'conditions' => array( 'Node.status' => (int) 1, 'Node.type' => null, 'CategoryLinked.category_id' => array( (int) 0 => '136' ) ), 'fields' => array( (int) 0 => 'Node.*', (int) 1 => '.*' ), 'order' => 'Node.pos desc, Node.id desc', 'limit' => (int) 10, 'page' => (int) 1, 'joins' => array( (int) 0 => array( 'table' => '', 'alias' => '', 'type' => 'INNER', 'conditions' => array( (int) 0 => 'Node.id=.node_id' ) ), (int) 1 => array( 'table' => 'category_linkeds', 'alias' => 'CategoryLinked', 'type' => 'INNER', 'conditions' => array( (int) 0 => 'Node.id = CategoryLinked.node_id' ) ) ), 'group' => 'CategoryLinked.node_id', 'maxLimit' => (int) 100, 'paramType' => 'named', 'queryScope' => null )
- CORE/Cake/Controller/Controller.php line 1107 → PaginatorComponent->paginate(string, array, array)
* @link https://book.cakephp.org/2.0/en/controllers.html#Controller::paginate
*/
public function paginate($object = null, $scope = array(), $whitelist = array()) {
return $this->Components->load('Paginator', $this->paginate)->paginate($object, $scope, $whitelist);
}
'Node' array() array()
- APP/Controller/Component/CcontentComponent.php line 296 → Controller->paginate(string)
$this->Controller->paginate = $this->Controller->{$mdl}->hook($this->Controller->currentCategory, $limit);
}
$data = $this->Controller->paginate('Node');
'Node'
- APP/Controller/Component/CcontentComponent.php line 66 → CcontentComponent->getArchive(string, integer)
return $data;
}
return $this->getArchive($node_id, $limit);
}
'372' (int) 10
- APP/Plugin/Default/Controller/NodeController.php line 1218 → CcontentComponent->getContent(string, string)
$slug = str_replace('.html', '', $slug);
$this->nodeData = $this->Node->findBySlug($slug);
if (!is_array($this->nodeData) || count($this->nodeData) <= 0) die('Empty');
$this->data = $this->Ccontent->getContent($this->nodeData['Node']['type'], $this->nodeData['Node']['id']);
}
'category' '372'
- [internal function] → NodeController->index(string, string)
'kha-nang-truy-cap' '.html'
- CORE/Cake/Controller/Controller.php line 499 → ReflectionMethod->invokeArgs(NodeController, array)
'action' => $request->params['action']
));
}
return $method->invokeArgs($this, $request->params['pass']);
object(NodeController) { category_cid_landingpage => array( (int) 0 => (int) 85, (int) 1 => (int) 86, (int) 2 => (int) 87 ) theme => 'Default' product_pagination_limit => (int) 15 guide_pagination_limit => (int) 100 news_pagination_limit => (int) 12 collection_pagination_limit => (int) 6 document_pagination_limit => (int) 10 hook => array( (int) 0 => 'product', (int) 1 => 'guide', (int) 2 => 'service' ) components => array( 'Session' => null, 'Flash' => null, 'Cookie' => null, 'Ccontent' => null, 'Cmodal' => null, 'Cmeta' => null, 'Capp' => null, 'Clayout' => null, 'RequestHandler' => null, 'Upload' => null, 'Paginator' => null ) uses => array( (int) 0 => 'Default.Category', (int) 1 => 'Default.Home', (int) 2 => 'Default.Node', (int) 3 => 'Default.News', (int) 4 => 'Default.Product', (int) 5 => 'Default.Guide', (int) 6 => 'Default.Service', (int) 7 => 'Default.Rate', (int) 8 => 'Default.Video', (int) 9 => 'Agency', (int) 10 => 'Filter', (int) 11 => 'Hang', (int) 12 => 'Faq', (int) 13 => 'Tag', (int) 14 => 'FilterItem', (int) 15 => 'FilterLinked', (int) 16 => 'UserPost', (int) 17 => 'Default.Customer', (int) 18 => 'CustomerBanner', (int) 19 => 'Team', (int) 20 => 'City', (int) 21 => 'District', (int) 22 => 'Order', (int) 23 => 'Size', (int) 24 => 'Page', (int) 25 => 'Element', (int) 26 => 'PageElement', (int) 27 => 'CategoryLinked' ) is_mobile => false Controller => null default_lang => 'vi' lang => 'vi' lang_array => null settings => null nodeData => array( 'Node' => array( 'id' => '372', 'title' => 'Khả năng truy cập', 'slug' => 'kha-nang-truy-cap', 'link' => null, 'type' => 'category', 'pos' => '-2', 'robots' => '1', 'views' => '0', 'lang' => null, 'lang_node_id' => null, 'created' => '1754035404', 'modified' => '1755243777', 'status' => '1' ) ) cModalName => 'Category' cActionName => 'category_list' cFlagPage => false currentCategory => array( 'Node' => array( 'id' => '372', 'title' => 'Khả năng truy cập', 'slug' => 'kha-nang-truy-cap', 'link' => null, 'type' => 'category', 'pos' => '-2', 'robots' => '1', 'views' => '0', 'lang' => null, 'lang_node_id' => null, 'created' => '1754035404', 'modified' => '1755243777', 'status' => '1' ), 'Category' => array( 'id' => '136', 'title' => 'Khả năng truy cập', 'description' => '', 'page_title' => '', 'description_page' => '<p>Mục đích của mẫu sau đây là để hỗ trợ bạn trong việc soạn thảo Tuyên bố về Khả năng Truy cập cho trang web của mình. Tuy nhiên, bạn có trách nhiệm đảm bảo rằng tuyên bố này đáp ứng được các yêu cầu pháp lý của khu vực hoặc quốc gia nơi bạn hoạt động.</p> <p>Lưu ý: Trang này hiện có hai phần. Sau khi bạn hoàn thành việc chỉnh sửa phần Tuyên bố về Khả năng Truy cập bên dưới, bạn cần xóa phần này.</p> <p>Để tìm hiểu thêm, vui lòng tham khảo bài viết “Khả năng Truy cập: Thêm Tuyên bố về Khả năng Truy cập vào Trang web của bạn”.</p> ', 'content' => '<h2 style="text-align:center"><span style="color:#227E00">Tuyên bố về Khả năng Truy cập</span></h2> <p> </p> <p><span style="color:#227E00">Tuyên bố này được cập nhật lần cuối vào [nhập ngày cập nhật].</span></p> <p><span style="color:#227E00">Tại [nhập tên tổ chức/doanh nghiệp], chúng tôi đang nỗ lực để đảm bảo trang web [nhập tên và địa chỉ website] có thể được truy cập bởi người khuyết tật.</span></p> <p> </p> <h3><span style="color:#227E00">Khả năng truy cập web là gì?</span></h3> <p><span style="color:#227E00">Một trang web có khả năng truy cập là trang cho phép người dùng khuyết tật có thể duyệt trang với mức độ dễ dàng và trải nghiệm tương tự như những người dùng khác. Điều này có thể đạt được nhờ vào các tính năng của hệ thống đang vận hành trang web và thông qua các công nghệ hỗ trợ.</span></p> <p> </p> <h3><span style="color:#227E00">Các điều chỉnh về khả năng truy cập trên trang này</span></h3> <p><span style="color:#227E00">Chúng tôi đã điều chỉnh trang web này dựa theo hướng dẫn WCAG [2.0 / 2.1 / 2.2 – chọn phiên bản phù hợp] và đã làm cho trang đạt mức độ truy cập [A / AA / AAA – chọn mức độ phù hợp]. Nội dung của trang đã được điều chỉnh để hoạt động với các công nghệ hỗ trợ, như trình đọc màn hình và thao tác bàn phím. Trong nỗ lực này, chúng tôi đã thực hiện các biện pháp sau [xóa thông tin không phù hợp]: </span></p> <ul> <li><span style="color:#227E00">Sử dụng Công cụ Hỗ trợ Truy cập để tìm và khắc phục các vấn đề có thể xảy ra</span></li> <li><span style="color:#227E00">Thiết lập ngôn ngữ cho trang web</span></li> <li><span style="color:#227E00">Thiết lập thứ tự nội dung trên các trang</span></li> <li><span style="color:#227E00">Định nghĩa cấu trúc tiêu đề rõ ràng trên tất cả các trang</span></li> <li><span style="color:#227E00">Thêm văn bản thay thế cho hình ảnh</span></li> <li><span style="color:#227E00">Áp dụng kết hợp màu sắc đáp ứng yêu cầu về độ tương phản</span></li> <li><span style="color:#227E00">Giảm thiểu việc sử dụng chuyển động trên trang</span></li> <li><span style="color:#227E00">Đảm bảo tất cả video, âm thanh và tệp tin trên trang đều có thể truy cập</span></li> </ul> <p> </p> <p> </p> <h3><span style="color:#227E00">Tuyên bố về việc tuân thủ một phần tiêu chuẩn do nội dung của bên thứ ba [chỉ thêm nếu phù hợp]</span></h3> <p><span style="color:#227E00">Khả năng truy cập của một số trang trên website này phụ thuộc vào các nội dung không thuộc sở hữu của tổ chức, mà thuộc về [nhập tên bên thứ ba liên quan]. Các trang bị ảnh hưởng bao gồm: [liệt kê URL các trang]. Vì lý do đó, chúng tôi tuyên bố rằng những trang này chỉ tuân thủ một phần theo tiêu chuẩn.</span></p> <p> </p> <h3><span style="color:#227E00">Các sắp xếp về khả năng truy cập tại tổ chức [chỉ thêm nếu phù hợp]</span></h3> <p><span style="color:#227E00">[Nhập mô tả về các sắp xếp hỗ trợ khả năng truy cập tại văn phòng hoặc chi nhánh thực tế của tổ chức/doanh nghiệp bạn. Mô tả có thể bao gồm: lối vào từ bãi đỗ xe hoặc phương tiện công cộng, bàn tiếp tân, bàn ăn, lớp học, v.v. Ngoài ra, nêu rõ các dịch vụ hỗ trợ người khuyết tật khác (nếu có), chẳng hạn như thiết bị hỗ trợ nghe, thang máy...]</span></p> <p> </p> <h3><span style="color:#227E00">Yêu cầu, phản hồi và đề xuất</span></h3> <p><span style="color:#227E00">Nếu bạn phát hiện vấn đề về khả năng truy cập trên trang web, hoặc nếu bạn cần thêm sự hỗ trợ, vui lòng liên hệ với điều phối viên phụ trách khả năng truy cập của tổ chức:</span></p> <ul> <li><span style="color:#227E00">Tên điều phối viên: [Tên người phụ trách]</span></li> <li><span style="color:#227E00">Số điện thoại: [Số điện thoại liên hệ]</span></li> <li><span style="color:#227E00">Email: [Địa chỉ email liên hệ]</span></li> <li><span style="color:#227E00">[Thêm các thông tin liên hệ khác nếu có]</span></li> </ul> ', 'node_id' => '372', 'parent_id' => null, 'link' => '', 'image' => '', 'image2' => '', 'images' => '', 'lft' => '77', 'rght' => '78', 'seo_title' => '', 'seo_keyword' => '', 'seo_description' => '', 'menu' => '0', 'sidebar' => '0', 'footer_1' => '0', 'footer_2' => '0', 'footer_3' => '0', 'footer_4' => '0', 'ctype' => 'page', 'navbar' => '0', 'dropdown' => '0', 'home_menu' => '1', 'word_count' => '4', 'template' => 'page_text', 'hang_id_list' => '', 'filter_id_list' => null, 'filter_price' => '[]', 'robots' => '1' ), '_price' => array( (int) 0 => array( [maximum depth reached] ) ), '_filter' => array(), '_hang' => array() ) currentCategoryChildren => null order_price => '' action_array => array( 'news' => 'detail', 'category' => 'list', 'product' => 'detail', 'guide' => 'detail', 'service' => 'detail', 'page' => 'detail', 'rate' => 'detail', 'video' => 'detail', 'faq' => 'detail', 'sale' => 'detail', 'tuvan' => 'detail', 'document' => 'detail', 'tiendo' => 'detail', 'collection' => 'detail' ) cBuff => array( (int) 0 => 'news', (int) 1 => 'category', (int) 2 => 'product', (int) 3 => 'guide', (int) 4 => 'service', (int) 5 => 'page', (int) 6 => 'rate', (int) 7 => 'video', (int) 8 => 'faq', (int) 9 => 'sale', (int) 10 => 'tuvan', (int) 11 => 'document', (int) 12 => 'tiendo', (int) 13 => 'collection' ) dongho_type => array( 'au' => 'Đồng hồ cơ', 'quz' => 'Đồng hồ pin' ) dongho_day => array( 'da' => 'Dây da', 'th' => 'Dây thép' ) form_dk => array( (int) 1 => 'Tư vấn kiểm tra (Trang chủ)', (int) 3 => 'Đăng ký học thử (Trang chủ)', (int) 2 => 'Tư vấn kiểm tra (Menu đăng ký học thử)', (int) 4 => 'Đăng ký học thử (Menu đăng ký học thử)', (int) 5 => 'Đăng ký tư vấn (Trang khóa học)', (int) 6 => 'Đăng ký khóa học (Landing Page)', (int) 7 => 'Đăng ký tư vấn (Landing Page)', (int) 8 => 'Kiểm tra trình độ miễn phí (Landing Page)', (int) 9 => 'Đăng ký nhận tài liệu IELTS (Lộ trình học / Tài liệu)' ) category_fields => array( 'navbar' => 'Trên cùng', 'home' => 'Top', 'menu_1' => 'Tour category', 'menu_2' => 'Mục tour trang chủ', 'footer_1' => 'Ch.trang cột 1', 'footer_2' => 'Ch.trang cột 2' ) name => 'Node' helpers => array() request => object(CakeRequest) { params => array( [maximum depth reached] ) data => array([maximum depth reached]) query => array([maximum depth reached]) url => 'kha-nang-truy-cap.html' base => '' webroot => '/' here => '/kha-nang-truy-cap.html' [protected] _detectors => array( [maximum depth reached] ) [protected] _input => '' } response => object(CakeResponse) { [protected] _statusCodes => array( [maximum depth reached] ) [protected] _mimeTypes => array( [maximum depth reached] ) [protected] _protocol => 'HTTP/1.1' [protected] _status => (int) 200 [protected] _contentType => 'text/html' [protected] _headers => array([maximum depth reached]) [protected] _body => null [protected] _file => null [protected] _fileRange => null [protected] _charset => 'UTF-8' [protected] _cacheDirectives => array([maximum depth reached]) [protected] _cookies => array([maximum depth reached]) } viewPath => 'Node' layoutPath => null viewVars => array( 'is_' => (int) 1, 'is_archive' => (int) 1, 'user' => array(), 'agencies' => array( (int) 0 => array( [maximum depth reached] ) ), 'cart_number' => (int) 0, 'referer_source' => 'Trực tiếp', 'hangs' => array( (int) 24 => array( [maximum depth reached] ), (int) 23 => array( [maximum depth reached] ), (int) 22 => array( [maximum depth reached] ), (int) 21 => array( [maximum depth reached] ), (int) 20 => array( [maximum depth reached] ) ), 'is_mobile' => (int) 0, 'form_dk' => array( (int) 1 => 'Tư vấn kiểm tra (Trang chủ)', (int) 3 => 'Đăng ký học thử (Trang chủ)', (int) 2 => 'Tư vấn kiểm tra (Menu đăng ký học thử)', (int) 4 => 'Đăng ký học thử (Menu đăng ký học thử)', (int) 5 => 'Đăng ký tư vấn (Trang khóa học)', (int) 6 => 'Đăng ký khóa học (Landing Page)', (int) 7 => 'Đăng ký tư vấn (Landing Page)', (int) 8 => 'Kiểm tra trình độ miễn phí (Landing Page)', (int) 9 => 'Đăng ký nhận tài liệu IELTS (Lộ trình học / Tài liệu)' ) ) view => 'index' layout => 'default' autoRender => true autoLayout => true Components => object(ComponentCollection) { defaultPriority => (int) 10 [protected] _Controller => object(NodeController) {} [protected] _enabled => array( [maximum depth reached] ) [protected] _loaded => array( [maximum depth reached] ) } viewClass => 'View' View => null ext => '.ctp' plugin => 'Default' cacheAction => false passedArgs => array( (int) 0 => 'kha-nang-truy-cap', (int) 1 => '.html' ) scaffold => false methods => array( (int) 1 => 'get_customized_page', (int) 2 => 'get_giaovien_rate_num', (int) 3 => 'get_chungthuc_counts', (int) 4 => 'get_featured_giaovien', (int) 5 => 'get_lanhdao', (int) 6 => 'get_hocvien_tieubieu', (int) 7 => 'buildpc', (int) 8 => 'whois', (int) 9 => 'partner', (int) 10 => 'partners', (int) 11 => 'get_tag_from_post_node_id', (int) 12 => 'get_agency', (int) 13 => 'get_city_lst', (int) 14 => 'get_cities_html', (int) 15 => 'get_cities', (int) 16 => 'get_mien', (int) 17 => 'add_subcriber', (int) 18 => 'get_cat_customize', (int) 19 => 'tucauhinh', (int) 20 => 'getdomain', (int) 21 => 'get_hangs', (int) 22 => 'upload_image', (int) 23 => 'user_change_pass', (int) 24 => 'recover', (int) 25 => 'user_account', (int) 26 => 'user_wishlist', (int) 27 => 'user_banner_list', (int) 28 => 'user_banner_delete', (int) 29 => 'user_banner_add', (int) 30 => 'user_banner_edit', (int) 31 => 'user_post_add', (int) 32 => 'user_history', (int) 33 => 'user_thanks', (int) 34 => 'user_refs', (int) 35 => 'user_dashboard', (int) 36 => 'get_customer_detail', (int) 37 => 'vote', (int) 38 => 'logout', (int) 39 => 'login', (int) 40 => 'register_ajax', (int) 41 => 'register', (int) 42 => 'videos', (int) 43 => 'request_content', (int) 44 => 'index', (int) 45 => 'index_page', (int) 46 => 'index2', (int) 47 => 'index3', (int) 48 => 'get_dailyphanphoi', (int) 49 => 'sidebar_menu', (int) 50 => 'count_items', (int) 51 => 'img', (int) 52 => 'tags', (int) 53 => 'get_bosuutap', (int) 54 => 'gallery_detail', (int) 55 => 'gallery', (int) 56 => 'search', (int) 57 => 'search_els', (int) 58 => 'comment', (int) 59 => 'get_child_comment', (int) 60 => 'send_rate_ajax', (int) 61 => 'send_rate', (int) 62 => 'addlike', (int) 63 => 'addlove', (int) 64 => 'rate_giaovien', (int) 65 => 'get_stars', (int) 66 => 'data', (int) 67 => 'get_rate_count', (int) 68 => 'get_rate', (int) 69 => 'get_comment', (int) 70 => 'get_random_nodes', (int) 71 => 'get_node_parse', (int) 72 => 'get_node', (int) 73 => 'parse_html_posts', (int) 74 => 'ajax_load_posts', (int) 75 => 'get_images', (int) 76 => 'get_product_prices', (int) 77 => 'get_product_category', (int) 78 => 'get_product_category_count', (int) 79 => 'get_dynamic_rows', (int) 80 => 'get_filters', (int) 81 => 'get_nodes', (int) 82 => 'get_khoahoc', (int) 83 => 'get_khoahoc_scr', (int) 84 => 'tatcasp', (int) 85 => 'get_giangvien', (int) 86 => 'get_category_of_node', (int) 87 => 'get_category', (int) 88 => 'ketnoi', (int) 89 => 'find_root_category', (int) 90 => 'get_cbanner', (int) 91 => 'get_child_category_of', (int) 92 => 'get_tree_category_start_from', (int) 93 => 'get_list_category', (int) 94 => 'get_videos', (int) 95 => 'create_image', (int) 96 => 'get_child_category_ajax', (int) 97 => 'check_available_ajax', (int) 98 => 'get_nodes_page', (int) 99 => 'get_nodes_city', (int) 100 => 'send_stars', (int) 101 => 'send_rate_order', (int) 102 => 'get_stars_user', (int) 103 => 'plan_search', (int) 104 => 'team_detail', (int) 105 => 'search_type', (int) 106 => 'add_wishlist', (int) 107 => 'get_tags_success', (int) 108 => 'upload_imgs', (int) 110 => 'init_data', (int) 111 => 'rate', (int) 112 => 'cuahang', (int) 113 => 'getUserIP', (int) 114 => 'support', (int) 115 => 'get_sell_off_news', (int) 116 => 'get_youtube_videos', (int) 117 => 'get_comments', (int) 118 => 'get_home_products', (int) 119 => 'get_new_products', (int) 120 => 'get_featured_products', (int) 121 => 'get_10k_products', (int) 122 => 'get_featured_news', (int) 123 => 'get_latest_news', (int) 124 => 'get_most_read', (int) 125 => 'get_lang', (int) 126 => 'get_sizes', (int) 127 => 'banners', (int) 128 => 'categories', (int) 129 => 'settings', (int) 130 => 'alert', (int) 131 => 't', (int) 132 => 'word_limiter', (int) 133 => 'removeXss', (int) 134 => 'remove_hostname', (int) 135 => 'get_teams', (int) 136 => 'get_citys', (int) 137 => 'get_node_link', (int) 138 => 'get_price_tour', (int) 139 => 'convert_wp', (int) 140 => 'get_all_post', (int) 141 => 'wp_handle', (int) 142 => 'checkImageExists', (int) 143 => 'check_news_image', (int) 144 => 'is_valid_json' ) modelClass => 'Category' modelKey => 'node' validationErrors => null Session => object(SessionComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Flash => object(FlashComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _defaultConfig => array( [maximum depth reached] ) [protected] _Collection => null [protected] _componentMap => array([maximum depth reached]) } Cookie => object(CookieComponent) { name => 'CakeCookie' time => null path => '/' domain => '' secure => false key => 'DYhG93b0qyJfIxfs2gtVoUubWovniR2G0FgyC9mi' httpOnly => false settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _values => array( [maximum depth reached] ) [protected] _type => 'cipher' [protected] _reset => null [protected] _expires => (int) 0 [protected] _response => object(CakeResponse) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Ccontent => object(CcontentComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) Controller => object(NodeController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Cmodal => object(CmodalComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) Controller => object(NodeController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Cmeta => object(CmetaComponent) { cmeta => array( [maximum depth reached] ) cmeta_robots => 'index, follow' settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Capp => object(CappComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) Controller => object(NodeController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Clayout => object(ClayoutComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } RequestHandler => object(RequestHandlerComponent) { ajaxLayout => 'ajax' enabled => true request => object(CakeRequest) {} response => object(CakeResponse) {} ext => '.html' params => array( [maximum depth reached] ) settings => array( [maximum depth reached] ) components => array([maximum depth reached]) [protected] _renderType => null [protected] _inputTypeMap => array( [maximum depth reached] ) [protected] _viewClassMap => array( [maximum depth reached] ) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Upload => object(UploadComponent) { w => (int) 0 h => (int) 0 new => array([maximum depth reached]) name => null delete => null copy => null max_char => (int) 80 watermark => (int) 0 max_img => (int) 1000 text => '' settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Paginator => object(PaginatorComponent) { settings => array( [maximum depth reached] ) whitelist => array( [maximum depth reached] ) components => array([maximum depth reached]) Controller => object(NodeController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Agency => object(AppModel) { useDbConfig => 'default' useTable => 'agencies' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'agencies' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null name => 'Agency' alias => 'Agency' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => null [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } Hang => object(AppModel) { useDbConfig => 'default' useTable => 'hangs' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'hangs' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null name => 'Hang' alias => 'Hang' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => null [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } user => array() Node => object(Node) { name => 'Node' useTable => 'nodes' useDbConfig => 'default' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'nodes' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => 'Default' alias => 'Node' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => 'all' recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) Category => object(Category) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } Category => object(Category) { name => 'Category' useTable => 'categories' actsAs => array( [maximum depth reached] ) useDbConfig => 'default' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'categories' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => 'Default' alias => 'Category' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } [protected] _responseClass => 'CakeResponse' [protected] _mergeParent => 'AppController' [protected] _eventManager => object(CakeEventManager) { [protected] _generalManager => object(CakeEventManager) {} [protected] _listeners => array( [maximum depth reached] ) [protected] _isGlobal => false } } array( (int) 0 => 'kha-nang-truy-cap', (int) 1 => '.html' )
- CORE/Cake/Routing/Dispatcher.php line 193 → Controller->invokeAction(CakeRequest)
$response = $controller->response;
$render = true;
$result = $controller->invokeAction($request);
if ($result instanceof CakeResponse) {
object(CakeRequest) { params => array( 'plugin' => 'default', 'controller' => 'node', 'action' => 'index', 'named' => array(), 'pass' => array( (int) 0 => 'kha-nang-truy-cap', (int) 1 => '.html' ), 'slug' => 'kha-nang-truy-cap', 'ext' => '.html', 'isAjax' => false, 'models' => array( 'Agency' => array( [maximum depth reached] ), 'Hang' => array( [maximum depth reached] ), 'Node' => array( [maximum depth reached] ), 'Category' => array( [maximum depth reached] ) ) ) data => array() query => array() url => 'kha-nang-truy-cap.html' base => '' webroot => '/' here => '/kha-nang-truy-cap.html' [protected] _detectors => array( 'get' => array( 'env' => 'REQUEST_METHOD', 'value' => 'GET' ), 'patch' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PATCH' ), 'post' => array( 'env' => 'REQUEST_METHOD', 'value' => 'POST' ), 'put' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PUT' ), 'delete' => array( 'env' => 'REQUEST_METHOD', 'value' => 'DELETE' ), 'head' => array( 'env' => 'REQUEST_METHOD', 'value' => 'HEAD' ), 'options' => array( 'env' => 'REQUEST_METHOD', 'value' => 'OPTIONS' ), 'ssl' => array( 'env' => 'HTTPS', 'value' => (int) 1 ), 'ajax' => array( 'env' => 'HTTP_X_REQUESTED_WITH', 'value' => 'XMLHttpRequest' ), 'flash' => array( 'env' => 'HTTP_USER_AGENT', 'pattern' => '/^(Shockwave|Adobe) Flash/' ), 'mobile' => array( 'env' => 'HTTP_USER_AGENT', 'options' => array( [maximum depth reached] ) ), 'requested' => array( 'param' => 'requested', 'value' => (int) 1 ), 'json' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'json' ), 'xml' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'xml' ) ) [protected] _input => '' }
- CORE/Cake/Routing/Dispatcher.php line 167 → Dispatcher->_invoke(NodeController, CakeRequest)
));
}
$response = $this->_invoke($controller, $request);
if (isset($request->params['return'])) {
object(NodeController) { category_cid_landingpage => array( (int) 0 => (int) 85, (int) 1 => (int) 86, (int) 2 => (int) 87 ) theme => 'Default' product_pagination_limit => (int) 15 guide_pagination_limit => (int) 100 news_pagination_limit => (int) 12 collection_pagination_limit => (int) 6 document_pagination_limit => (int) 10 hook => array( (int) 0 => 'product', (int) 1 => 'guide', (int) 2 => 'service' ) components => array( 'Session' => null, 'Flash' => null, 'Cookie' => null, 'Ccontent' => null, 'Cmodal' => null, 'Cmeta' => null, 'Capp' => null, 'Clayout' => null, 'RequestHandler' => null, 'Upload' => null, 'Paginator' => null ) uses => array( (int) 0 => 'Default.Category', (int) 1 => 'Default.Home', (int) 2 => 'Default.Node', (int) 3 => 'Default.News', (int) 4 => 'Default.Product', (int) 5 => 'Default.Guide', (int) 6 => 'Default.Service', (int) 7 => 'Default.Rate', (int) 8 => 'Default.Video', (int) 9 => 'Agency', (int) 10 => 'Filter', (int) 11 => 'Hang', (int) 12 => 'Faq', (int) 13 => 'Tag', (int) 14 => 'FilterItem', (int) 15 => 'FilterLinked', (int) 16 => 'UserPost', (int) 17 => 'Default.Customer', (int) 18 => 'CustomerBanner', (int) 19 => 'Team', (int) 20 => 'City', (int) 21 => 'District', (int) 22 => 'Order', (int) 23 => 'Size', (int) 24 => 'Page', (int) 25 => 'Element', (int) 26 => 'PageElement', (int) 27 => 'CategoryLinked' ) is_mobile => false Controller => null default_lang => 'vi' lang => 'vi' lang_array => null settings => null nodeData => array( 'Node' => array( 'id' => '372', 'title' => 'Khả năng truy cập', 'slug' => 'kha-nang-truy-cap', 'link' => null, 'type' => 'category', 'pos' => '-2', 'robots' => '1', 'views' => '0', 'lang' => null, 'lang_node_id' => null, 'created' => '1754035404', 'modified' => '1755243777', 'status' => '1' ) ) cModalName => 'Category' cActionName => 'category_list' cFlagPage => false currentCategory => array( 'Node' => array( 'id' => '372', 'title' => 'Khả năng truy cập', 'slug' => 'kha-nang-truy-cap', 'link' => null, 'type' => 'category', 'pos' => '-2', 'robots' => '1', 'views' => '0', 'lang' => null, 'lang_node_id' => null, 'created' => '1754035404', 'modified' => '1755243777', 'status' => '1' ), 'Category' => array( 'id' => '136', 'title' => 'Khả năng truy cập', 'description' => '', 'page_title' => '', 'description_page' => '<p>Mục đích của mẫu sau đây là để hỗ trợ bạn trong việc soạn thảo Tuyên bố về Khả năng Truy cập cho trang web của mình. Tuy nhiên, bạn có trách nhiệm đảm bảo rằng tuyên bố này đáp ứng được các yêu cầu pháp lý của khu vực hoặc quốc gia nơi bạn hoạt động.</p> <p>Lưu ý: Trang này hiện có hai phần. Sau khi bạn hoàn thành việc chỉnh sửa phần Tuyên bố về Khả năng Truy cập bên dưới, bạn cần xóa phần này.</p> <p>Để tìm hiểu thêm, vui lòng tham khảo bài viết “Khả năng Truy cập: Thêm Tuyên bố về Khả năng Truy cập vào Trang web của bạn”.</p> ', 'content' => '<h2 style="text-align:center"><span style="color:#227E00">Tuyên bố về Khả năng Truy cập</span></h2> <p> </p> <p><span style="color:#227E00">Tuyên bố này được cập nhật lần cuối vào [nhập ngày cập nhật].</span></p> <p><span style="color:#227E00">Tại [nhập tên tổ chức/doanh nghiệp], chúng tôi đang nỗ lực để đảm bảo trang web [nhập tên và địa chỉ website] có thể được truy cập bởi người khuyết tật.</span></p> <p> </p> <h3><span style="color:#227E00">Khả năng truy cập web là gì?</span></h3> <p><span style="color:#227E00">Một trang web có khả năng truy cập là trang cho phép người dùng khuyết tật có thể duyệt trang với mức độ dễ dàng và trải nghiệm tương tự như những người dùng khác. Điều này có thể đạt được nhờ vào các tính năng của hệ thống đang vận hành trang web và thông qua các công nghệ hỗ trợ.</span></p> <p> </p> <h3><span style="color:#227E00">Các điều chỉnh về khả năng truy cập trên trang này</span></h3> <p><span style="color:#227E00">Chúng tôi đã điều chỉnh trang web này dựa theo hướng dẫn WCAG [2.0 / 2.1 / 2.2 – chọn phiên bản phù hợp] và đã làm cho trang đạt mức độ truy cập [A / AA / AAA – chọn mức độ phù hợp]. Nội dung của trang đã được điều chỉnh để hoạt động với các công nghệ hỗ trợ, như trình đọc màn hình và thao tác bàn phím. Trong nỗ lực này, chúng tôi đã thực hiện các biện pháp sau [xóa thông tin không phù hợp]: </span></p> <ul> <li><span style="color:#227E00">Sử dụng Công cụ Hỗ trợ Truy cập để tìm và khắc phục các vấn đề có thể xảy ra</span></li> <li><span style="color:#227E00">Thiết lập ngôn ngữ cho trang web</span></li> <li><span style="color:#227E00">Thiết lập thứ tự nội dung trên các trang</span></li> <li><span style="color:#227E00">Định nghĩa cấu trúc tiêu đề rõ ràng trên tất cả các trang</span></li> <li><span style="color:#227E00">Thêm văn bản thay thế cho hình ảnh</span></li> <li><span style="color:#227E00">Áp dụng kết hợp màu sắc đáp ứng yêu cầu về độ tương phản</span></li> <li><span style="color:#227E00">Giảm thiểu việc sử dụng chuyển động trên trang</span></li> <li><span style="color:#227E00">Đảm bảo tất cả video, âm thanh và tệp tin trên trang đều có thể truy cập</span></li> </ul> <p> </p> <p> </p> <h3><span style="color:#227E00">Tuyên bố về việc tuân thủ một phần tiêu chuẩn do nội dung của bên thứ ba [chỉ thêm nếu phù hợp]</span></h3> <p><span style="color:#227E00">Khả năng truy cập của một số trang trên website này phụ thuộc vào các nội dung không thuộc sở hữu của tổ chức, mà thuộc về [nhập tên bên thứ ba liên quan]. Các trang bị ảnh hưởng bao gồm: [liệt kê URL các trang]. Vì lý do đó, chúng tôi tuyên bố rằng những trang này chỉ tuân thủ một phần theo tiêu chuẩn.</span></p> <p> </p> <h3><span style="color:#227E00">Các sắp xếp về khả năng truy cập tại tổ chức [chỉ thêm nếu phù hợp]</span></h3> <p><span style="color:#227E00">[Nhập mô tả về các sắp xếp hỗ trợ khả năng truy cập tại văn phòng hoặc chi nhánh thực tế của tổ chức/doanh nghiệp bạn. Mô tả có thể bao gồm: lối vào từ bãi đỗ xe hoặc phương tiện công cộng, bàn tiếp tân, bàn ăn, lớp học, v.v. Ngoài ra, nêu rõ các dịch vụ hỗ trợ người khuyết tật khác (nếu có), chẳng hạn như thiết bị hỗ trợ nghe, thang máy...]</span></p> <p> </p> <h3><span style="color:#227E00">Yêu cầu, phản hồi và đề xuất</span></h3> <p><span style="color:#227E00">Nếu bạn phát hiện vấn đề về khả năng truy cập trên trang web, hoặc nếu bạn cần thêm sự hỗ trợ, vui lòng liên hệ với điều phối viên phụ trách khả năng truy cập của tổ chức:</span></p> <ul> <li><span style="color:#227E00">Tên điều phối viên: [Tên người phụ trách]</span></li> <li><span style="color:#227E00">Số điện thoại: [Số điện thoại liên hệ]</span></li> <li><span style="color:#227E00">Email: [Địa chỉ email liên hệ]</span></li> <li><span style="color:#227E00">[Thêm các thông tin liên hệ khác nếu có]</span></li> </ul> ', 'node_id' => '372', 'parent_id' => null, 'link' => '', 'image' => '', 'image2' => '', 'images' => '', 'lft' => '77', 'rght' => '78', 'seo_title' => '', 'seo_keyword' => '', 'seo_description' => '', 'menu' => '0', 'sidebar' => '0', 'footer_1' => '0', 'footer_2' => '0', 'footer_3' => '0', 'footer_4' => '0', 'ctype' => 'page', 'navbar' => '0', 'dropdown' => '0', 'home_menu' => '1', 'word_count' => '4', 'template' => 'page_text', 'hang_id_list' => '', 'filter_id_list' => null, 'filter_price' => '[]', 'robots' => '1' ), '_price' => array( (int) 0 => array( [maximum depth reached] ) ), '_filter' => array(), '_hang' => array() ) currentCategoryChildren => null order_price => '' action_array => array( 'news' => 'detail', 'category' => 'list', 'product' => 'detail', 'guide' => 'detail', 'service' => 'detail', 'page' => 'detail', 'rate' => 'detail', 'video' => 'detail', 'faq' => 'detail', 'sale' => 'detail', 'tuvan' => 'detail', 'document' => 'detail', 'tiendo' => 'detail', 'collection' => 'detail' ) cBuff => array( (int) 0 => 'news', (int) 1 => 'category', (int) 2 => 'product', (int) 3 => 'guide', (int) 4 => 'service', (int) 5 => 'page', (int) 6 => 'rate', (int) 7 => 'video', (int) 8 => 'faq', (int) 9 => 'sale', (int) 10 => 'tuvan', (int) 11 => 'document', (int) 12 => 'tiendo', (int) 13 => 'collection' ) dongho_type => array( 'au' => 'Đồng hồ cơ', 'quz' => 'Đồng hồ pin' ) dongho_day => array( 'da' => 'Dây da', 'th' => 'Dây thép' ) form_dk => array( (int) 1 => 'Tư vấn kiểm tra (Trang chủ)', (int) 3 => 'Đăng ký học thử (Trang chủ)', (int) 2 => 'Tư vấn kiểm tra (Menu đăng ký học thử)', (int) 4 => 'Đăng ký học thử (Menu đăng ký học thử)', (int) 5 => 'Đăng ký tư vấn (Trang khóa học)', (int) 6 => 'Đăng ký khóa học (Landing Page)', (int) 7 => 'Đăng ký tư vấn (Landing Page)', (int) 8 => 'Kiểm tra trình độ miễn phí (Landing Page)', (int) 9 => 'Đăng ký nhận tài liệu IELTS (Lộ trình học / Tài liệu)' ) category_fields => array( 'navbar' => 'Trên cùng', 'home' => 'Top', 'menu_1' => 'Tour category', 'menu_2' => 'Mục tour trang chủ', 'footer_1' => 'Ch.trang cột 1', 'footer_2' => 'Ch.trang cột 2' ) name => 'Node' helpers => array() request => object(CakeRequest) { params => array( [maximum depth reached] ) data => array([maximum depth reached]) query => array([maximum depth reached]) url => 'kha-nang-truy-cap.html' base => '' webroot => '/' here => '/kha-nang-truy-cap.html' [protected] _detectors => array( [maximum depth reached] ) [protected] _input => '' } response => object(CakeResponse) { [protected] _statusCodes => array( [maximum depth reached] ) [protected] _mimeTypes => array( [maximum depth reached] ) [protected] _protocol => 'HTTP/1.1' [protected] _status => (int) 200 [protected] _contentType => 'text/html' [protected] _headers => array([maximum depth reached]) [protected] _body => null [protected] _file => null [protected] _fileRange => null [protected] _charset => 'UTF-8' [protected] _cacheDirectives => array([maximum depth reached]) [protected] _cookies => array([maximum depth reached]) } viewPath => 'Node' layoutPath => null viewVars => array( 'is_' => (int) 1, 'is_archive' => (int) 1, 'user' => array(), 'agencies' => array( (int) 0 => array( [maximum depth reached] ) ), 'cart_number' => (int) 0, 'referer_source' => 'Trực tiếp', 'hangs' => array( (int) 24 => array( [maximum depth reached] ), (int) 23 => array( [maximum depth reached] ), (int) 22 => array( [maximum depth reached] ), (int) 21 => array( [maximum depth reached] ), (int) 20 => array( [maximum depth reached] ) ), 'is_mobile' => (int) 0, 'form_dk' => array( (int) 1 => 'Tư vấn kiểm tra (Trang chủ)', (int) 3 => 'Đăng ký học thử (Trang chủ)', (int) 2 => 'Tư vấn kiểm tra (Menu đăng ký học thử)', (int) 4 => 'Đăng ký học thử (Menu đăng ký học thử)', (int) 5 => 'Đăng ký tư vấn (Trang khóa học)', (int) 6 => 'Đăng ký khóa học (Landing Page)', (int) 7 => 'Đăng ký tư vấn (Landing Page)', (int) 8 => 'Kiểm tra trình độ miễn phí (Landing Page)', (int) 9 => 'Đăng ký nhận tài liệu IELTS (Lộ trình học / Tài liệu)' ) ) view => 'index' layout => 'default' autoRender => true autoLayout => true Components => object(ComponentCollection) { defaultPriority => (int) 10 [protected] _Controller => object(NodeController) {} [protected] _enabled => array( [maximum depth reached] ) [protected] _loaded => array( [maximum depth reached] ) } viewClass => 'View' View => null ext => '.ctp' plugin => 'Default' cacheAction => false passedArgs => array( (int) 0 => 'kha-nang-truy-cap', (int) 1 => '.html' ) scaffold => false methods => array( (int) 1 => 'get_customized_page', (int) 2 => 'get_giaovien_rate_num', (int) 3 => 'get_chungthuc_counts', (int) 4 => 'get_featured_giaovien', (int) 5 => 'get_lanhdao', (int) 6 => 'get_hocvien_tieubieu', (int) 7 => 'buildpc', (int) 8 => 'whois', (int) 9 => 'partner', (int) 10 => 'partners', (int) 11 => 'get_tag_from_post_node_id', (int) 12 => 'get_agency', (int) 13 => 'get_city_lst', (int) 14 => 'get_cities_html', (int) 15 => 'get_cities', (int) 16 => 'get_mien', (int) 17 => 'add_subcriber', (int) 18 => 'get_cat_customize', (int) 19 => 'tucauhinh', (int) 20 => 'getdomain', (int) 21 => 'get_hangs', (int) 22 => 'upload_image', (int) 23 => 'user_change_pass', (int) 24 => 'recover', (int) 25 => 'user_account', (int) 26 => 'user_wishlist', (int) 27 => 'user_banner_list', (int) 28 => 'user_banner_delete', (int) 29 => 'user_banner_add', (int) 30 => 'user_banner_edit', (int) 31 => 'user_post_add', (int) 32 => 'user_history', (int) 33 => 'user_thanks', (int) 34 => 'user_refs', (int) 35 => 'user_dashboard', (int) 36 => 'get_customer_detail', (int) 37 => 'vote', (int) 38 => 'logout', (int) 39 => 'login', (int) 40 => 'register_ajax', (int) 41 => 'register', (int) 42 => 'videos', (int) 43 => 'request_content', (int) 44 => 'index', (int) 45 => 'index_page', (int) 46 => 'index2', (int) 47 => 'index3', (int) 48 => 'get_dailyphanphoi', (int) 49 => 'sidebar_menu', (int) 50 => 'count_items', (int) 51 => 'img', (int) 52 => 'tags', (int) 53 => 'get_bosuutap', (int) 54 => 'gallery_detail', (int) 55 => 'gallery', (int) 56 => 'search', (int) 57 => 'search_els', (int) 58 => 'comment', (int) 59 => 'get_child_comment', (int) 60 => 'send_rate_ajax', (int) 61 => 'send_rate', (int) 62 => 'addlike', (int) 63 => 'addlove', (int) 64 => 'rate_giaovien', (int) 65 => 'get_stars', (int) 66 => 'data', (int) 67 => 'get_rate_count', (int) 68 => 'get_rate', (int) 69 => 'get_comment', (int) 70 => 'get_random_nodes', (int) 71 => 'get_node_parse', (int) 72 => 'get_node', (int) 73 => 'parse_html_posts', (int) 74 => 'ajax_load_posts', (int) 75 => 'get_images', (int) 76 => 'get_product_prices', (int) 77 => 'get_product_category', (int) 78 => 'get_product_category_count', (int) 79 => 'get_dynamic_rows', (int) 80 => 'get_filters', (int) 81 => 'get_nodes', (int) 82 => 'get_khoahoc', (int) 83 => 'get_khoahoc_scr', (int) 84 => 'tatcasp', (int) 85 => 'get_giangvien', (int) 86 => 'get_category_of_node', (int) 87 => 'get_category', (int) 88 => 'ketnoi', (int) 89 => 'find_root_category', (int) 90 => 'get_cbanner', (int) 91 => 'get_child_category_of', (int) 92 => 'get_tree_category_start_from', (int) 93 => 'get_list_category', (int) 94 => 'get_videos', (int) 95 => 'create_image', (int) 96 => 'get_child_category_ajax', (int) 97 => 'check_available_ajax', (int) 98 => 'get_nodes_page', (int) 99 => 'get_nodes_city', (int) 100 => 'send_stars', (int) 101 => 'send_rate_order', (int) 102 => 'get_stars_user', (int) 103 => 'plan_search', (int) 104 => 'team_detail', (int) 105 => 'search_type', (int) 106 => 'add_wishlist', (int) 107 => 'get_tags_success', (int) 108 => 'upload_imgs', (int) 110 => 'init_data', (int) 111 => 'rate', (int) 112 => 'cuahang', (int) 113 => 'getUserIP', (int) 114 => 'support', (int) 115 => 'get_sell_off_news', (int) 116 => 'get_youtube_videos', (int) 117 => 'get_comments', (int) 118 => 'get_home_products', (int) 119 => 'get_new_products', (int) 120 => 'get_featured_products', (int) 121 => 'get_10k_products', (int) 122 => 'get_featured_news', (int) 123 => 'get_latest_news', (int) 124 => 'get_most_read', (int) 125 => 'get_lang', (int) 126 => 'get_sizes', (int) 127 => 'banners', (int) 128 => 'categories', (int) 129 => 'settings', (int) 130 => 'alert', (int) 131 => 't', (int) 132 => 'word_limiter', (int) 133 => 'removeXss', (int) 134 => 'remove_hostname', (int) 135 => 'get_teams', (int) 136 => 'get_citys', (int) 137 => 'get_node_link', (int) 138 => 'get_price_tour', (int) 139 => 'convert_wp', (int) 140 => 'get_all_post', (int) 141 => 'wp_handle', (int) 142 => 'checkImageExists', (int) 143 => 'check_news_image', (int) 144 => 'is_valid_json' ) modelClass => 'Category' modelKey => 'node' validationErrors => null Session => object(SessionComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Flash => object(FlashComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _defaultConfig => array( [maximum depth reached] ) [protected] _Collection => null [protected] _componentMap => array([maximum depth reached]) } Cookie => object(CookieComponent) { name => 'CakeCookie' time => null path => '/' domain => '' secure => false key => 'DYhG93b0qyJfIxfs2gtVoUubWovniR2G0FgyC9mi' httpOnly => false settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _values => array( [maximum depth reached] ) [protected] _type => 'cipher' [protected] _reset => null [protected] _expires => (int) 0 [protected] _response => object(CakeResponse) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Ccontent => object(CcontentComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) Controller => object(NodeController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Cmodal => object(CmodalComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) Controller => object(NodeController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Cmeta => object(CmetaComponent) { cmeta => array( [maximum depth reached] ) cmeta_robots => 'index, follow' settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Capp => object(CappComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) Controller => object(NodeController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Clayout => object(ClayoutComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } RequestHandler => object(RequestHandlerComponent) { ajaxLayout => 'ajax' enabled => true request => object(CakeRequest) {} response => object(CakeResponse) {} ext => '.html' params => array( [maximum depth reached] ) settings => array( [maximum depth reached] ) components => array([maximum depth reached]) [protected] _renderType => null [protected] _inputTypeMap => array( [maximum depth reached] ) [protected] _viewClassMap => array( [maximum depth reached] ) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Upload => object(UploadComponent) { w => (int) 0 h => (int) 0 new => array([maximum depth reached]) name => null delete => null copy => null max_char => (int) 80 watermark => (int) 0 max_img => (int) 1000 text => '' settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Paginator => object(PaginatorComponent) { settings => array( [maximum depth reached] ) whitelist => array( [maximum depth reached] ) components => array([maximum depth reached]) Controller => object(NodeController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Agency => object(AppModel) { useDbConfig => 'default' useTable => 'agencies' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'agencies' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null name => 'Agency' alias => 'Agency' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => null [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } Hang => object(AppModel) { useDbConfig => 'default' useTable => 'hangs' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'hangs' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null name => 'Hang' alias => 'Hang' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => null [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } user => array() Node => object(Node) { name => 'Node' useTable => 'nodes' useDbConfig => 'default' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'nodes' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => 'Default' alias => 'Node' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => 'all' recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) Category => object(Category) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } Category => object(Category) { name => 'Category' useTable => 'categories' actsAs => array( [maximum depth reached] ) useDbConfig => 'default' id => false data => array([maximum depth reached]) schemaName => 'thwebi_convert' table => 'categories' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => 'Default' alias => 'Category' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } [protected] _responseClass => 'CakeResponse' [protected] _mergeParent => 'AppController' [protected] _eventManager => object(CakeEventManager) { [protected] _generalManager => object(CakeEventManager) {} [protected] _listeners => array( [maximum depth reached] ) [protected] _isGlobal => false } } object(CakeRequest) { params => array( 'plugin' => 'default', 'controller' => 'node', 'action' => 'index', 'named' => array(), 'pass' => array( (int) 0 => 'kha-nang-truy-cap', (int) 1 => '.html' ), 'slug' => 'kha-nang-truy-cap', 'ext' => '.html', 'isAjax' => false, 'models' => array( 'Agency' => array( [maximum depth reached] ), 'Hang' => array( [maximum depth reached] ), 'Node' => array( [maximum depth reached] ), 'Category' => array( [maximum depth reached] ) ) ) data => array() query => array() url => 'kha-nang-truy-cap.html' base => '' webroot => '/' here => '/kha-nang-truy-cap.html' [protected] _detectors => array( 'get' => array( 'env' => 'REQUEST_METHOD', 'value' => 'GET' ), 'patch' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PATCH' ), 'post' => array( 'env' => 'REQUEST_METHOD', 'value' => 'POST' ), 'put' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PUT' ), 'delete' => array( 'env' => 'REQUEST_METHOD', 'value' => 'DELETE' ), 'head' => array( 'env' => 'REQUEST_METHOD', 'value' => 'HEAD' ), 'options' => array( 'env' => 'REQUEST_METHOD', 'value' => 'OPTIONS' ), 'ssl' => array( 'env' => 'HTTPS', 'value' => (int) 1 ), 'ajax' => array( 'env' => 'HTTP_X_REQUESTED_WITH', 'value' => 'XMLHttpRequest' ), 'flash' => array( 'env' => 'HTTP_USER_AGENT', 'pattern' => '/^(Shockwave|Adobe) Flash/' ), 'mobile' => array( 'env' => 'HTTP_USER_AGENT', 'options' => array( [maximum depth reached] ) ), 'requested' => array( 'param' => 'requested', 'value' => (int) 1 ), 'json' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'json' ), 'xml' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'xml' ) ) [protected] _input => '' }
- APP/webroot/index.php line 110 → Dispatcher->dispatch(CakeRequest, CakeResponse)
$Dispatcher->dispatch(
new CakeRequest(),
new CakeResponse()
);
object(CakeRequest) { params => array( 'plugin' => 'default', 'controller' => 'node', 'action' => 'index', 'named' => array(), 'pass' => array( (int) 0 => 'kha-nang-truy-cap', (int) 1 => '.html' ), 'slug' => 'kha-nang-truy-cap', 'ext' => '.html', 'isAjax' => false, 'models' => array( 'Agency' => array( [maximum depth reached] ), 'Hang' => array( [maximum depth reached] ), 'Node' => array( [maximum depth reached] ), 'Category' => array( [maximum depth reached] ) ) ) data => array() query => array() url => 'kha-nang-truy-cap.html' base => '' webroot => '/' here => '/kha-nang-truy-cap.html' [protected] _detectors => array( 'get' => array( 'env' => 'REQUEST_METHOD', 'value' => 'GET' ), 'patch' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PATCH' ), 'post' => array( 'env' => 'REQUEST_METHOD', 'value' => 'POST' ), 'put' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PUT' ), 'delete' => array( 'env' => 'REQUEST_METHOD', 'value' => 'DELETE' ), 'head' => array( 'env' => 'REQUEST_METHOD', 'value' => 'HEAD' ), 'options' => array( 'env' => 'REQUEST_METHOD', 'value' => 'OPTIONS' ), 'ssl' => array( 'env' => 'HTTPS', 'value' => (int) 1 ), 'ajax' => array( 'env' => 'HTTP_X_REQUESTED_WITH', 'value' => 'XMLHttpRequest' ), 'flash' => array( 'env' => 'HTTP_USER_AGENT', 'pattern' => '/^(Shockwave|Adobe) Flash/' ), 'mobile' => array( 'env' => 'HTTP_USER_AGENT', 'options' => array( [maximum depth reached] ) ), 'requested' => array( 'param' => 'requested', 'value' => (int) 1 ), 'json' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'json' ), 'xml' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'xml' ) ) [protected] _input => '' } object(CakeResponse) { [protected] _statusCodes => array( (int) 100 => 'Continue', (int) 101 => 'Switching Protocols', (int) 200 => 'OK', (int) 201 => 'Created', (int) 202 => 'Accepted', (int) 203 => 'Non-Authoritative Information', (int) 204 => 'No Content', (int) 205 => 'Reset Content', (int) 206 => 'Partial Content', (int) 300 => 'Multiple Choices', (int) 301 => 'Moved Permanently', (int) 302 => 'Found', (int) 303 => 'See Other', (int) 304 => 'Not Modified', (int) 305 => 'Use Proxy', (int) 307 => 'Temporary Redirect', (int) 400 => 'Bad Request', (int) 401 => 'Unauthorized', (int) 402 => 'Payment Required', (int) 403 => 'Forbidden', (int) 404 => 'Not Found', (int) 405 => 'Method Not Allowed', (int) 406 => 'Not Acceptable', (int) 407 => 'Proxy Authentication Required', (int) 408 => 'Request Time-out', (int) 409 => 'Conflict', (int) 410 => 'Gone', (int) 411 => 'Length Required', (int) 412 => 'Precondition Failed', (int) 413 => 'Request Entity Too Large', (int) 414 => 'Request-URI Too Large', (int) 415 => 'Unsupported Media Type', (int) 416 => 'Requested range not satisfiable', (int) 417 => 'Expectation Failed', (int) 429 => 'Too Many Requests', (int) 500 => 'Internal Server Error', (int) 501 => 'Not Implemented', (int) 502 => 'Bad Gateway', (int) 503 => 'Service Unavailable', (int) 504 => 'Gateway Time-out', (int) 505 => 'Unsupported Version' ) [protected] _mimeTypes => array( 'html' => array( (int) 0 => 'text/html', (int) 1 => '*/*' ), 'json' => 'application/json', 'xml' => array( (int) 0 => 'application/xml', (int) 1 => 'text/xml' ), 'rss' => 'application/rss+xml', 'ai' => 'application/postscript', 'bcpio' => 'application/x-bcpio', 'bin' => 'application/octet-stream', 'ccad' => 'application/clariscad', 'cdf' => 'application/x-netcdf', 'class' => 'application/octet-stream', 'cpio' => 'application/x-cpio', 'cpt' => 'application/mac-compactpro', 'csh' => 'application/x-csh', 'csv' => array( (int) 0 => 'text/csv', (int) 1 => 'application/vnd.ms-excel' ), 'dcr' => 'application/x-director', 'dir' => 'application/x-director', 'dms' => 'application/octet-stream', 'doc' => 'application/msword', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'drw' => 'application/drafting', 'dvi' => 'application/x-dvi', 'dwg' => 'application/acad', 'dxf' => 'application/dxf', 'dxr' => 'application/x-director', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'exe' => 'application/octet-stream', 'ez' => 'application/andrew-inset', 'flv' => 'video/x-flv', 'gtar' => 'application/x-gtar', 'gz' => 'application/x-gzip', 'bz2' => 'application/x-bzip', '7z' => 'application/x-7z-compressed', 'hdf' => 'application/x-hdf', 'hqx' => 'application/mac-binhex40', 'ico' => 'image/x-icon', 'ips' => 'application/x-ipscript', 'ipx' => 'application/x-ipix', 'js' => 'application/javascript', 'jsonapi' => 'application/vnd.api+json', 'latex' => 'application/x-latex', 'lha' => 'application/octet-stream', 'lsp' => 'application/x-lisp', 'lzh' => 'application/octet-stream', 'man' => 'application/x-troff-man', 'me' => 'application/x-troff-me', 'mif' => 'application/vnd.mif', 'ms' => 'application/x-troff-ms', 'nc' => 'application/x-netcdf', 'oda' => 'application/oda', 'otf' => 'font/otf', 'pdf' => 'application/pdf', 'pgn' => 'application/x-chess-pgn', 'pot' => 'application/vnd.ms-powerpoint', 'pps' => 'application/vnd.ms-powerpoint', 'ppt' => 'application/vnd.ms-powerpoint', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'ppz' => 'application/vnd.ms-powerpoint', 'pre' => 'application/x-freelance', 'prt' => 'application/pro_eng', 'ps' => 'application/postscript', 'roff' => 'application/x-troff', 'scm' => 'application/x-lotusscreencam', 'set' => 'application/set', 'sh' => 'application/x-sh', 'shar' => 'application/x-shar', 'sit' => 'application/x-stuffit', 'skd' => 'application/x-koan', 'skm' => 'application/x-koan', 'skp' => 'application/x-koan', 'skt' => 'application/x-koan', 'smi' => 'application/smil', 'smil' => 'application/smil', 'sol' => 'application/solids', 'spl' => 'application/x-futuresplash', 'src' => 'application/x-wais-source', 'step' => 'application/STEP', 'stl' => 'application/SLA', 'stp' => 'application/STEP', 'sv4cpio' => 'application/x-sv4cpio', 'sv4crc' => 'application/x-sv4crc', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', 'swf' => 'application/x-shockwave-flash', 't' => 'application/x-troff', 'tar' => 'application/x-tar', 'tcl' => 'application/x-tcl', 'tex' => 'application/x-tex', 'texi' => 'application/x-texinfo', 'texinfo' => 'application/x-texinfo', 'tr' => 'application/x-troff', 'tsp' => 'application/dsptype', 'ttc' => 'font/ttf', 'ttf' => 'font/ttf', 'unv' => 'application/i-deas', 'ustar' => 'application/x-ustar', 'vcd' => 'application/x-cdlink', 'vda' => 'application/vda', 'xlc' => 'application/vnd.ms-excel', 'xll' => 'application/vnd.ms-excel', 'xlm' => 'application/vnd.ms-excel', 'xls' => 'application/vnd.ms-excel', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlw' => 'application/vnd.ms-excel', 'zip' => 'application/zip', 'aif' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff', 'aiff' => 'audio/x-aiff', 'au' => 'audio/basic', 'kar' => 'audio/midi', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mp2' => 'audio/mpeg', 'mp3' => 'audio/mpeg', 'mpga' => 'audio/mpeg', 'ogg' => 'audio/ogg', 'oga' => 'audio/ogg', 'spx' => 'audio/ogg', 'ra' => 'audio/x-realaudio', 'ram' => 'audio/x-pn-realaudio', 'rm' => 'audio/x-pn-realaudio', 'rpm' => 'audio/x-pn-realaudio-plugin', 'snd' => 'audio/basic', 'tsi' => 'audio/TSP-audio', 'wav' => 'audio/x-wav', 'aac' => 'audio/aac', 'asc' => 'text/plain', 'c' => 'text/plain', 'cc' => 'text/plain', 'css' => 'text/css', 'etx' => 'text/x-setext', 'f' => 'text/plain', 'f90' => 'text/plain', 'h' => 'text/plain', 'hh' => 'text/plain', 'htm' => array( (int) 0 => 'text/html', (int) 1 => '*/*' ), 'ics' => 'text/calendar', 'm' => 'text/plain', 'rtf' => 'text/rtf', 'rtx' => 'text/richtext', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'tsv' => 'text/tab-separated-values', 'tpl' => 'text/template', 'txt' => 'text/plain', 'text' => 'text/plain', 'avi' => 'video/x-msvideo', 'fli' => 'video/x-fli', 'mov' => 'video/quicktime', 'movie' => 'video/x-sgi-movie', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'qt' => 'video/quicktime', 'viv' => 'video/vnd.vivo', 'vivo' => 'video/vnd.vivo', 'ogv' => 'video/ogg', 'webm' => 'video/webm', 'mp4' => 'video/mp4', 'm4v' => 'video/mp4', 'f4v' => 'video/mp4', 'f4p' => 'video/mp4', 'm4a' => 'audio/mp4', 'f4a' => 'audio/mp4', 'f4b' => 'audio/mp4', 'gif' => 'image/gif', 'ief' => 'image/ief', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpe' => 'image/jpeg', 'pbm' => 'image/x-portable-bitmap', 'pgm' => 'image/x-portable-graymap', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'ppm' => 'image/x-portable-pixmap', 'ras' => 'image/cmu-raster', 'rgb' => 'image/x-rgb', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'xbm' => 'image/x-xbitmap', 'xpm' => 'image/x-xpixmap', 'xwd' => 'image/x-xwindowdump', 'psd' => array( (int) 0 => 'application/photoshop', (int) 1 => 'application/psd', (int) 2 => 'image/psd', (int) 3 => 'image/x-photoshop', (int) 4 => 'image/photoshop', (int) 5 => 'zz-application/zz-winassoc-psd' ), 'ice' => 'x-conference/x-cooltalk', 'iges' => 'model/iges', 'igs' => 'model/iges', 'mesh' => 'model/mesh', 'msh' => 'model/mesh', 'silo' => 'model/mesh', 'vrml' => 'model/vrml', 'wrl' => 'model/vrml', 'mime' => 'www/mime', 'pdb' => 'chemical/x-pdb', 'xyz' => 'chemical/x-pdb', 'javascript' => 'application/javascript', 'form' => 'application/x-www-form-urlencoded', 'file' => 'multipart/form-data', 'xhtml' => array( (int) 0 => 'application/xhtml+xml', (int) 1 => 'application/xhtml', (int) 2 => 'text/xhtml' ), 'xhtml-mobile' => 'application/vnd.wap.xhtml+xml', 'atom' => 'application/atom+xml', 'amf' => 'application/x-amf', 'wap' => array( (int) 0 => 'text/vnd.wap.wml', (int) 1 => 'text/vnd.wap.wmlscript', (int) 2 => 'image/vnd.wap.wbmp' ), 'wml' => 'text/vnd.wap.wml', 'wmlscript' => 'text/vnd.wap.wmlscript', 'wbmp' => 'image/vnd.wap.wbmp', 'woff' => 'application/x-font-woff', 'webp' => 'image/webp', 'appcache' => 'text/cache-manifest', 'manifest' => 'text/cache-manifest', 'htc' => 'text/x-component', 'rdf' => 'application/xml', 'crx' => 'application/x-chrome-extension', 'oex' => 'application/x-opera-extension', 'xpi' => 'application/x-xpinstall', 'safariextz' => 'application/octet-stream', 'webapp' => 'application/x-web-app-manifest+json', 'vcf' => 'text/x-vcard', 'vtt' => 'text/vtt', 'mkv' => 'video/x-matroska', 'pkpass' => 'application/vnd.apple.pkpass', 'ajax' => 'text/html' ) [protected] _protocol => 'HTTP/1.1' [protected] _status => (int) 200 [protected] _contentType => 'text/html' [protected] _headers => array() [protected] _body => null [protected] _file => null [protected] _fileRange => null [protected] _charset => 'UTF-8' [protected] _cacheDirectives => array() [protected] _cookies => array() }