Codeigniter 助手重复 HTML 代码片段

Posted

技术标签:

【中文标题】Codeigniter 助手重复 HTML 代码片段【英文标题】:Codeigniter Helpers Repeat HTML Code Snippet 【发布时间】:2018-12-06 07:20:02 【问题描述】:

我正在使用 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>

与其在我的每个视图上复制/粘贴这段代码 sn-p,我想我可以创建一个辅助函数并将其包含在我想要显示代码 sn-p 的页面上 - 这可能吗?

所以我的观点看起来像;

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

我在helpers/social_share_links_helper.php 创建了一个空文件,并在我的控制器中包含了$this-&gt;load-&gt;helper('social_share_links');

我不确定接下来要做什么才能echo social_share_links_helper() 助手中的 html?

也许有更有效的方法来做到这一点?

感谢任何建议。

【问题讨论】:

您是否考虑过,在您的views 文件夹中创建一个自己的social-sharing.php 视图,然后通过$this-&gt;load-&gt;view('social-sharing'); 在您需要它的那些视图中加载它? 【参考方案1】:

是的,您可以在您进一步创建的助手的帮助下这样做,您可以这样做:

只需在 social_share_links_helper.php 中创建一个函数名称 social_share_links

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>

【讨论】:

好的,我在链接中用你的变量名更新了我的答案,添加其他链接,就像它一样 如果我的回答对您有帮助,请也接受它作为答案

以上是关于Codeigniter 助手重复 HTML 代码片段的主要内容,如果未能解决你的问题,请参考以下文章

如何在每个页面中加载 CodeIgniter 助手?

PHP Codeigniter 数据库助手类“未使用表”

我如何从 Codeigniter 中的助手调用助手?

CodeIgniter的资产助手

PHP CodeIgniter的资产助手

CodeIgniter的Google分析助手