1

I am Using CI3.

I have a snippet of code (included below) that displays social sharing links on my site. The code is only required on certain views. The HTML code is;

<!-- Sharingbutton Facebook -->
<a class="resp-sharing-button__link" href="https://facebook.com/sharer/sharer.php?u=http://www.example.com<?php echo .$result['id'] ?>" target="_blank" aria-label="Share on Facebook">
  <div class="resp-sharing-button resp-sharing-button--facebook resp-sharing-button--large"><div aria-hidden="true" class="resp-sharing-button__icon resp-sharing-button__icon--solid">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"/></svg>
    </div>Share on Facebook</div>
</a>

<!-- Sharingbutton Twitter -->
<a class="resp-sharing-button__link" href="https://twitter.com/intent/tweet/?text=Super%20fast%20and%20easy%20Social%20Media%20Sharing%20Buttons.%20No%20JavaScript.%20No%20tracking.&amp;url=http%3A%2F%2Fsharingbuttons.io" target="_blank" aria-label="Share on Twitter">
  <div class="resp-sharing-button resp-sharing-button--twitter resp-sharing-button--large"><div aria-hidden="true" class="resp-sharing-button__icon resp-sharing-button__icon--solid">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.44 4.83c-.8.37-1.5.38-2.22.02.93-.56.98-.96 1.32-2.02-.88.52-1.86.9-2.9 1.1-.82-.88-2-1.43-3.3-1.43-2.5 0-4.55 2.04-4.55 4.54 0 .36.03.7.1 1.04-3.77-.2-7.12-2-9.36-4.75-.4.67-.6 1.45-.6 2.3 0 1.56.8 2.95 2 3.77-.74-.03-1.44-.23-2.05-.57v.06c0 2.2 1.56 4.03 3.64 4.44-.67.2-1.37.2-2.06.08.58 1.8 2.26 3.12 4.25 3.16C5.78 18.1 3.37 18.74 1 18.46c2 1.3 4.4 2.04 6.97 2.04 8.35 0 12.92-6.92 12.92-12.93 0-.2 0-.4-.02-.6.9-.63 1.96-1.22 2.56-2.14z"/></svg>
    </div>Share on Twitter</div>
</a>

Rather than copy/paste this code snippet on each of my views, I thought I could create a helper function and include this on the page where I want to display the code snippet - Is this possible?

So my view would look something like;

// some html here
<?php social_share_links_helper() ?>
// more html here

I have created an empty file at helpers/social_share_links_helper.php and in my controller I have included $this->load->helper('social_share_links');

I'm not sure what to do next in order to echo the html in the social_share_links_helper() helper?

Maybe there is a more efficient way of doing this?

Any advice is appreciated.

1
  • did you consider, creating an own social-sharing.php view in your views folder and just load it via $this->load->view('social-sharing'); in those views, where you need it ? Commented Jun 27, 2018 at 13:25

1 Answer 1

1

Yes you can do with the help of helper you created further you can do like this :

Just create a function name social_share_links in your social_share_links_helper.php

function social_share_links()
{
    /*Just replace your anchor here with yours */
    $social_links = '<a class="resp-sharing-button__link" href="https://facebook.com/sharer/sharer.php?u=http://www.example.com/'.$result['id'].' target="_blank" aria-label="Share on Facebook">
                    <div class="resp-sharing-button resp-sharing-button--facebook resp-sharing-button--large">
                        <div aria-hidden="true" class="resp-sharing-button__icon resp-sharing-button__icon--solid">
                              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                                  <path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"/>
                              </svg>
                        </div>Share on Facebook
                    </div>
                  </a>';

   /*Other link here*/
   $social_links .= '<a href=""></a>';

   echo $social_links;
}

In your view use social_share_links method like this :

<div class="row">
   <?php social_share_links();?>
</div>
Sign up to request clarification or add additional context in comments.

2 Comments

Ok i updated my answer with your variable name there in the link add other link just like it
if my answer helps you pls accept it as an answer also

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.