
Bir müşterime yapmış olduğum eklentiden sizlere bahsetmek istiyorum. Problem durumumuz şu: “Moodle içerisinde CustomCert eklentisi kurup kişilerin sertifika ve belge ihtiyaçlarını karşılayabiliyorum. Evet, ama bu belgeleri Linkedin üzerinden paylaşmasını nasıl sağlayabilirim?”
Linkedin Paylaşım Bağlantı Yapısı Hakkında
Linkedin sağolsun bu konu ile ilgili çok güzel bir dokümantasyon hazırlamış. İlk önce bunu bulmak ve hangi parametreleri nereye koyacağımı bulmakla uğraştım. Uğraşı dediğime bakmayın sadece 1-2 dk yetti bile.
Bkz: https://addtoprofile.linkedin.com/
Tüm bu yukarıda bulunan parametreleri GET parametresi olarak belirtmeniz durumunda tek tıkla profilinize sertifikayı ekleyebiliyorsunuz.
Moodle CustomCert Eklentisini İncelemek
CustomCert, sertifikaları görüntüleme, doğrulama üzerine profesyonelleşmiş ve Moodle yöneticilerinin olmazsa olmaz eklentileri arasında. Merak edenler için https://moodle.org/plugins/mod_customcert adresinden ilgili eklentiye ulaşabilir, sizlere uygun olan Moodle sürümü için eklentiyi indirebilirsiniz.
/mod/customcert/view.php dosyasını incelediğimde 147. satırda şu şekilde bir ibareye denk geldim.
// Create the button to download the customcert.
$downloadbutton = '';
Sertifika edindiğimiz sayfada bir Download butonu yer alıyordu ve doğru yerde olduğumu anladım.
// Create the button to download the customcert.
$downloadbutton = '';
if ($canreceive) {
$linkname = get_string('getcustomcert', 'customcert');
$link = new moodle_url('/mod/customcert/view.php', ['id' => $cm->id, 'downloadown' => true]);
$downloadbutton = new single_button($link, $linkname, 'get', single_button::BUTTON_PRIMARY);
$downloadbutton->class .= ' m-b-1'; // Seems a bit hackish, ahem.
$downloadbutton = $OUTPUT->render($downloadbutton);
}
Bu kodda bazı düzenlemeler yapmaya karar verdim ve sonuç…
// Create the button to download the customcert.
$downloadbutton = '';
$linkedinbutton = '';
if ($canreceive) {
$linkname = get_string('getcustomcert', 'customcert');
$link = new moodle_url('/mod/customcert/view.php', ['id' => $cm->id, 'downloadown' => true]);
$downloadbutton = new single_button($link, $linkname, 'get', true);
$downloadbutton->class .= ' m-b-1'; // Seems a bit hackish, ahem.
$downloadbutton = $OUTPUT->render($downloadbutton);
// LinkedIn
$linkedin_issues = $DB->get_records('customcert_issues', ['userid' => $USER->id, 'customcertid' => $customcert->id]);
$linkedin_issue = reset($linkedin_issues);
// Parametreleri bir dizi olarak tanımlayın
$linkedin_params = [
'startTask' => 'CERTIFICATION_NAME',
'name' => $course->fullname." | Webtech Bilişim",
'organizationId' => 'IDniz',
'issueYear' => date("Y", $issue->timecreated),
'issueMonth' => date("m", $issue->timecreated),
'certUrl' => new moodle_url('/mod/customcert/verify_certificate.php?code='.$linkedin_issue->code),
'certId' => $linkedin_issue->code
];
// moodle_url nesnesi oluşturun
$linkedin_url = new moodle_url('https://www.linkedin.com/profile/add', $linkedin_params);
$linkedinbutton = new single_button($linkedin_url, "Sertifikayı LinkedIn'e Ekle", 'get');
$linkedinbutton->class .= ' m-b-1'; // Seems a bit hackish, ahem.
$linkedinbutton = $OUTPUT->render($linkedinbutton);
}
Umarım bu teknik makale sizler için ilham verici olmuştur. Anlamadığınız veya sorularınız için oguzhan@webtechbilisim.com.tr mail adresinden bizzat benimle iletişime geçebilirsiniz.
Sağlıcakla kalın!


Bir Cevap Yazın