{"id":26456,"date":"2018-11-01T19:36:00","date_gmt":"2018-11-01T18:36:00","guid":{"rendered":"https:\/\/examinare.ecommerce.theonlykroon.com\/?p=26456"},"modified":"2018-11-01T19:36:00","modified_gmt":"2018-11-01T18:36:00","slug":"how-to-use-surveys-in-cakephp-with-very-little-development","status":"publish","type":"post","link":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/news\/how-to-use-surveys-in-cakephp-with-very-little-development\/","title":{"rendered":"C\u00e1ch s\u1eed d\u1ee5ng kh\u1ea3o s\u00e1t trong CakePHP v\u1edbi \u00edt c\u00f4ng vi\u1ec7c ph\u00e1t tri\u1ec3n."},"content":{"rendered":"<h2>C\u00e1ch s\u1eed d\u1ee5ng kh\u1ea3o s\u00e1t trong CakePHP v\u1edbi \u00edt th\u1eddi gian ph\u00e1t tri\u1ec3n.<\/h2>\n<p>CakePHP l\u00e0 m\u1ed9t trong nh\u1eefng framework PHP \u01b0u \u0111\u00e3i nh\u1ea5t v\u00e0 ch\u00fang t\u00f4i hi\u1ec3u r\u1eb1ng c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n PHP mu\u1ed1n \u0111\u01b0\u1ee3c cho ph\u00e9p m\u1edf r\u1ed9ng n\u00f3 \u0111\u1ec3 s\u1eed d\u1ee5ng Survey. Trong b\u00e0i vi\u1ebft n\u00e0y, ch\u00fang t\u00f4i s\u1ebd \u0111i qua c\u00e1ch s\u1eed d\u1ee5ng CakePHP v\u00e0 Surveys theo c\u00e1ch m\u00e0 b\u1ea1n c\u00f3 th\u1ec3 t\u1ef1 \u0111\u1ed9ng cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng tr\u1ea3 l\u1eddi c\u00e1c cu\u1ed9c kh\u1ea3o s\u00e1t t\u1eeb t\u00e0i kho\u1ea3n Examinare c\u1ee7a b\u1ea1n. T\u1ea5t nhi\u00ean, m\u1ed9t s\u1ed1 b\u01b0\u1edbc c\u00f3 th\u1ec3 kh\u00e1c v\u1edbi nh\u1eefng g\u00ec b\u1ea1n mu\u1ed1n trong \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n. Ch\u00fang t\u00f4i \u1edf \u0111\u00e2y \u0111\u1ec3 gi\u00fap \u0111\u1ee1, t\u1ea5t nhi\u00ean, ch\u1ec9 c\u1ea7n g\u1eedi email cho<a href=\"mailto:support@examinare.com\">support@examinare.com<\/a>V\u00e0 ch\u00fang t\u00f4i s\u1ebd gi\u00fap anh tr\u00ean con \u0111\u01b0\u1eddng \u0111\u00f3.<\/p>\n<p>Ch\u00fang t\u00f4i cho r\u1eb1ng b\u1ea1n \u0111\u00e3 c\u00e0i \u0111\u1eb7t m\u1ed9t<a href=\"http:\/\/book.cakephp.org\/2.0\/en\/installation.html\">CakePHP m\u00f4i tr\u01b0\u1eddng<\/a>v\u00e0 c\u00f3 m\u1ed9t v\u00e0i k\u1ef9 n\u0103ng l\u1eadp tr\u00ecnh PHP. N\u1ebfu kh\u00f4ng th\u00ec ch\u00fang t\u00f4i c\u00f3 th\u1ec3 gi\u00fap b\u1ea1n v\u1edbi c\u00e1c d\u1ef1 \u00e1n t\u00f9y ch\u1ec9nh. H\u00e3y h\u1ecfi t\u00f4i m\u1ed9t c\u00e2u h\u1ecfi.<a href=\"mailto:support@examinare.com\">support@examinare.com<\/a><\/p>\n<h2><strong>B\u01b0\u1edbc 1:<\/strong>T\u1ea1o m\u1ed9t t\u00e0i kho\u1ea3n Examinare m\u1edbi ho\u1eb7c m\u1ed9t t\u00e0i kho\u1ea3n ph\u00e1t tri\u1ec3n v\u00e0 k\u00edch ho\u1ea1t c\u00e1c ch\u1ee9c n\u0103ng API.<\/h2>\n<p>Trong t\u00e0i kho\u1ea3n Examinare c\u1ee7a b\u1ea1n, b\u1ea1n c\u1ea7n k\u00edch ho\u1ea1t ch\u1ee9c n\u0103ng API trong Settings -&gt; Advanced Settings. Sau \u0111\u00f3 b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c gi\u1edbi thi\u1ec7u v\u1edbi m\u1ed9t API Key v\u00e0 m\u1ed9t CompanyID. C\u1ee9 \u0111\u1ec3 sau \u0111i. N\u1ebfu b\u1ea1n th\u00edch s\u1eed d\u1ee5ng m\u1ed9t kh\u00e1c \u0111\u1ec3 s\u1eed d\u1ee5ng m\u1ed9t ch\u00eca kh\u00f3a API \u0111\u1eb7c bi\u1ec7t cho gi\u1ea3i ph\u00e1p n\u00e0y, h\u00e3y xem ch\u1ee9c n\u0103ng ch\u00eca kh\u00f3a API di \u0111\u1ed9ng c\u1ee7a ch\u00fang t\u00f4i.<\/p>\n<h2><strong>B\u01b0\u1edbc 2:<\/strong>X\u00e2y d\u1ef1ng Survey c\u1ee7a b\u1ea1n b\u00ean trong Examinare.<\/h2>\n<p>X\u00e2y d\u1ef1ng cu\u1ed9c kh\u1ea3o s\u00e1t c\u1ee7a b\u1ea1n b\u00ean trong Examinare platform. H\u00e3y ch\u1eafc ch\u1eafn l\u00e0 anh s\u1ebd tri\u1ec3n khai nh\u01b0 m\u1ed9t cu\u1ed9c kh\u1ea3o s\u00e1t ri\u00eang t\u01b0.<\/p>\n<h2><strong>B\u01b0\u1edbc 3:<\/strong>T\u1ea1o m\u1ed9t m\u1eabu \u0111\u0103ng k\u00fd.<\/h2>\n<p>Ch\u00fang ta b\u1eaft \u0111\u1ea7u b\u1eb1ng c\u00e1ch t\u1ea1o ra m\u1ed9t h\u00ecnh th\u1ee9c m\u1edbi cho \u0111i\u1ec1u n\u00e0y. Trong m\u1eabu \u0111\u00f3, ch\u00fang t\u00f4i s\u1ebd th\u00eam t\u00ean v\u00e0 email c\u1ee7a ng\u01b0\u1eddi s\u1ebd nh\u1eadn cu\u1ed9c kh\u1ea3o s\u00e1t.<\/p>\n<p>V\u1eady ch\u00fang ta b\u1eaft \u0111\u1ea7u v\u1edbi m\u00e3 n\u00e0y:<\/p>\n<p>[CodeSample file=&#8221;article_cakephp1&#8243;]<\/p>\n<p>Ch\u00fang ta c\u00f3 th\u1ec3 b\u1ecf qua b\u01b0\u1edbc n\u00e0y n\u1ebfu b\u1ea1n \u0111\u00e3 cho ph\u00e9p ng\u01b0\u1eddi \u0111\u00e3 \u0111\u0103ng nh\u1eadp. \u0110\u1ec3 l\u1ea5y l\u1ea1i th\u00f4ng tin \u0111\u00f3 ph\u1ee5 thu\u1ed9c v\u00e0o m\u00f4i tr\u01b0\u1eddng CakePHP c\u1ee7a b\u1ea1n.<\/p>\n<p>V\u00ec v\u1eady khi m\u1eabu n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o ra ch\u00fang ta c\u0169ng c\u1ea7n ph\u1ea3i b\u1eaft \u0111\u01b0\u1ee3c c\u00e1c chi ti\u1ebft v\u00e0 t\u1ea1o ra ng\u01b0\u1eddi nh\u1eadn v\u00e0 chuy\u1ec3n h\u01b0\u1edbng ng\u01b0\u1eddi \u0111\u00f3 \u0111\u1ebfn m\u1eabu.<\/p>\n<p>V\u1eady h\u00e3y th\u00eam c\u00e1i n\u00e0y v\u00e0o b\u1ed9 \u0111i\u1ec1u khi\u1ec3n c\u1ee7a anh:<\/p>\n<p>[CodeSample file=&#8221;article_cakephp2&#8243;]<\/p>\n<p>M\u00e3 tr\u00ean s\u1ebd s\u1eed d\u1ee5ng c\u00e1c ch\u1ee9c n\u0103ng 3 b\u00ean trong API Examinare \u0111\u1ec3 t\u1ea1o m\u1ed9t ng\u01b0\u1eddi nh\u1eadn, l\u00e0m cho ng\u01b0\u1eddi nh\u1eadn chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn cu\u1ed9c kh\u1ea3o s\u00e1t. T\u1ea5t nhi\u00ean b\u1ea1n c\u1ea7n ph\u1ea3i c\u00f3 ID cho cu\u1ed9c kh\u1ea3o s\u00e1t m\u00e0 b\u1ea1n \u0111\u00e3 t\u1ea1o tr\u01b0\u1edbc \u0111\u00f3 trong Examinare. Survey c\u1ea7n \u0111\u01b0\u1ee3c tri\u1ec3n khai nh\u01b0 m\u1ed9t Survey ri\u00eang \u0111\u1ec3 tr\u1ea3 l\u1ea1i API ch\u00ednh x\u00e1c.<\/p>\n<h2><strong>B\u01b0\u1edbc 4:<\/strong>T\u1ea1o m\u1ed9t trang c\u1ea3m \u01a1n t\u00f9y ch\u1ec9nh b\u00ean trong CakePHP (c\u00f3 th\u1ec3).<\/h2>\n<p>N\u1ebfu b\u1ea1n mu\u1ed1n t\u1ea1o m\u1ed9t trang c\u1ea3m \u01a1n t\u00f9y ch\u1ec9nh b\u00ean trong CakePHP c\u1ee7a b\u1ea1n v\u00e0 c\u0169ng ph\u00e2n t\u00edch d\u1eef li\u1ec7u t\u1eeb cu\u1ed9c kh\u1ea3o s\u00e1t th\u00ec \u0111i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n b\u00ean trong cu\u1ed9c g\u1ecdi cu\u1ed1i c\u00f9ng. S\u1eeda \u0111\u1ed5i<\/p>\n<p><em>header(\u201cLocation: \u201d. $urltoredirect);exit();<\/em><\/p>\n<p>V\u00e0 th\u00eam m\u00e3 sau \u0111\u1ec3 chuy\u1ec3n h\u01b0\u1edbng<\/p>\n<p><em>header(\u201cLocation: \u201d. $urltoredirect.\u201d&amp;redirect_url=\u201d.encode_url(\u201cYOUR REDIRECT URL\u201d));exit();<\/em><\/p>\n<p>\u0110i\u1ec1u n\u00e0y s\u1ebd chuy\u1ec3n ng\u01b0\u1eddi nh\u1eadn sau khi ho\u00e0n th\u00e0nh \u0111\u1ebfn m\u1ed9t trang c\u1ea3m \u01a1n. C\u0169ng trong URL \u0111\u00f3 c\u00f3 m\u1ed9t c\u00e1ch \u0111\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c ContactID v\u00e0 Inforreg \u0111\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c d\u1eef li\u1ec7u. Xem m\u00e3 v\u00ed d\u1ee5 b\u00ean trong Zendesk Article \u1edf \u0111\u00e2y \u0111\u1ec3 xem c\u00e1ch b\u1eaft \u0111\u01b0\u1ee3c nh\u1eefng chi ti\u1ebft n\u00e0y. Sau \u0111\u00f3 anh c\u00f3 th\u1ec3 x\u1eed l\u00fd n\u00f3 nh\u01b0 anh mu\u1ed1n.<\/p>\n<p>C\u0169ng ki\u1ec3m tra c\u00e1c cu\u1ed9c g\u1ecdi API sau \u0111\u1ec3 tham kh\u1ea3o:<\/p>\n<p><a href=\"https:\/\/www.examinare.io\/apidocs\/addrecipient\/\">https:\/\/www.examinare.io\/apidocs\/addrecipient\/<\/a><\/p>\n<p><a href=\"https:\/\/www.examinare.io\/apidocs\/markrecipientstosurvey\/\">https:\/\/www.examinare.io\/apidocs\/markrecipientstosurvey\/<\/a><\/p>\n<p><a href=\"https:\/\/www.examinare.io\/apidocs\/listsurveysbyuser\/\">https:\/\/www.examinare.io\/apidocs\/listsurveysbyuser\/<\/a><\/p>\n<p>C\u0169ng \u0111\u1ea3m b\u1ea3o b\u1ea1n t\u1ea3i v\u1ec1 th\u01b0 vi\u1ec7n PHP Wrapper.<\/p>\n<p><a href=\"https:\/\/www.examinare.io\/php-wrapper-library\/\">https:\/\/www.examinare.io\/php-wrapper-library\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>C\u00e1ch s\u1eed d\u1ee5ng kh\u1ea3o s\u00e1t trong CakePHP v\u1edbi \u00edt th\u1eddi gian ph\u00e1t tri\u1ec3n. CakePHP l\u00e0 m\u1ed9t trong nh\u1eefng framework PHP \u01b0u \u0111\u00e3i nh\u1ea5t v\u00e0 ch\u00fang t\u00f4i hi\u1ec3u r\u1eb1ng c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n\u2026<\/p>\n","protected":false},"author":0,"featured_media":9603,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-26456","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry"],"acf":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/examinare.ecommerce.theonlykroon.com\/wp-content\/uploads\/sites\/5\/2026\/10\/news-1101.webp","_links":{"self":[{"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/posts\/26456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/comments?post=26456"}],"version-history":[{"count":2,"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/posts\/26456\/revisions"}],"predecessor-version":[{"id":26490,"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/posts\/26456\/revisions\/26490"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/media\/9603"}],"wp:attachment":[{"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/media?parent=26456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/categories?post=26456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examinare.ecommerce.theonlykroon.com\/vi\/wp-json\/wp\/v2\/tags?post=26456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}