Помощники Codeigniter повторяют фрагмент кода HTML - PullRequest
0 голосов
/ 27 июня 2018

Я использую CI3.

У меня есть фрагмент кода (приведен ниже), который отображает ссылки на социальные сети на моем сайте. Код требуется только для определенных представлений. HTML-код:

<!-- 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>

Вместо того, чтобы копировать / вставлять этот фрагмент кода в каждое из моих представлений, я подумал, что мог бы создать вспомогательную функцию и включить ее на страницу, где я хочу отобразить фрагмент кода - возможно ли это?

Так что мой взгляд будет выглядеть примерно так:

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

Я создал пустой файл на helpers/social_share_links_helper.php и в своем контроллере я включил $this->load->helper('social_share_links');

Я не уверен, что делать дальше, чтобы echo html в social_share_links_helper() помощнике?

Может быть, есть более эффективный способ сделать это?

Любой совет приветствуется.

1 Ответ

0 голосов
/ 27 июня 2018

Да, вы можете сделать с помощью помощника, которого вы создали, вы можете сделать это так:

Просто создайте имя функции social_share_links в вашем 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;
}

На ваш взгляд, используйте social_share_links метод, подобный этому:

<div class="row">
   <?php social_share_links();?>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...