Відгуки з freelancehunt на сайт ModX revo
Блог Фрилансера
11 квіт. 2018 р.
freelancehunt це Біржа Фрілансерів і у Сайту є Api що дає нам можливість отримувати інформацію про ваш профіль. Відгуки, портфоліо. Сьогодні я покажу як отримати відгуки та вивести їх у себе на сайті MODx revo.
Для роботи з Аpі потрібен Сurl. Він є на всіх платних хостингах. Але іноді його потрібно включити. Як це зробити залежить вже від панелі керування хостингом.Але думаю ви знайдете.
І так почнемо.
Для початку нам потрібно отримати ключ і токен, за якими ми будемо підключатися до сайту Фріланса. Для цього топаємо в налаштування вашого профілю фрілансера. Розділ Програми та APIр>
Далі буде код Сніпета в ньому все зрозуміло.
$tpl = $modx->getOption('tpl', $scriptProperties, 'FileItemTpl'); $api_token = 'xxxxxxxxxxxxxxxxx'; $api_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; function signsa($api_secret, $url, $method, $post_params = '') { return base64_encode(hash_hmac("sha256", $url.$method.$post_params, $api_secret, true)); } $url = "https://api.freelancehunt.com/profiles/Pechenki_PSD?include=reviews"; $method = "GET"; $signature = signsa($api_secret, $url, $method); // реалізацію функції дивіться вище $ curl = curl_init (); curl_setopt_array($curl, [ //CURLOPT_HEADER => 1, // дозволяє переглянути заголовки відповіді сервера за необхідності налагодження CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERPWD => $api_token. ":". $signature, CURLOPT_URL => $url ]); $ reviers = curl_exec ($ curl); $ rev = json_decode ($ reviers, true); curl_close ($ curl); $list = array(); // Початок роботи for ($i = 0; $i < count($rev['reviews']); $i++) { $itemArr['url'] = $rev['reviews'][$i]['project']['url']; $itemArr['name'] = $rev['reviews'][$i]['project']['name']; $itemArr['budget_amount'] = $rev['reviews'][$i]['project']['budget_amount']; $itemArr['budget_currency_code'] = $rev['reviews'][$i]['project']['budget_currency_code']; $itemArr['review_comment'] = $rev['reviews'][$i]['review_comment']; $itemArr['from_avatar'] = $rev['reviews'][$i]['from']['avatar']; $itemArr['from_fname'] = $rev['reviews'][$i]['from']['fname']; $itemArr['from_url'] = $rev['reviews'][$i]['from']['url']; $list[] = $modx->getChunk($tpl, $itemArr); } unset($i); $output = implode($outputSeparator, $list); if (!empty($toPlaceholder)) { $modx->setPlaceholder($toPlaceholder, $output); return ''; } return $output;Далі створюємо чанк для відображення вмісту відгуків. Викликаємо як звичайний сніпет modx
[[rewies? &tpl=`FrelanceRews` ]]
Список змінних для виведення шаблону
[[+url]] | url проекту |
[[+name]] | назва проекту |
[[+budget_amount]] | ціна проекту |
[[+budget_currency_code]] | код валюти |
[[+review_comment]] | коментар відгуку |
[[+from_fname]] | ім'я автора коментаря |
[[+from_avatar]] | фото автора коментаря |
[[+from_url]] | url автора коментаря |
Приклад роботи можна переглянути на головній сторінці