Press ESC to close

Oğuzhan KayarOğuzhan Kayar Eğitim, Teknoloji ve Diğer Herşey

Moodle CustomCert Eklentisine Linkedin’de Paylaş Butonu Nasıl Ekledim?

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/

Makale içeriği
Linkedin AddProfile Parametre Şeması

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);
    }
Makale içeriği
Sertifikayı LinkedIn’e Ekle butonumuz.
Makale içeriği
Tüm bunlardan sonra
Makale içeriği
Lisanslar ve sertifikalar içerisine eklenmiş hali

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

Bu site istenmeyenleri azaltmak için Akismet kullanır. Yorum verilerinizin nasıl işlendiğini öğrenin.