Відгуки з 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 автора коментаря |
Приклад роботи можна переглянути на головній сторінці